summaryrefslogtreecommitdiff
path: root/src/engine/M_main.c
blob: 98cc6055874b6f50348d8d558bf9bc84bcc6aaec (plain)
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
#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("hello\n");
		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;
}