这里的所有东西都是几何学和着色器,没有导入的网格或纹理。所有的内容都是在我正在编写的自定义C++引擎中生成的,使用的是OpenGL 4.1核心,主要是在Mac上开发。

快速背景:为了给上下文一些信息,我在图形领域工作了大约十年,第一份工作是使用DirectX 9,但这是我第一次独自开发一个完整的引擎,仅仅是C++和OpenGL。

整个场景的外观是一个软色调玩具迷你场景。当前的通道栈如下:

- 阴影贴图通道

- 天空(基于时间的天气效果,驱动着日晷灯光)

- 场景的线条/漫画灯光,软色调轮廓,边缘光,plus 每种材质的表面 fresnel 项用于糖果道具

- SSAO

- 闪烁

- 神光线

- 后期处理/DOF

- 颜色校色, lift +饱和度根据时间的预设进行调整

道具(树、晶体等)都是使用一个小盒子/圆锥/圆柱体网格套件构建的,并且根据顶点进行着色,所以一个材质可以服务于许多个体。水、云、阴影、雨和门户表面都是自己的小着色器。

我公开发布的真正原因是:为了让自己回来并展示真正的进展。因为独自开发的引擎在私下里会默默地死去,所以我想把它放在公众面前。同时,我也打算开始制作关于这些着色器的分解视频,部分是为了克服对摄像机的恐惧,部分是因为我想展示一个程序员仍然可以交付自己骄傲的视觉效果。

如果你是其他独自开发的程序员,我很想知道你如何坚持下去并保持动力,因为它只剩下你自己了。并且,如果你对技术感兴趣,我很乐意与你讨论。