我可以通过将z值设置为OpenGL 2.1中的0来使用2D纹理的3D TEX COORD函数?我无法用于2D的3D函数吗?我不能使用2D函数,因为这是针对2D/3D包装器的,并且在两个功能都可以一起使用时试图猜测用户是否输入2D或3D坐标。
这听起来很有趣,但是OpenGL中的所有纹理坐标始终为4D。以及顶点位置。
为了更好地解释这一点,请考虑像glTexCoord2f (...)
这样的弃用功能 - 它会自动分配r
= 0.0 和q
= 1.0 。此行为将其扩展到顶点数组,如果您只提供2个组件的纹理坐标指针,则GL会自动分配 0.0 and 1.0 ,如上所述。<<<<<<<<<<<</p>
顺便说一句,我建议您在参考纹理坐标时使用命名法strq
。您可以在着色器中以xyzw
访问它们,但是(固定功能)管道始终记录为strq
。