美文网首页Android
计算机图形——OpenGL

计算机图形——OpenGL

作者: 落单的毛毛虫 | 来源:发表于2019-02-02 16:13 被阅读410次

荒废了太久,趁着“寒假”死磕了两周,验证了不少想法,解开了不少疑惑,代码质量当然是没有的,一切只为看到结果。

有空了再写每一项的细节。

源码地址

2019/3/6 更新

优化了光源,阴影以及我自己做了一个模型emm...

当我打开3DMax的时候,时间拉回到大约7年前,这是我上一次打开3DMax的时间,当时我在学校机房进行3DMax期末考试,一顿操作猛如虎,定睛一看,一片糊,于是我默默的双击了桌面的CS图标。时间拉回来,我把刚装好的3DMax卸载了,一顿操作行云流水。

demo.gif

2019/2/26 更新

HDR

未开启HDR,亮度超出范围,色彩丢失

hdr_未开启.png hdr_未开启_近距离.png

开启HDR,整体亮度变暗

hdr_16.png hdr_16_近距离.png

法线贴图

应用法线贴图前

法线贴图_无贴图.png 法线贴图_无贴图.gif

应用法线贴图后

法线贴图_有贴图.png 法线贴图_有贴图.gif

视差贴图

原图

墙壁.jpg 深度贴图.jpg 法线贴图.jpg

仅有法线贴图,没有视差贴图

视差贴图_无贴图.png 视差贴图_无贴图.gif

应用视差贴图后

视差贴图_有贴图.png 视差贴图_有贴图.gif

泛光

关闭泛光渲染

泛光_无.png
亮度贴图
泛光_发光贴图.png 泛光_最终效果.png 泛光_最终效果.gif

2019/2/2 更新

标准光照模型

环境光.png 漫反射.png 镜面反射.png 标准光照.png

带贴图

环境光 (贴图).png 环境光+漫反射 (贴图).png 环境光 + 漫反射 + 镜面反射 (贴图).png 渲染纳米机器人.png 纳米机器人(动图).gif

多纹理

双纹理混合

10个箱子.png

放射光贴图

放射光贴图.png

光源

方向光.png 点光源.png 聚光灯.png 多光源.png

描边

描边1.png 描边2.png

天空盒子

反射

天空盒子_反射环境.png 天空盒子_反射(机器人).png

折射

天空盒子_折射.png 天空盒子_折射(动态 机器人).gif 天空盒子_折射(动态).gif

没有反射贴图

天空盒子_机器人 无反射.png 天空盒子_机器人2.png

加入反射贴图

天空盒子_机器人(反射贴图).png 天空盒子_机器人(反射贴图)2.png

渲染实例化数组

1秒6千个模型渲染

实例化数组_1000.png

1秒12万个模型渲染

实例化数组_20000.png 实例化数组.png

后期处理

离屏渲染_正常.png 离屏渲染_灰度.png 离屏渲染_反色.png 离屏渲染_边缘检测.png 离屏渲染_核.png 离屏渲染_模糊.png

几何着色器

膨胀模型

几何着色器_顶点爆炸.png

显示法线

几何着色器_渲染法线.png

不透,全透,半透贴图渲染

没有忽略草丛贴图空白区域

箱子,草,窗.png

渲染顺序错误

箱子,窗,草.png

正确渲染

箱子,草,窗.png

多相机渲染

多相机渲染.png

方向光阴影(阴影映射)

256分辨率阴影贴图未平滑

阴影_方向光(未平滑锯齿) 256深度贴图锯齿.png

平滑后

阴影_方向光(平滑锯齿) 256深度贴图锯齿.png

512分辨率阴影贴图未平滑

阴影_方向光(未平滑锯齿) 512深度贴图锯齿.png

平滑后

阴影_方向光(平滑锯齿) 512深度贴图锯齿.png

1024分辨率阴影贴图未平滑

阴影_方向光(未平滑锯齿) 1024深度贴图锯齿.png

平滑后

阴影_方向光(平滑锯齿) 1024深度贴图锯齿.png

动态光源

阴影_方向光_动态光源.gif

两个方向光源

阴影_方向光x2.png

阴影贴图

阴影贴图.png

聚光灯阴影(阴影映射)

阴影_两个聚光灯.png 阴影_聚光灯.gif

点光源阴影(点阴影)

阴影_点阴影.png 阴影_点阴影.gif

阴影立方体贴图

阴影_点阴影(深度贴图).png

相关文章

  • webgl 1.开始

    是先学习计算机图形学还是先学习 OpenGL ?我建议先熟悉 OpenGL, 大体了解图形学编程。计算机图形学偏底...

  • OpenGL学习资料和记录

    学习资料 OpenGL: LearnOpenGL[https://learnopengl.com/] 计算机图形/...

  • 初入OpenGL--专有名词

    一、图形API种类 1、OpenGL OpenGL 是⼀个跨编程语⾔、跨平台的编程图形程序接⼝,它将计算机的资源抽...

  • OpenGL学习(二)一些名词解析

    1. OpenGL & OpenGL ES OpenGL是一个跨编程语言、跨平台的编程图形程序接口,它将计算机的资...

  • OpenGL学习历程二:GLSL

    OpenGL Shading Language 流水线概览 来源:GLSL教程-图形流水线,计算机图形学基础知识-...

  • OPENGL

    随笔分类 - 计算机图形学基础(OpenGL版) OpenGL版 实验0 安装GLUT包及工程的创建与运行 摘要:...

  • 计算机图形——OpenGL

    荒废了太久,趁着“寒假”死磕了两周,验证了不少想法,解开了不少疑惑,代码质量当然是没有的,一切只为看到结果。 有空...

  • 向MFC嵌入OpenGL

    搬运自CSDN博客:向MFC嵌入OpenGL 本人上计算机图形学课时要做的大作业是基于MFC框架用OpenGL实现...

  • 图形渲染管线

    通过阅读本文,你将知道: 图形渲染的基本过程是怎样的? 计算机图形学视角下的图形渲染管线是怎样的? OpenGL视...

  • OpenGL学习笔记一

    OpenGL 简介 OpenGL 发展⾄至今,已经有20余年,作为一个成熟并久负盛名的跨平台计算机图形应⽤用程序接...

网友评论

    本文标题:计算机图形——OpenGL

    本文链接:https://www.haomeiwen.com/subject/wzpssqtx.html