避免使用Opengl纹理的POT规则:使用非POT位图重叠透明的POT位图?

时间:2011-10-07 10:36:56

标签: opengl-es textures

我需要将非POT位图加载到我的opengl es app for android。

我需要的是将我的非POT位图重叠到具有POT大小的另一个位图。我需要在POT位图的中心重叠非POT位图。

我该怎么做?

我尝试使用createScaledBitmap,但它会拉伸图像而我不想要它。

由于

1 个答案:

答案 0 :(得分:1)

执行此操作的方法不是将NPOT投影到POT上,而是在纹理坐标缓冲区中加载POT并相应地操纵UV坐标。现在你可能有这样的事情:

private float textureCoords[] = {
        0.0f, 1.0f,
        0.0f, 0.0f,
        1.0f, 1.0f,
        1.0f, 0.0f          
};

用于纹理到四边形的UV映射。将值更改为0.0或1.0以外的值将相应地进行裁剪。确保您正确选择这些值,否则某些颜色会进入您的图像。