几何着色器高级应用
概念回顾
几何着色器(Geometry Shader)是 OpenGL 管线中的可选着色器阶段,位于顶点着色器(Vertex Shader) 和光栅化阶段 之间。
其核心功能是基于输入的图元(如点、线或三角形),生成新的图元,或对输入的图元进行修改。

几何着色器的执行是以图元为单位的:
- 输入是一个图元(例如一个点、线段或三角形);
- 输出可以是零个、一个或多个新的图元。
爆破效果
爆破效果的实现原理是将 3D 模型的每个三角形沿着法向量的方向移动一小段位移。结果就是,整个物体看起来像是沿着每个三角形的法线向量爆炸一样。

我们所要做的是计算垂直于三角形表面的向量,仅使用我们能够访问的 3 个顶点。基于这 3 个顶点,获取两个平行于三角形表面的向量 a 和 b ,然后对这 2 个向量叉乘就可以得到垂直于三角形表面的法向量。
这样的几何着色器效果的一个好处就是,无论物体有多复杂,它都能够应用上去。
订阅专栏 解锁全文
4767

被折叠的 条评论
为什么被折叠?



