是否可以使用着色器动态模拟已完成的固定函数管道?即时意味着不是重写固定函数代码来使用着色器,而是一种中间驱动程序,它接收固定函数GLES调用(可能会缓存完整的一帧,因为没有直接从固定到可编程管道的一对一转换),并输出等效的GLES2.0调用。
即使这是可能的,那么它到底有多少工作量呢?
发布于 2014-12-20 15:27:15
对于ES1.1的大多数版本来说,这看起来非常简单。所有典型的固定功能,如变换、灯光和材质,都会直接转换为着色器代码。
对于一个完整的替换,你显然必须实现所有的功能。通过浏览ES 1.1入口点,我发现了一些不能直接转换到ES 2.0的条目,其中最后一个看起来特别有问题:
glLogicOp)作为在片段着色器之后执行的每片段操作的一部分。ES 2.0没有这个功能,我想不出一个好的方法来复制它。唯一想到的就是渲染,读回结果,在CPU上执行逻辑操作,然后渲染结果图像。每次更改操作时,您都必须执行此操作。https://stackoverflow.com/questions/27576558
复制相似问题