Текстура цветового буфера OpenGL для постобработки с использованием неправильного шейдера :( (C++)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Текстура цветового буфера OpenGL для постобработки с использованием неправильного шейдера :( (C++)

Сообщение Anonymous »

Я пытаюсь реализовать эффекты постобработки в OpenGL, рисуя четырехугольную (2 tri) текстуру, которая повторяет экран, но использует неправильный шейдер
Я не очень разбираюсь в OpenGL, но думаю, что glUseProgram() заставляет окно использовать входную программу шейдера, но это не работает. Я использую учебник этого парня: и почти уверен, что ошибка где-то в цикле рендеринга
код:
while(!glfwWindowShouldClose(window))
{

glUseProgram(defaultShader.program); // uses the normal shader
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, framebuffer);

glClearColor(0, 0, 0, 1);
glClear(GL_COLOR_BUFFER_BIT);

glBindVertexArray(VAO.buffer); // VAO is for a test triangle

glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_INT,0); // drawing test triangle

glBindVertexArray(0);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);

glClearColor(0.4, 0.8, 1, 1);
glClear(GL_COLOR_BUFFER_BIT);

glUseProgram(frameShader.program); // framebuffer shader
glBindVertexArray(quadVAO); // the quad's VAO uses x y and texturec ooordinates
glUniform1i(glGetUniformLocation(frameShader.program, "screenTexture"), textureColorbuffer); // not explicitly said in tutorialbut probably needed for the uniform^^^^

glBindTexture(GL_TEXTURE_2D, textureColorbuffer);
glDrawArrays(GL_TRIANGLES, 0, 3);

glfwSwapBuffers(window);
glfwPollEvents();

}


Подробнее здесь: https://stackoverflow.com/questions/786 ... g-shader-c
Ответить

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

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

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

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

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