是否有任何包装在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