render.c (839B)
1 #include "engine.h" 2 3 static int u_model, u_view, u_proj; 4 5 void render_init() { 6 glUseProgram(Shader); 7 glUniform1i(glGetUniformLocation(Shader, "texture1"), 0); 8 u_model = glGetUniformLocation(Shader, "model"); 9 u_view = glGetUniformLocation(Shader, "view"); 10 u_proj = glGetUniformLocation(Shader, "projection"); 11 } 12 13 void render_begin() { 14 glClearColor(0.0f, 0.0f, 0.0f, 1.0f); 15 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 16 17 glUseProgram(Shader); 18 19 mat4 view = camera_get_view(); 20 mat4 projection = mat4_perspective( 21 camera_get_fov(), 22 (float)WINDOW_WIDTH / (float)WINDOW_HEIGHT, 23 camera_get_near(), 24 camera_get_far()); 25 26 glUniformMatrix4fv(u_view, 1, GL_FALSE, view.m); 27 glUniformMatrix4fv(u_proj, 1, GL_FALSE, projection.m); 28 } 29 30 void render_end() { 31 glfwPollEvents(); 32 glfwSwapBuffers(Window); 33 }