2012-07-16 75 views

回答

5

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

1

不,它必须是2base。但是,您可以通过在图像的顶部和/或底部添加黑条来解决此问题,然后使用纹理坐标数组来限制将纹理映射到图像的位置。例如,假设你有一个13×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 
}; 

所以你可以有任何大小现在