-void setProjectionAndViewUniforms(GLuint progId) {
- GLuint projId = glGetUniformLocation(progId, "projection");
- glm::mat4 proj = glm::perspective(glm::radians(45.f), 1.33f, 0.01f, 10000.f);
- glUniformMatrix4fv(projId, 1, GL_FALSE, glm::value_ptr(proj));
-
- GLuint viewId = glGetUniformLocation(progId, "view");
- glm::mat4 view = glm::lookAt(camPos, camPos + camFront, camUp);
- glUniformMatrix4fv(viewId, 1, GL_FALSE, glm::value_ptr(view));
-}
-
-void drawLight(float d, glm::vec3 lightPos) {
- glUseProgram(solidProgId);
- glBindVertexArray(lightVao);
- setProjectionAndViewUniforms(solidProgId);
- glm::mat4 model = glm::translate(glm::mat4(1.f), lightPos);
- model = glm::scale(model, glm::vec3(0.2));
- GLuint modelId = glGetUniformLocation(solidProgId, "model");
- glUniformMatrix4fv(modelId, 1, GL_FALSE, glm::value_ptr(model));
-
- GLuint colorLoc = glGetUniformLocation(solidProgId, "color");
- glm::vec3 color = glm::vec3(1, 1, 1);
- glUniform3fv(colorLoc, 1, glm::value_ptr(color));
-
- glDrawArrays(GL_TRIANGLES, 0, 36);