diff options
| author | DrNuget <drnuget@outlook.com> | 2026-01-07 04:58:54 +0200 |
|---|---|---|
| committer | DrNuget <drnuget@outlook.com> | 2026-01-07 04:58:54 +0200 |
| commit | 7f3aa1cff755d21d972457b05c140cf465b9fa19 (patch) | |
| tree | 748b74a65d71ead9d0d7ade533074c5a643076d7 /src/engine/M_render.c | |
| parent | 67592a66dd9bcc4d79d23624a9abfd8f2c6e92ff (diff) | |
| download | mnm-7f3aa1cff755d21d972457b05c140cf465b9fa19.tar.gz | |
some basic 3D rendering and the base for chunk generation etc.
Diffstat (limited to 'src/engine/M_render.c')
| -rw-r--r-- | src/engine/M_render.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/engine/M_render.c b/src/engine/M_render.c new file mode 100644 index 0000000..1d83ceb --- /dev/null +++ b/src/engine/M_render.c @@ -0,0 +1,17 @@ +#include "M_render.h" + +void M_setupProjection(float fov, float aspect_ratio, M_RenderInfo *render_info) +{ + glm_perspective(fov, aspect_ratio, 0.01f, 10.0f, render_info->projection_matrix); +} + +void M_drawObject(M_RenderInfo *render_info, M_Camera *camera, M_Object *obj) +{ + glUseProgram(obj->shader->prog); + glUniformMatrix4fv(obj->shader->transform_loc, 1, GL_FALSE, (float*)obj->transform); + M_cameraViewMatrix(camera); + glUniformMatrix4fv(obj->shader->view_loc, 1, GL_FALSE, (float*)camera->view_matrix); + glUniformMatrix4fv(obj->shader->projection_loc, 1, GL_FALSE, (float*)render_info->projection_matrix); + + glDrawElements(GL_TRIANGLES, obj->model->num_indices, GL_UNSIGNED_INT, 0); +} |
