iPhone OpenGL ES 2d背景纹理

iPhone OpenGL ES 2d背景纹理,iphone,graphics,opengl-es,textures,Iphone,Graphics,Opengl Es,Textures,我有一个1024 x 1024的图像,我在游戏中用它作为背景纹理 我想知道他们是否是一个正确的方式来处理绘制一个大的背景纹理 我目前的做法: texCoord { 0,0,1,0,0,1,1,1 } vertice { 0,0,0,height,width,0,width,height } texCoordPointer(texCoord) vertexPointer(vertice) bind the texture enable client (texCoordArr, vertexCoo

我有一个1024 x 1024的图像,我在游戏中用它作为背景纹理

我想知道他们是否是一个正确的方式来处理绘制一个大的背景纹理

我目前的做法:

texCoord { 0,0,1,0,0,1,1,1 }
vertice { 0,0,0,height,width,0,width,height }
texCoordPointer(texCoord)
vertexPointer(vertice)

bind the texture
enable client (texCoordArr, vertexCoordArr)
drawArray
disable client (texCoordArr, vertexCoordArr)
那很好

我不知道iPhone上的GL | ES是否支持glDrawTexOES扩展,但如果支持的话,您可能会获得一些代码行。不过,这不会使绘图速度加快

还有一些附加提示:

  • 尝试使纹理与屏幕一样大。如果实际分辨率更接近480*320,则无需将图像存储为1024*1024。如果你缩放或平移图像,那当然是另一回事了

  • 如果不上传背景的mipmap,可能会节省大量内存


在2.2.1之前,纹理必须是两个(64x64、256x256等)的幂,不确定3.0(它在3.0模拟器中显示可变大小的纹理,由于我仍在2.2.1上,所以无法在设备上测试)。是的。必须将图像填充到二的幂次方,或者将它们分割成更小的块。