Шейдеры для G-буфера
This commit is contained in:
16
src/main.cpp
16
src/main.cpp
@@ -84,15 +84,15 @@ int main(void)
|
||||
// Включаем проверку по буферу глубины
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
|
||||
// Базовый шейдер
|
||||
ShaderProgram base;
|
||||
// Шейдер для G-буфера
|
||||
ShaderProgram gShader;
|
||||
// Загрузка и компиляция шейдеров
|
||||
base.load(GL_VERTEX_SHADER, "shaders/shader.vert");
|
||||
base.load(GL_FRAGMENT_SHADER, "shaders/shader.frag");
|
||||
base.link();
|
||||
gShader.load(GL_VERTEX_SHADER, "shaders/gshader.vert");
|
||||
gShader.load(GL_FRAGMENT_SHADER, "shaders/gshader.frag");
|
||||
gShader.link();
|
||||
// Установим значения текстур
|
||||
const char* textures_base_shader_names[] = {"tex_diffuse", "tex_ambient", "tex_specular"};
|
||||
base.bindTextures(textures_base_shader_names, sizeof(textures_base_shader_names)/sizeof(const char*));
|
||||
gShader.bindTextures(textures_base_shader_names, sizeof(textures_base_shader_names)/sizeof(const char*));
|
||||
|
||||
|
||||
// Загрузка сцены из obj файла
|
||||
@@ -155,12 +155,12 @@ int main(void)
|
||||
// Активируем буфер кадра
|
||||
fbo.use();
|
||||
// Используем шейдер с освещением
|
||||
base.use();
|
||||
gShader.use();
|
||||
// Очистка буфера цвета и глубины
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
// Тут производится рендер
|
||||
scene.render(base, material_data);
|
||||
scene.render(gShader, material_data);
|
||||
|
||||
// Активируем базовый буфер кадра
|
||||
FBO::useDefault();
|
||||
|
||||
Reference in New Issue
Block a user