OpenGL - 在nehe教程中绘制

时间:2012-12-23 15:03:26

标签: android opengl-es

我曾经在OpenGL中为PC制作简单的游戏,现在我想在Android上做点什么。 但是,很多事情是不同的......为什么画广场是如此复杂? (http://www.jayway.com/2009/12/04/opengl-es-tutorial-for-android--part-ii-building-a-polygon/) 为什么它不像nehe教程那么简单:

glBegin(GL_TRIANGLES);                      // Drawing Using Triangles
glVertex3f( 0.0f, 1.0f, 0.0f);              // Top
glVertex3f(-1.0f,-1.0f, 0.0f);              // Bottom Left
glVertex3f( 1.0f,-1.0f, 0.0f);              // Bottom Right
glEnd();                            // Finished Drawing The Triangle

在nehe教程中有没有办法使用OpenGL?

2 个答案:

答案 0 :(得分:2)

简单地说,不,旧式管道已经消失。

使用固定功能,立即模式,矩阵层次结构等,以及着色器和缓冲区。

答案 1 :(得分:2)

  

为什么它不像nehe教程那么简单:

因为使用立即模式并不简单。立即模式如此吸引人的原因是,您可以将数字直接输入函数调用中。 如果你要从文件中加载几何图形怎么办?你最有可能!然后你的几何体在一些缓冲区中。然后你需要构建循环,以正确的顺序调用立即模式函数等等。一旦你将几何体放在缓冲区中,实际上更容易将OpenGL指向它并发出一些glDrawElement或glDrawArray调用。

首次使用顶点数组看起来是否复杂?是。但从长远来看,顶点数组更容易使用。

此外,它们效率更高,因为您可以批量发送大量几何体。

  

在nehe教程中有没有办法使用OpenGL?

你的目标是OpenGL-ES而不是,这是不可能的(也不是OpenGL-3核心及以后)。坦率地说:你不应该首先采用NeHe风格。 NeHe教程已经过时,无法有效利用现代GPU功能。