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

This commit is contained in:
parent 717e083bc0
commit c32a450770
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 = texture(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

@ -137,7 +137,12 @@ int main(void)
// Базовый буфер кадра // Базовый буфер кадра
glBindFramebuffer(GL_FRAMEBUFFER, 0); 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)) while(!glfwWindowShouldClose(window))