我正在使用 OpenGL 制作我的 iPhone 图形。在我的一个项目中,我需要使用一个图像,我需要将其用作 OpenGL 中的纹理。.png
图像大小适中512 * 512
,背景透明,图像中心有一条粗蓝线。
当我将图像应用到 OpenGL 中的多边形时,纹理看起来好像图像中的透明部分是黑色的,而粗蓝线被视为本身。为了去除黑色部分,我使用了混合:
glEnable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
然后我的多边形中纹理的黑色部分被删除。现在只看到蓝色条带。这样问题就解决了。
但我想在 OpenGL 中添加许多这样的图像并制作许多对象。我能够做到这一点,但是当我向对象添加越来越多的图像时,帧速率非常低。但是当我注释掉混合时,帧率正常,但看不到图像。
由于我没有很好的 fps,所以图形有点慢,而且效果不稳定。
所以:
1)除了混合还有其他方法可以解决我的问题吗?
2) 如何提高我的 OpenGL 应用程序的帧速率?为了正确实现我的图形,需要采取哪些所有步骤?