gpt4 book ai didi

c++ - GLSL无法编译没有插值的着色器(平面)

转载 作者:行者123 更新时间:2023-11-30 05:44:27 28 4
gpt4 key购买 nike

我正在从单个顶点/索引缓冲区绘制一个具有多个网格的完整对象,并且它们具有不同的纹理。因此,我想到将纹理 ID 与顶点一起从顶点着色器传递到片段着色器中的片段。问题是禁用插值。我正在使用 GLSL ver 3.3 和 SDL2,并在 MingW 上 glew。

我已经在顶点着色器中尝试了 flat out uint frag_MeshID; 而不是 out uint frag_MeshID;,但是在编译片段着色器时我仍然遇到这个错误:

'frag_MeshID':变化的 int/uint 不是平面插值

这是我对应的片段着色器片段:in uint frag_MeshID;

我错过了什么吗?

最佳答案

好吧,这似乎是我做出的错误假设。片段着色器也需要 flat 关键字。 (我认为顶点着色器平面属性将使下一级的单位平面)

因此,这作为片段着色器工作:flat in uint frag_MeshID;(使用顶点着色器:flat out uint frag_MeshID;)

关于c++ - GLSL无法编译没有插值的着色器(平面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29854910/

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