vec2 uv = vec2(位置.x / 360.0 + 0.5, 位置.y / 180.0 + 0.5);
\n\n什么时候使用uv,什么时候使用位置?它们之间可以转换吗\xef\xbc\x9f
\nUV 和位置是两个不同坐标系中的点。
UV 坐标也称为纹理坐标。
纹理坐标可以是任何 2d 坐标,通常在建模软件中或在用于生成 3d 模型的代码中创建/定义。
对于模型中的每个点(顶点),都有 0 到 2 组纹理坐标。这些组通常称为“UV 通道”
所以......几乎所有模型都有顶点。但并非所有模型都有纹理坐标,因此没有一种有保证的方法可以在它们之间进行转换,因为它们并不总是存在。:) 如果它们确实存在并且都设置为可预测的值,那么您有时可以在它们之间进行转换,但这作用有限,因为通常有更简单的方法来完成查找与 UV 关联的点。
也就是说,有时 UV 坐标对于确定要渲染模型的哪一部分很有用。例如,在草着色器中...您可能有很多代表草丛的小方块,分布在您的世界中...所有这些草丛顶点的位置将遍布各处,但 UV 将位于通常范围为 0 到 1,是草纹理上纹素的坐标。因此,如果您只想对草叶的顶部进行变形,您可以检查 UV.v 是否 < 0.5,并知道您正在处理的顶点是丛顶部的一部分。
不管怎样,这是一个很大的主题,所以这里有一个关于它的教程......看看吧!
http://www.opengl-tutorial.org/beginners-tutorials/tutorial-5-a-textured-cube/
| 归档时间: |
|
| 查看次数: |
4075 次 |
| 最近记录: |