c++ - 我是否为立方体贴图正确指定了坐标?

标签 c++ opengl texture-mapping

到目前为止,我对立方体映射的理解是需要为立方体中使用的每个顶点指定 3D 纹理坐标,这与 2D 纹理的 (u,v) 坐标相反。

一些假设

  • 立方体贴图使用标准化顶点来表示三角形的纹理坐标。

  • 这些归一化顶点类似于指定的实际顶点:归一化纹理坐标使用其相应顶点的大小。

  • 因此,如果顶点的单位大小为 1,则其归一化纹理坐标 N 为 1.0f/sqrt(3.0f );

这些假设中哪些是正确的,哪些是错误的?如有不妥,请说明原因。

编辑

虽然不是必需的,但最好是举个例子,或者更确切地说,是关于推荐的解决方法是什么的想法——使用可编程流水线。

最佳答案

立方体贴图是由排列在立方体拓扑结构中的 6 个二次纹理组成的纹理。立方贴图纹理坐标的唯一关键量是它们的方向。在立方体贴图中,其纹素由源自立方体中心的 vector 方向寻址。纹理坐标 vector 的长度无关紧要。假设您有两个立方体贴图纹理坐标

(1, 1, 0.5)

(2, 2, 1)

它们都处理相同的立方体贴图纹素。

关于c++ - 我是否为立方体贴图正确指定了坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15752287/

相关文章:

c++ - 仅在 C/C++ 中使用 header 时?

c++ - 关于Linux .so文件无法链接到main.cpp文件

multithreading - OpenGL:单独线程上的 glClientWaitSync

java - 为什么纹理图像颜色与原点不同?

javascript - 即使通过本地服务器运行文件后纹理也不会加载

c++ - 为什么允许引用指针的间接寻址?

c++ - 在负载测试中对 __pthread_mutex_cond_lock_full 断言失败

c++ - 使用 SOIL 使用 OpenGL 映射纹理

opengl - GLSL,接口(interface) block

c++ - 为什么我的 OpenGL 纹理是透明的?