在OpenGL 2.1中,即使在2D空间(具有2D纹理),也可以安全使用3D TEX坐标



我可以通过将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

相关内容

  • 没有找到相关文章

最新更新