如何将libpng与OpenGL一起用于2D游戏?

时间:2010-10-25 15:42:01

标签: objective-c c opengl libpng

我从OpenGL开始,我想用飞机​​做一个非常简单的游戏。现在我从上面看到一架飞机的PNG,我想在屏幕上画这个。目前我只知道如何绘制旋转的三角形:

float angle = 0.0f;
void renderScene(void) {
  glClear(GL_COLOR_BUFFER_BIT);
  glPushMatrix();
  glRotatef(angle, 0.0f, 0.0f, 1.0f);
  glBegin(GL_TRIANGLES);
  glVertex2f(-0.5,-0.5);
  glVertex2f(0.5,0.0);
  glVertex2f(0.0,0.5);
  glEnd();
  glPopMatrix();
  glutSwapBuffers();
  angle += 0.1;
}

任何人都可以帮助我吗?感谢。

2 个答案:

答案 0 :(得分:2)

这是你的秘密:http://nehe.gamedev.net/

顺便说一下,你最终会绘制一个四边形(或一个三角形条)并将纹理应用到多边形上,没有那么复杂......但是通过查看教程并了解OpenGL如何工作,以精确的方式开始,它会更好。

本书将比Nehe更好(因为它专为OpenGL ES量身定制):http://opengles-book.com/

答案 1 :(得分:1)

您可能需要考虑使用DevIL,而不是直接使用libpng。它专门用于你似乎试图做的那种工作,所以它通常会让它变得更容易(下个月,当有人决定你应该显示JPEG或者可能是TIFF而不是PNG时,它会在没有任何重大改写的情况下处理它。)