Не могу связать шейдеры с программным объектом в OpenGL, не могу отлаживатьC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Не могу связать шейдеры с программным объектом в OpenGL, не могу отлаживать

Сообщение Гость »


Я присоединяю вершинный и фрагментный шейдер к программному объекту, а затем пытаюсь связать указанную программу. GL_LINK_STATUS возвращает false. Я проверяю информационный журнал, там куча бессмысленных символов. Я проверяю GL_INFO_LOG_LENGTH, он равен 0. Как мне исправить эту ситуацию?

//это конец моей функции LoadBasicShaders glAttachShader (программа, vertShader); glAttachShader (программа, fragShader); glLinkProgram (программа); статус GLint; glGetProgramiv(программа, GL_LINK_STATUS, &статус); если (статус == GL_FALSE) { Глинт logLength = 0; glGetProgramiv (программа, GL_INFO_LOG_LENGTH, &logLength); std::vector log(logLength + 1); glGetProgramInfoLog(программа, logLength, &logLength, &log[0]); fprintf(stderr, "%s\n\n", log); //logLength возвращает 0, log возвращает, казалось бы, случайные символы return -3;//только мой код ошибки } Мои шейдеры самые простые из возможных, поскольку я только начинаю. Вот вершинный шейдер:

#версия 330 макет (местоположение = 0) в позиции vec4; пустая функция() { gl_Position = позиция; } А вот фрагментный шейдер:

#версия 330 из vec4 outputColor; пустая функция() { выходной цвет = vec4(1.0, 1.0, 1.0, 1.0); } Я использую GLFW для создания окна OpenGL и GLEW для загрузки функций:
if (!glfwInit()) {/*проверка ошибок*/} окно = glfwCreateWindow(800, 600, "Swash", NULL, NULL); если (!окно) {/*дополнительная проверка ошибок*/} glfwMakeContextCurrent (окно); glfwSwapInterval (1); glfwSetKeyCallback (окно, key_callback); если (glewInit() != GLEW_OK) {/*ты угадал*/} //до этого момента не вызывайте ничего, что связано с нестандартными функциями OpenGL GLuint шейдерПрограмма; intshaderLoadResult = LoadBasicShaders(shaderProgram, "../res/vert.shader", "../res/frag.shader");
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • В чем разница между экземпляром, объектом, объектом класса и объектом экземпляра в Python? [закрыто]
    Anonymous » » в форуме Python
    0 Ответы
    53 Просмотры
    Последнее сообщение Anonymous
  • Мои шейдеры постобработки в OpenGL не работают [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Как текстуры, шейдеры и т. д. упаковываются в двоичные файлы? [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    51 Просмотры
    Последнее сообщение Anonymous
  • Попытка заставить шейдеры PyOpenGL работать (появляется только белый экран); Может быть, вершина неправильная?
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Есть ли способ извлечь шейдеры из APK?
    Anonymous » » в форуме Android
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»