是否可以动态地使用着色器模拟已完成的固定功能管道?通过运行意味着不重写固定功能代码以使用着色器,而是一种接收固定功能GLES调用的中间驱动程序(可能将其缓存为完整的一帧,因为没有从固定到可编程管道的直接一对一转换)和输出等效的GLES2.0调用。
即使有可能,那它真的会有多少工作?
答案 0 :(得分:0)
对于大多数ES 1.1来说,这看起来非常简单。所有典型的固定功能(如转换,灯光和材质)都可直接转换为着色器代码。
要完全替换,您显然必须实现所有功能。从浏览ES 1.1入口点开始,我发现了一些不能直接转换为ES 2.0的项目,其中最后一项看起来特别成问题:
glLogicOp
),作为片段着色器之后执行的每片段操作的一部分。 ES 2.0没有这个,我无法想出一个复制它的好方法。想到的唯一事情是渲染,回读结果,在CPU上执行逻辑操作,然后渲染生成的图像。每次操作改变时你都必须这样做。