我可以通过在OpenGL 2.1中将Z值设置为0来对2D纹理使用3D textures函数吗?有什么3D功能,我不能使用为2D?我不能使用2D函数,因为这是用于2D/3D包装器的,而且当用户输入2D或3D坐标时,这两个函数可以一起使用,这样做效率太低了。
发布于 2014-02-03 01:36:13
这听起来很有趣,但是OpenGL中的所有纹理坐标都是4D的。顶点位置也是如此。
为了更好地解释这一点,请考虑一个不推荐的函数,比如glTexCoord2f (...) -它自动分配r = 0.0和q = 1.0。这种行为被扩展到顶点数组,如果您有一个只提供2个组件的纹理坐标指针,GL会自动将0.0和1.0分配给其余的2个,如上面所示。
顺便说一句,我建议您在引用纹理坐标时使用命名strq。您可以在着色器中以xyzw的形式访问它们,但是(固定函数)管道总是被strq记录为引用它们。
https://stackoverflow.com/questions/21518450
复制相似问题