是否有任何包装器在OpenGL ES 2.0之上模拟OpenGL ES 1.1 API?我搜索的很多,但找不到任何实际的实现。
答案 0 :(得分:5)
我正在研究同样的问题,只是偶然发现了这个项目: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之后,我相信这个库可能是问题的解决方案。
答案 1 :(得分:2)
你可能会喜欢这个教程:Recreating OpenGL's Fixed Function Pipeline using Cg。它在CG中,但它与GLSL非常相似,只需进行一些调整,就可以将它变成一个模仿Android上固定功能管道的着色器。
至于其他已弃用的函数,例如glVertex *(),我会反对它(由于某种原因它已被弃用)。另一方面,如果需要将某些软件从ES 1移植到ES 2,那么编写一个包装器就不是很难了。
答案 2 :(得分:2)
http://code.google.com/p/gles2-bc/
这旨在使用ES 2.0着色器模拟ES 1.1,而不是自己使用它,但将会这样做!
答案 3 :(得分:2)
看看JOGL。
有些软件包使用GLES 2.0来模拟GLES 1.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编程指南" (在Alli的Aaftab Munshi。)。有一些关于仿真GLES 1.0 FFP的着色器示例。