首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpeGLES1.1固定函数流水线到可编程流水线的动态转换

OpeGLES1.1固定函数流水线到可编程流水线的动态转换
EN

Stack Overflow用户
提问于 2014-12-20 11:07:34
回答 1查看 276关注 0票数 1

是否可以使用着色器动态模拟已完成的固定函数管道?即时意味着不是重写固定函数代码来使用着色器,而是一种中间驱动程序,它接收固定函数GLES调用(可能会缓存完整的一帧,因为没有直接从固定到可编程管道的一对一转换),并输出等效的GLES2.0调用。

即使这是可能的,那么它到底有多少工作量呢?

EN

回答 1

Stack Overflow用户

发布于 2014-12-20 15:27:15

对于ES1.1的大多数版本来说,这看起来非常简单。所有典型的固定功能,如变换、灯光和材质,都会直接转换为着色器代码。

对于一个完整的替换,你显然必须实现所有的功能。通过浏览ES 1.1入口点,我发现了一些不能直接转换到ES 2.0的条目,其中最后一个看起来特别有问题:

  • 任意剪裁平面。这在ES 2.0中不可用,但在着色器中通过在顶点着色器中计算距离,然后在片段着色器中丢弃剪切的碎片来模拟并不是非常困难。
  • ES 1.1有一种称为“调色板纹理”的东西。据我所知,在ES2.0中实现它看起来有点痛苦,但还是有可能的。您可能需要两个纹理,一个用于索引,另一个用于调色板,在片段着色器中具有两个级别的采样。
  • ES 1.1支持将逻辑运算(glLogicOp)作为在片段着色器之后执行的每片段操作的一部分。ES 2.0没有这个功能,我想不出一个好的方法来复制它。唯一想到的就是渲染,读回结果,在CPU上执行逻辑操作,然后渲染结果图像。每次更改操作时,您都必须执行此操作。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27576558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档