summaryrefslogtreecommitdiff
path: root/src/engine/M_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/M_main.c')
-rw-r--r--src/engine/M_main.c48
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;
+}