Несмотря на то, что я получаю ошибку компиляции шейдера, все шейдеры работают отлично. Как?

Я использую Go и go-glпакет. Моя настройка кажется правильной, так как все остальное работает (создание окна, буферы вершин и т. Д.). Проблема в:-

Я создал 4 шейдера (2 вершины и 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);
}

Эти два шейдера описывают первый красный треугольник. Второй треугольник имеет точно такие же вершинный шейдер и фрагментный шейдер, за исключением того, что он зеленого цвета.

Когда я запускаю код, я получаю следующее: -

Это мой терминал со всеми журналами и ошибками: -

Две вещи очень странные:

  • Ошибка получена при компиляции вершинного шейдера. У меня есть два вершинных шейдера, оба совершенно одинаковые, но только один не компилируется.
  • Он сообщает, что ошибка связана с 1.0 в моем коде, но в моем коде этого вообще нет.

0 ответов

Другие вопросы по тегам