是否有任何包裝在OpenGL ES 2.0之上模擬OpenGL ES 1.1 API?我搜索了很多,但找不到任何實際的實現。OpenGL固定功能着色器實現
回答
您可能會喜歡本教程:Recreating OpenGL's Fixed Function Pipeline using Cg。它在CG中,但與GLSL非常相似,只需進行一些調整,就可以將其轉化爲模擬Android上固定功能管線的着色器。
至於其他不贊成使用的函數,如glVertex *(),我會建議反對它(它已被棄用的原因)。另一方面,如果需要將一些軟件從ES 1移植到ES 2,即使在這種情況下編寫包裝也不是很困難。
http://code.google.com/p/gles2-bc/
這個旨在模擬ES 1.1與ES 2.0着色器,不使用它自己,但會做!
這主要是一個被遺棄的項目。 – abergmeier
@LCID火併不意味着它不起作用......也不是讓某人開始的基礎...... –
我目前正在調查同樣的問題,只是偶然發現了這個項目:https://github.com/p3/regal#readme(OpenGL 2.x,3.x,4.x,Core上下文和ES 2.0的OpenGL可移植性層)。只能自己嘗試,但在閱讀文章http://www.gamasutra.com/view/news/177233/Indepth_Bringing_Regal_OpenGL_to_Native_Client.php後,我相信這個庫可能是解決問題的方法。
看看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的着色器示例。
- 1. OpenGL着色器?
- 2. 固定功能比。着色器 - 幫助理解概念差異
- 3. OpenGL VBO着色器
- 4. Threejs着色器的實現
- 5. OpenGL ES 2.0着色器最佳實踐
- 6. OpenGL着色器的性能分析
- 7. PowerVR SGX535着色器性能(OpenGL ES 2.0)
- 8. 帶固定功能OpenGL的半透明?
- 9. 在OpenGL中實現固定座標系
- 10. OpenGL定向燈光着色器
- 11. OpenGL着色器發佈
- 12. 的OpenGL着色器輸入
- 13. Qt/OpenGL着色器問題
- 14. OpenGL ES 1.x着色器
- 15. OpenGL着色過濾器
- 16. 着色器和opengl轉換
- 17. OpenGL着色器和常量
- 18. OpenGL着色器問題
- 19. OpenGL ES和OpenGL兼容着色器
- 20. OpenGL着色器:不插值顏色
- 21. opengl着色器使顏色「消失」
- 22. 手臂上的固有功能實現
- 23. 使用OpenGL着色器語言編寫簡單的着色器
- 24. OpenGL着色問題
- 25. GPUImage定製的OpenGL ES着色器產生黑色圖像
- 26. 實現TF在金屬性能着色器轉
- 27. OpenGL ES運行多個着色器
- 28. OpenGL着色器加載失敗
- 29. 在opengl着色器中使用emscripten
- 30. OpenGL ES 2.0中的着色器Android
雖然我不能指出這樣一個包裝,我建議你自己寫一個這樣的包裝,只是爲了訓練。編寫着色器來模擬固定功能流水線是瞭解更多關於固定功能概念如何真正起作用的絕妙練習,除非您意識到,模擬固定功能OpenGL ES 1.1 API不是最靈活或有效的使用方式OpenGL ES 2.0。 –
如果您看看Opengl ES 2.0編程指南,他們會嘗試實現固定功能流水線的部分功能。很快就可以看出,這不是一項簡單的任務。 我真的不知道爲什麼你想要這個 - 爲什麼不使用OpenGL ES 1.1。我不知道任何2.0 GPU也不支持1.1 –
WebGL僅支持OpenGL Es 2.0。我有一大堆我需要從OpenGL ES 1.1移植到2.0的代碼。我不會改變大部分代碼,而是會逐漸從ES 1.1仿真切換到2.0,這樣我就可以運行測試並查看什麼時候出現故障。 – abergmeier