gpt4 book ai didi

c++ - 在 OpenGL 2.1 中,即使在 2d 空间(具有 2D 纹理)中使用 3D tex 坐标是否安全?

转载 作者:行者123 更新时间:2023-11-28 02:58:10 25 4
gpt4 key购买 nike

我可以通过在 OpenGL 2.1 中将 Z 值设置为 0 来将 3D tex 坐标函数用于 2D 纹理吗?是否有任何我不能用于 2D 的 3D 函数?我不能使用 2D 函数,因为这是一个 2D/3D 包装器,当这两个函数可以一起使用时,尝试猜测用户输入的是 2D 还是 3D 坐标效率太低。

最佳答案

这听起来很有趣,但 OpenGL 中的所有纹理坐标始终是 4D。顶点位置也是如此。

为了更好地解释这一点,考虑一个已弃用的函数,如 glTexCoord2f (...) - 它会自动分配 r = 0.0q = 1.0。此行为扩展到顶点数组,如果您有一个仅提供 2 个分量的纹理坐标指针,GL 会自动将 0.01.0 分配给剩余的 2 个,如上图所示。

顺便说一句,我建议您在引用纹理坐标时使用命名法 strq。您可以在着色器中将它们作为 xyzw 访问,但(固定功能)管道始终记录为通过 strq 引用它们。

关于c++ - 在 OpenGL 2.1 中,即使在 2d 空间(具有 2D 纹理)中使用 3D tex 坐标是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21518450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com