diff options
Diffstat (limited to 'src/engine/M_main.c')
| -rw-r--r-- | src/engine/M_main.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/engine/M_main.c b/src/engine/M_main.c new file mode 100644 index 0000000..93c186e --- /dev/null +++ b/src/engine/M_main.c @@ -0,0 +1,48 @@ +#include <SDL3/SDL_video.h> + +#include "M_game.h" +#include "M_object.h" +#include "M_cube.h" +#include "M_block.h" +#include "M_chunk.h" + +int main() +{ + M_Game game; + M_initGame(&game, "MNM Engine"); + M_initPlayer(&game.player); + + M_ViewModel cube_model = M_createCube(); + + M_ShaderProgram my_shader = M_createShaderProgram( + "../src/shaders/test.vert", + "../src/shaders/test.frag" + ); + + M_Object my_cube; + M_createObject(&my_cube, &cube_model); + my_cube.shader = &my_shader; + + M_scaleObject(&my_cube, (vec3){0.5f, 0.5, 0.5f}); + + M_createBlockType(my_cube, &game.block_atlas); + + M_Chunk my_chunk; + M_generateChunk(&my_chunk); + + M_moveObject(&my_cube, (vec3){0.0f, -0.5f, -1.0f}); + + M_bindViewModel(my_cube.model); + + while (game.running) { + glClear(GL_COLOR_BUFFER_BIT); + glClear(GL_DEPTH_BUFFER_BIT); + M_renderChunk(&game, &my_chunk); + SDL_GL_SwapWindow(game.window); + } + + M_killShaderProgram(&my_shader); + M_killViewModel(&cube_model); + M_killGame(&game); + return 0; +} |
