1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#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"
#include <stdio.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,
(M_ObjectInfo){
.type = M_OBJECT_CUBE
}
);
my_cube.shader = &my_shader;
M_scaleObject(&my_cube, (vec3){0.5f, 0.5, 0.5f});
M_createBlockType(my_cube, &game.block_atlas);
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});
while (game.running) {
printf("Pitch: %f, Yaw: %f\n",
game.player.camera.pitch,
game.player.camera.yaw
);
M_handleEvents(&game);
glClear(GL_COLOR_BUFFER_BIT);
glClear(GL_DEPTH_BUFFER_BIT);
M_renderChunk(&game, &my_chunk);
// M_drawObject(&game.render_info, &game.player.camera, &my_cube);
SDL_GL_SwapWindow(game.window);
}
M_killShaderProgram(&my_shader);
M_killViewModel(&cube_model);
M_killGame(&game);
return 0;
}
|