用于纹理显示的GLSL顶点着色器未编译

7rtdyuoh  于 2022-09-26  发布在  其他
关注(0)|答案(1)|浏览(175)

我有一个不想编译的顶点着色器,但我认为它绝对没有理由给出错误。它失败,并出现以下错误:

ERROR: D:localTempf46179fe-8934-4135-820a-bed1e54b98bf.tmp:22: 'texture2D' : no matching overloaded function found 
ERROR: D:localTempf46179fe-8934-4135-820a-bed1e54b98bf.tmp:22: 'assign' :  cannot convert from ' const float' to ' smooth out 4-component vector of float'
ERROR: D:localTempf46179fe-8934-4135-820a-bed1e54b98bf.tmp:22: '' : compilation terminated 
ERROR: 3 compilation errors.  No code generated.

SPIR-V is not generated for failed compile or link

以下是代码:


# version 460

//Passes variables from uniforms to frag_hud shader

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

uniform float vert_col_dist;
uniform sampler2D vert_hud01;
uniform sampler2D vert_hud02;
uniform sampler2D vert_hud03;

out vec2 tex_coord;
out float col_dist;
out vec4 hud01;
out vec4 hud02;
out vec4 hud03;

void main() {
    gl_Position = vec4(pos, 1.0);
    tex_coord = vec2(vert_tex_coord.x, vert_tex_coord.y);
    col_dist = vert_col_dist;
    hud01 = texture2D(vert_hud01, vert_tex_coord);
    hud02 = texture2D(vert_hud02, vert_tex_coord);
    hud03 = texture2D(vert_hud03, vert_tex_coord);
}
tcbh2hod

tcbh2hod1#

我想通了。需要使用Texture()而不是texture2D()。

相关问题