我想通过将整个东西投影到 2D 纹理来调试我的渲染到立方体贴图功能,就像这样:
在纹理着色器的渲染中,我仅获得可用的 UV 纹理坐标(范围从 (0,0) 到 (1,1))。如何在一次绘制调用中将立方体贴图投影到屏幕上?
最佳答案
您可以通过渲染 6 个四边形并使用 3D 纹理坐标 (s,t,p)
指向立方体的每个顶点来实现此目的,因此有 8 种 变体(+/-1, +/-1,+/-1)
.
UV 2D 坐标 (s,t)
类似于 (0/1,0/1)
的 4 种变体,不适用于整个 CUBE_MAP,仅适用于其各个侧面.
在此处查找txr_skybox
了解如何在片段着色器中使用CUBE_MAP
。
PS 在 OpenGL 中,纹理坐标称为 s,t,p,q
而不是 u,v,w, ...
这里相关的质量检查:
关于opengl - 将立方体贴图投影到 2D 纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54101329/