3

我已经知道很多硬件需要两种尺寸的纹理。但是平方图像尺寸是强制性的吗?我的意思是 32x32 64x64 512x512。我可以在每个硬件中使用 512x256 尺寸的纹理吗?

4

2 回答 2

5

是的,纹理可以是非方形的,这没问题。只要你保持宽度和高度的两个幂。

于 2012-07-16T18:24:42.133 回答
1

不,它必须是 2base。但是,您可以通过在图像的顶部和/或底部添加黑条,然后使用纹理坐标数组来限制从图像映射纹理的位置来解决此问题。例如,假设您有一个 13 x 16 像素的纹理。您可以在右侧添加 3 个黑色像素,然后执行以下操作:

static const GLfloat texCoords[] = {
    0.0, 0.0,
    0.0, 13.0/16.0,
    1.0, 0.0,
    1.0, 13.0/16.0
};

所以你现在可以有任何尺寸

于 2012-07-17T03:50:39.927 回答