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, {}};
|
Mesh screen = {screen_vertices, screen_indices, {}};
|
||||||
|
|
||||||
Shader main_shader {"shaders/vert.glsl", "shaders/frag.glsl"};
|
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 skybox_shader {"shaders/sb_vert.glsl", "shaders/sb_frag.glsl"};
|
||||||
Shader reflective_shader {"shaders/vert.glsl", "shaders/reflective_frag.glsl"};
|
Shader reflective_shader {"shaders/vert.glsl", "shaders/reflective_frag.glsl"};
|
||||||
Shader refractive_shader {"shaders/vert.glsl", "shaders/refractive_frag.glsl"};
|
Shader refractive_shader {"shaders/vert.glsl", "shaders/refractive_frag.glsl"};
|
||||||
Shader post_processing {"shaders/pp_vert.glsl", "shaders/pp_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;
|
const float camera_speed = 25.0f;
|
||||||
glm::vec3 camera_position = glm::vec3(-2.5f, 0.0f, 8.0f);
|
glm::vec3 camera_position = glm::vec3(-2.5f, 0.0f, 8.0f);
|
||||||
@ -377,12 +382,18 @@ int main() {
|
|||||||
|
|
||||||
// Set the shaders binding points
|
// Set the shaders binding points
|
||||||
main_shader.set_uniform_block_binding_point ("Common", ubo_binding_point);
|
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);
|
skybox_shader.set_uniform_block_binding_point ("Common", ubo_binding_point);
|
||||||
reflective_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);
|
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
|
// Add projection matrix to uniform buffer
|
||||||
glBufferSubData(GL_UNIFORM_BUFFER, 0, sizeof(glm::mat4), glm::value_ptr(projection));
|
glBufferSubData(GL_UNIFORM_BUFFER, 0, sizeof(glm::mat4), glm::value_ptr(projection));
|
||||||
glBindBuffer(GL_UNIFORM_BUFFER, 0);
|
glBindBuffer(GL_UNIFORM_BUFFER, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user