首页 > 解决方案 > 即使我得到一个着色器编译错误,所有着色器都可以正常工作。如何?

问题描述

我正在使用 Go 和go-gl包。我的设置似乎是正确的,因为其他一切正常(窗口创建、顶点缓冲区等)。问题是:-

我为 2 个不同的三角形创建了 4 个着色器(2 个顶点和 2 个片段)。

顶点着色器:-

#version 330 core
layout(location = 0) in vec4 position;

void main() {
    gl_Position = position;
}

片段着色器:-

#version 330 core
layout(location = 0) out vec4 color;

void main() {
    color = vec4(1.0, 0.0, 0.0, 1.0);
}

这两个着色器描述了第一个红色的三角形。第二个三角形具有完全相同的顶点着色器和片段着色器,只是它是绿色的。

当我运行代码时,我得到以下输出:- 我的 OpenGL 窗口

这是我的终端,包含所有日志和错误:- 我的终端

有两件事很奇怪:-

标签: goopenglglslshadergo-gl

解决方案


推荐阅读