diff --git a/src/main.cc b/src/main.cc index 841c326..9eb9e07 100644 --- a/src/main.cc +++ b/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);