Шейдеры для работы с прямоугольником

This commit is contained in:
Ковалев Роман Евгеньевич 2022-11-23 14:24:49 +03:00 committed by R.E. Kovalev
parent 17b9c02527
commit 196fe28e0e
3 changed files with 29 additions and 1 deletions

12
shaders/quad.frag Normal file
View File

@ -0,0 +1,12 @@
#version 420 core
in vec2 texCoord;
uniform sampler2D tex;
out vec4 color;
void main()
{
color = texture2D(tex, texCoord);
}

11
shaders/quad.vert Normal file
View File

@ -0,0 +1,11 @@
#version 420 core
layout(location = 0) in vec3 pos;
out vec2 texCoord;
void main()
{
gl_Position = vec4(pos, 1.0);
texCoord = (pos.xy + vec2(1.0)) / 2; // Переход от [-1;1] к [0;1]
}

View File

@ -140,7 +140,12 @@ int main(void)
// Базовый буфер кадра
glBindFramebuffer(GL_FRAMEBUFFER, 0);
// Шейдер для переноса текстуры на прямоугольник
ShaderProgram quadProgram;
// Загрузка и компиляция шейдеров
quadProgram.load(GL_VERTEX_SHADER, "shaders/quad.vert");
quadProgram.load(GL_FRAGMENT_SHADER, "shaders/quad.frag");
quadProgram.link();
// Пока не произойдет событие запроса закрытия окна
while(!glfwWindowShouldClose(window))