【发布时间】:2015-07-13 00:01:42
【问题描述】:
在 3D 游戏中渲染具有固定纹理的天空时,人们通常会先在一个立方体贴图中创建 6 个纹理,然后在相机周围渲染一个立方体。在 GLSL 中,您可以使用法线而不是纹理坐标来访问纹理中的像素,并且您可以通过标准化片段相对于相机的位置来轻松获得此法线。然而,这个过程可以用围绕相机的任何形状来完成,因为当你标准化每个位置时,它总是会产生一个球体。 现在我想知道: 为什么它总是一个立方体而不是一个四面体?渲染一个立方体需要 12 个三角形,一个四面体只有 4 个。正如我已经说过的,任何围绕相机的形状都可以。所以四面体占用更少的 VRAM 并且渲染速度更快,没有任何缺点?为什么不使用它们?
【问题讨论】:
-
Skyboxes 易于实现且易于确定纹理坐标。这就是它更常见的原因。
-
你不需要纹理坐标。我想弄清楚顶点位置有点困难。
标签: opengl graphics 3d glsl skybox