带有“没有为构造构造函数提供足够数据”的平凡着色器

Isa*_*ods -1 opengl glsl

我有一个相当简单的顶点着色器:

#version 330 core

layout (location = 0) in vec2 position;
layout (location = 1) in vec2 uvCoord;

uniform mat4 view;
uniform mat4 projection;

out vec2 _uvCoord;

void main()
{
  gl_Position = projection * view * vec4(position, 1.0);
  _uvCoord = uvCoord;
}
Run Code Online (Sandbox Code Playgroud)

这是给出错误:

ERROR: 0:13: error(#174) Not enough data provided for construction constructor
ERROR: error(#273) 1 compilation errors.  No code generated
Run Code Online (Sandbox Code Playgroud)

我曾尝试在谷歌上搜索导致此类错误的原因,但无济于事。失败了,我仔细查看了着色器代码,但据我所知,它没有问题。

是什么导致了这种错误,我该如何修复这个着色器?

Nic*_*las 5

vec4(position, 1.0)
Run Code Online (Sandbox Code Playgroud)

vec4构造需要 4 个值。position, 因为 avec2只提供了 2 个值,最后的浮点数只提供了一个,所以没有提供一个。因此错误。

  • @HolyBlackCat:因为这不是我的答案;这是约翰尼的。但他不想将其作为答案发布,所以我这样做是为了确保该问题不会被视为“未回答”。 (2认同)