-3
我会如何将纹理应用于三角形。只是如何做到这一点的基本总结会做。我已经知道如何绘制一个正方形,所以与三角形有什么不同。我正在使用android btw。Opengl 2.0如何将贴图应用于三角形?
谢谢
我会如何将纹理应用于三角形。只是如何做到这一点的基本总结会做。我已经知道如何绘制一个正方形,所以与三角形有什么不同。我正在使用android btw。Opengl 2.0如何将贴图应用于三角形?
谢谢
那么实际上没有任何区别。矩形由2个三角形组成,所以你所要求的与绘制矩形的一半,你已经知道如何绘制整个矩形是一样的。
openGL中的大多数对象只能用三角形绘制。它们上的纹理是通过纹理坐标定义的,纹理加载的图像可能很奇怪。尝试搜索“模型纹理”的网页图片,看看我的意思。
我之所以解释这个,是因为我相信你需要开始思考纹理和坐标,就像现在一样。纹理坐标实际上只是纹理上的相对位置,表示纹理的哪一部分应该在形状所绑定的点之间绘制。所以矩形的纹理很可能看起来像一个普通的图像,因为这个普通图像已经是一个矩形。对于一个球体来说,纹理已经看起来很奇怪了,因为你需要以某种方式表示2D球体上的球体上的所有点,通常是一个矩形。
因此,绘制纹理三角形需要位置坐标和纹理坐标。一个最简单的例子可以是:
float vertexData[] = {
0.0, 0.0, 0.0,
0.0, 0.0,
100.0, 0.0, 0.0,
1.0, 0.0,
0.0, 100.0, 0.0,
0.0, 1.0
};
这是一样的矩形,但错过了最后一个坐标:
100.0, 100.0, 0.0,
1.0, 1.0
不过这些纹理坐标可以是任何你想要为你的质感。您只需计算相对纹理坐标位置。