Only compile normals and light shaders when needed
This commit is contained in:
parent
acefc1d254
commit
ce561fc44d
19
src/main.cc
19
src/main.cc
@ -273,12 +273,17 @@ int main() {
|
||||
Mesh screen = {screen_vertices, screen_indices, {}};
|
||||
|
||||
Shader main_shader {"shaders/vert.glsl", "shaders/frag.glsl"};
|
||||
Shader normal_vis_shader {"shaders/normal_vert.glsl", "shaders/normal_frag.glsl", "shaders/normal_geo.glsl"};
|
||||
Shader light_shader {"shaders/vert.glsl", "shaders/light_frag.glsl"};
|
||||
Shader skybox_shader {"shaders/sb_vert.glsl", "shaders/sb_frag.glsl"};
|
||||
Shader reflective_shader {"shaders/vert.glsl", "shaders/reflective_frag.glsl"};
|
||||
Shader refractive_shader {"shaders/vert.glsl", "shaders/refractive_frag.glsl"};
|
||||
Shader post_processing {"shaders/pp_vert.glsl", "shaders/pp_frag.glsl"};
|
||||
#if NORMALS
|
||||
Shader normal_vis_shader {"shaders/normal_vert.glsl", "shaders/normal_frag.glsl", "shaders/normal_geo.glsl"};
|
||||
#endif
|
||||
|
||||
#if POINT_LIGHTS
|
||||
Shader light_shader {"shaders/vert.glsl", "shaders/light_frag.glsl"};
|
||||
#endif
|
||||
|
||||
const float camera_speed = 25.0f;
|
||||
glm::vec3 camera_position = glm::vec3(-2.5f, 0.0f, 8.0f);
|
||||
@ -377,12 +382,18 @@ int main() {
|
||||
|
||||
// Set the shaders binding points
|
||||
main_shader.set_uniform_block_binding_point ("Common", ubo_binding_point);
|
||||
normal_vis_shader.set_uniform_block_binding_point("Common", ubo_binding_point);
|
||||
light_shader.set_uniform_block_binding_point ("Common", ubo_binding_point);
|
||||
skybox_shader.set_uniform_block_binding_point ("Common", ubo_binding_point);
|
||||
reflective_shader.set_uniform_block_binding_point("Common", ubo_binding_point);
|
||||
refractive_shader.set_uniform_block_binding_point("Common", ubo_binding_point);
|
||||
|
||||
#if NORMALS
|
||||
normal_vis_shader.set_uniform_block_binding_point("Common", ubo_binding_point);
|
||||
#endif
|
||||
|
||||
#if POINT_LIGHTS
|
||||
light_shader.set_uniform_block_binding_point ("Common", ubo_binding_point);
|
||||
#endif
|
||||
|
||||
// Add projection matrix to uniform buffer
|
||||
glBufferSubData(GL_UNIFORM_BUFFER, 0, sizeof(glm::mat4), glm::value_ptr(projection));
|
||||
glBindBuffer(GL_UNIFORM_BUFFER, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user