过时OpenGL版本的GLSL布局限定符绑定点

wnvonmuf  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(138)

标题是我的问题。是否有任何替代的'绑定'布局限定符的OpenGL v 4. 1?
我正在使用MacOS和Xcode,所以如果我运行OpenGL 4.2,我会得到一个错误的glewinit说“丢失GL版本”。
如果我用OpenGL 4.1运行这段代码,当然,它不能识别“binding”关键字。
我的顶点着色器代码是:


# version 410

layout (location=0) in vec3 pos;
layout (location=1) in vec2 texCoord;

out vec2 tc;

uniform mat4 mv_matrix;
uniform mat4 proj_matrix;

layout (binding=0) uniform sampler2D samp;  // not used in vertex shader

void main(void) {
    gl_Position = proj_matrix * mv_matrix * vec4(pos, 1.0);
    tc = texCoord;
}

我的片段着色器代码是:


# version 410

in vec2 tc;  // interpolated incoming texture coordinate

out vec4 color;

uniform mat4 mv_matrix;
uniform mat4 proj_matrix;

layout (binding=0) uniform sampler2D samp;

void main(void) {
    color = texture(samp, tc);
}
vlju58qv

vlju58qv1#

您只需:
删除布局限定符(包括位置分配)(_R)。如下所示:
均匀采样器2D采样;

相关问题