2011-08-31 97 views
4

是否有任何包裝在OpenGL ES 2.0之上模擬OpenGL ES 1.1 API?我搜索了很多,但找不到任何實際的實現。OpenGL固定功能着色器實現

+0

雖然我不能指出這樣一個包裝,我建議你自己寫一個這樣的包裝,只是爲了訓練。編寫着色器來模擬固定功能流水線是瞭解更多關於固定功能概念如何真正起作用的絕妙練習,除非您意識到,模擬固定功能OpenGL ES 1.1 API不是最靈活或有效的使用方式OpenGL ES 2.0。 –

+0

如果您看看Opengl ES 2.0編程指南,他們會嘗試實現固定功能流水線的部分功能。很快就可以看出,這不是一項簡單的任務。 我真的不知道爲什麼你想要這個 - 爲什麼不使用OpenGL ES 1.1。我不知道任何2.0 GPU也不支持1.1 –

+3

WebGL僅支持OpenGL Es 2.0。我有一大堆我需要從OpenGL ES 1.1移植到2.0的代碼。我不會改變大部分代碼,而是會逐漸從ES 1.1仿真切換到2.0,這樣我就可以運行測試並查看什麼時候出現故障。 – abergmeier

回答

2

您可能會喜歡本教程:Recreating OpenGL's Fixed Function Pipeline using Cg。它在CG中,但與GLSL非常相似,只需進行一些調整,就可以將其轉化爲模擬Android上固定功能管線的着色器。

至於其他不贊成使用的函數,如glVertex *(),我會建議反對它(它已被棄用的原因)。另一方面,如果需要將一些軟件從ES 1移植到ES 2,即使在這種情況下編寫包裝也不是很困難。

2

http://code.google.com/p/gles2-bc/

這個旨在模擬ES 1.1與ES 2.0着色器,不使用它自己,但會做!

+0

這主要是一個被遺棄的項目。 – abergmeier

+0

@LCID火併不意味着它不起作用......也不是讓某人開始的基礎...... –

2

看看JOGL。

大約有仿真從GLES 1.0固定管道的使用GLES 2.0一些軟件包:

package javax.media.opengl.fixedfunc; 
package com.jogamp.opengl.util.glsl.fixedfunc; 
package jogamp.opengl.util.glsl.fixedfunc; 

從jogamp.opengl.util.glsl.fixedfunc.FixedFuncImpl類的Javadoc;

Composable pipeline, implementing the interface javax.media.opengl.GL2ES1 
Each method follows the call graph: 
* call prolog jogamp.opengl.util.glsl.fixedfunc.FixedFuncHook if available 
* call downstream javax.media.opengl.GL2ES2 if available and if no call to jogamp.opengl.util.glsl.fixedfunc.FixedFuncHook is made 

* Interface javax.media.opengl.GL2ES1 
* Prolog jogamp.opengl.util.glsl.fixedfunc.FixedFuncHook 
* Downstream javax.media.opengl.GL2ES2 

Sample code which installs this pipeline: 
    GL gl = drawable.setGL(new FixedFuncImpl(drawable.getGL().getGL2ES2(), new FixedFuncHook(drawable.getGL().getGL2ES2()))); 

此外,請參閱「OpenGL ES 2.0編程指南」(Aaftab Munshi at alli。)。有一些有關仿真GLES 1.0 FFP的着色器示例。