engine

game engine on C
git clone git://git.evenfri.pw/engine.git
Log | Files | Refs | README

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 }