Я пытаюсь нарисовать сферу, используя привязки Haskell GLUT и OpenGL (по сути, прямой перевод обычных типов и функций OpenGL). Я следовал примеру , написанному Свеном Панне (автором привязок OpenGL) при написании кода, и поскольку его код загрузки шейдеров поддерживал протоколирование ошибок, я просто решил скопировать его поверхв мой проект. Однако, когда я пытаюсь скомпилировать мой вершинный шейдер, компиляция завершается неудачно с сообщением «ошибка пользователя (журнал компиляции:)» и без фактического журнала компиляции.
Я попытался запустить пример треугольника Свена Панна, чтобы убедиться, что не было никаких проблем с библиотекой или с моей версией OpenGL, и она работала безупречно. Я скопировал чужие шейдеры и попытался скомпилировать их без особого успеха. Я убедился, что программа действительно может открыть файл шейдера и прочитать исходный код, распечатав его в консоль.
Мой вершинный шейдер выглядит так:
#version 430 core
layout(location = 0) in vec3 vPosition;
out vec4 color;
void main()
{
gl_Position = vec4(vPosition, 1.0);
color = vec4(1.0f, 0.5f, 0.2f, 1.0f);
}
иесли кому-то интересно, мой фрагментный шейдер выглядит так:
#version 430 core
in vec4 color;
out vec4 fColor;
void main()
{
fColor = color;
}
, и если кому-то интересно посмотреть остальную часть моего кода, он загружается на Github (извините за беспорядок,но я уже некоторое время пытаюсь это отладить).