gpt4 book ai didi

OpenGL 计算阶段与其他阶段

转载 作者:行者123 更新时间:2023-12-02 19:22:36 25 4
gpt4 key购买 nike

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

不幸的是,如果我将计算阶段附加到程序的其余部分,然后将其链接,则会调用位置查询,例如 glGetAttribLocation (对于任何阶段的制服/属性)开始返回 -1,表示他们未能找到命名对象。我也试过使用 layout(location=N),结果没有绘制任何东西。

如果我将阶段附加到两个不同的着色器程序并一个接一个地使用它们,两者都可以正常工作(计算着色器写入一个 VBO,绘图着色器从同一个 VBO 读取),除了我必须切换他们之间。

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

最佳答案

OpenGL 主动禁止将包含计算着色器的程序与任何非计算着色器类型链接。当您尝试时,您应该会遇到链接器错误。

此外,确实没有理由这样做。您可能从中获得的唯一假设好处是让两组着色器共享统一的值。将它们放在同一个程序中并没有太多好处。

关于OpenGL 计算阶段与其他阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62855425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com