GL_TEXTURE_3D是什么意思?

jon*_*ham 4 c++ windows opengl graphics visual-c++

我知道纹理只是一个图像(绝对是2D),为什么我们有GL_TEXTURE_3D?这是什么意思?和用法?

小智 6

纹理不是绝对2d.大部分时间它是2d但你也可以有1d纹理(一条线)和3d纹理(一个体积).使用三个纹理坐标访问3D纹理.当您的3D模型可以被平面裁剪时,您可以使用它.然后,您可以使用3d纹理创建实体对象并查看平面剪切的内容,而不是查看对象的另一侧(对象是空心的).例如,如果您为手机建模并将其切成两半而不是看到背面,则可以看到内部的电路.

  • 应该指出的是,应用3D纹理不会在OpenGL中生成实体模型.如果您只是使用剪裁平面剪切对象,您仍然只能看到纹理曲面.但是,使用体积光线投射着色器可以渲染实体.一个更好的手机和安全的例子就是CT扫描.谷歌为"Voxelman"获得一个想法. (3认同)