首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL计算阶段与其他阶段

OpenGL计算阶段与其他阶段
EN

Stack Overflow用户
提问于 2020-07-11 22:54:18
回答 1查看 176关注 0票数 2

我想有一个单独的着色器程序,它有一个计算阶段和标准的图形阶段(顶点,苔丝控制,苔丝评估,片段)。

不幸的是,如果我将计算阶段附加到程序的其余部分,然后将其链接起来,那么调用到位置查询,比如glGetAttribLocation (对于任何阶段的制服/属性),就会开始返回-1,表明它们找不到命名的对象。我还尝试使用布局(location=N),结果没有绘制任何东西。

如果我将这些步骤附加到两个不同的着色器程序上,并将它们一个接一个地使用,则两者都工作得很好(计算着色器写入VBO,绘制着色器从相同的VBO读取),但我必须在它们之间切换。

计算阶段与标准图形阶段的结合是否有局限性?我能找到的所有例子都有两个程序,但我还没有找到解释为什么需要这样做的原因。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-11 23:08:58

OpenGL主动禁止将包含计算着色器的程序与任何非计算着色器类型链接起来。当你尝试的时候,你应该得到一个链接错误。

而且,我们真的没有理由这么做。唯一假设的好处,你可能从它得到是有两套着色器共享统一的价值。只是在同一个程序中没有什么收获。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62855425

复制
相关文章

相似问题

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