@@ -83,14 +83,14 @@ int main(int argc, char** argv) {
8383 Shader shader (" shaders/basic.vs" , " shaders/basic.fs" );
8484 shader.bind ();
8585 int directionLocation = GLCALL (glGetUniformLocation (shader.getShaderId (), " u_directional_light.direction" ));
86- glm::vec3 sunColor = glm::vec3 (0 .8f );
86+ glm::vec3 sunColor = glm::vec3 (0 .0f );
8787 glm::vec3 sunDirection = glm::vec3 (-1 .0f );
8888 GLCALL (glUniform3fv (glGetUniformLocation (shader.getShaderId (), " u_directional_light.diffuse" ), 1 , (float *)&sunColor.data ));
8989 GLCALL (glUniform3fv (glGetUniformLocation (shader.getShaderId (), " u_directional_light.specular" ), 1 , (float *)&sunColor.data ));
9090 sunColor *= 0 .4f ;
9191 GLCALL (glUniform3fv (glGetUniformLocation (shader.getShaderId (), " u_directional_light.ambient" ), 1 , (float *)&sunColor.data ));
9292
93- glm::vec3 pointLightColor = glm::vec3 (0 .0f , 0 .0f , 1 .0f );
93+ glm::vec3 pointLightColor = glm::vec3 (0 .0f , 0 .0f , 0 .0f );
9494 GLCALL (glUniform3fv (glGetUniformLocation (shader.getShaderId (), " u_point_light.diffuse" ), 1 , (float *)&pointLightColor.data ));
9595 GLCALL (glUniform3fv (glGetUniformLocation (shader.getShaderId (), " u_point_light.specular" ), 1 , (float *)&pointLightColor.data ));
9696 pointLightColor *= 0 .2f ;
@@ -99,6 +99,18 @@ int main(int argc, char** argv) {
9999 GLCALL (glUniform1f (glGetUniformLocation (shader.getShaderId (), " u_point_light.quadratic" ), 0 .0028f ));
100100 glm::vec4 pointLightPosition = glm::vec4 (0 .0f , 0 .0f , 10 .0f , 1 .0f );
101101 int positionLocation = GLCALL (glGetUniformLocation (shader.getShaderId (), " u_point_light.position" ));
102+
103+ glm::vec3 spotLightColor = glm::vec3 (1 .0f );
104+ GLCALL (glUniform3fv (glGetUniformLocation (shader.getShaderId (), " u_spot_light.diffuse" ), 1 , (float *)&spotLightColor.data ));
105+ GLCALL (glUniform3fv (glGetUniformLocation (shader.getShaderId (), " u_spot_light.specular" ), 1 , (float *)&spotLightColor.data ));
106+ spotLightColor *= 0 .2f ;
107+ GLCALL (glUniform3fv (glGetUniformLocation (shader.getShaderId (), " u_spot_light.ambient" ), 1 , (float *)&spotLightColor.data ));
108+ glm::vec3 spotLightPosition = glm::vec3 (0 .0f );
109+ GLCALL (glUniform3fv (glGetUniformLocation (shader.getShaderId (), " u_spot_light.position" ), 1 , (float *)&spotLightPosition.data ));
110+ spotLightPosition.z = 1 .0f ;
111+ GLCALL (glUniform3fv (glGetUniformLocation (shader.getShaderId (), " u_spot_light.direction" ), 1 , (float *)&spotLightPosition.data ));
112+ GLCALL (glUniform1f (glGetUniformLocation (shader.getShaderId (), " u_spot_light.innerCone" ), 0 .95f ));
113+ GLCALL (glUniform1f (glGetUniformLocation (shader.getShaderId (), " u_spot_light.outerCone" ), 0 .80f ));
102114
103115 Model monkey;
104116 monkey.init (" models/tree.bmf" , &shader);
0 commit comments