如何在openGL中使用背景图像作为纹理

时间:2011-08-22 06:56:12

标签: android opengl-es textures

我想使用带有纹理的背景图像,但纹理获得功率为2的图像,所以我制作了图像尺寸(800x480到512x512)。

但现在它显示的图像有一些空白。

如何在整个屏幕上显示图像。并且还想要水平滚动。

2 个答案:

答案 0 :(得分:0)

好吧,如果这是在Android上,这意味着你没有glDrawPixels,所以你可以“显示”图像的唯一方法是渲染纹理四边形。因此,只需制作所需尺寸的四边形。

您还可以绘制多个纹理,只需将一个纹理绘制到一个位置,然后将另一个纹理绘制到另一个位置。

答案 1 :(得分:0)

渲染背景时需要使用正确的纹理坐标。您需要计算纹理坐标,以便垂直于黑色边框的轴具有偏移量。

我猜您调整了800x480图像的大小,使其适合512x512像素,最终得到的实际背景图像(512x512纹理内部)为512x307?

这意味着您的u纹理坐标偏移量需要为(512.0 - 307.0)/2.0 / 512.0~0.2,因此纹理坐标需要为(0.0,0.0),(0.0,0.2),(1.0) ,0.2),(1.0,0.0)。