Android

计算机图形——OpenGL

2019-02-02  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读