2012-12-23 47 views
3

我曾經爲OpenGL中的PC製作簡單的遊戲,現在我想在Android上做些事情。 但是,很多事情是不同的......爲什麼繪製方形是如此複雜? (http://www.jayway.com/2009/12/04/opengl-es-tutorial-for-android--part-ii-building-a-polygon/) 爲什麼它不像nehe那麼簡單教程:OpenGL - 在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?

+0

我假設你想在OpenGL ES 2右畫? OpenGL ES 2要求您使用着色器,這是更多的工作,但長期更好。 – TheAmateurProgrammer

回答

2

簡而言之,不,舊式管道消失了。

帶出固定功能,即時模式,矩陣層次結構等,以及着色器和緩衝區。

2

爲什麼它不是在訥河教程簡單:

由於採用即時模式並不簡單。讓即時模式如此吸引人的是,您可以直接將數字放入函數調用中。 如果你會從文件加載幾何圖形?你很可能會!然後你的幾何體在某個緩衝區中。然後,你需要建立循環,按照正確的順序調用立即模式功能,等等,等等。一旦你有你的幾何體的緩衝,它實際上是更容易只是點的OpenGL它併發出glDrawElement或glDrawArray稱的福。

使用頂點數組看起來很複雜嗎?是。但是從長遠來看,頂點數組的使用要簡單得多。

而且他們更有效,因爲你可以分批發送大量的幾何形狀。

有沒有什麼辦法像nehe教程一樣使用OpenGL?

你的目標是OpenGL-ES,不,這是不可能的(OpenGL-3核心和以後也沒有)。坦率地說:你不應該首先使用NeHe風格。 NeHe教程已經過時,並沒有充分利用現代GPU的功能。

+0

另外在性能上相當的差異,呼喚成千上萬的方法,相比於一體,更大的幾何形狀。 – SMart