commit ec262c7

uint  ·  2026-07-31 20:05:21 +0000 UTC
parent f9537fc
add wireframes
6 files changed,  +25, -4
M TODO
M TODO
+1, -0
1@@ -4,4 +4,5 @@ uint:
2 [X] Chunk meshing
3 	[-] Greedily
4 [ ] Fonts
5+[ ] Maus wayland
6 
+3, -0
 1@@ -20,6 +20,9 @@ typedef struct {
 2 	/* game */
 3 	i32 game_render_distance;
 4 
 5+	/* debug */
 6+	i8 debug_wireframe;
 7+
 8 	/* temp */
 9 	float temp_movement_speed;
10 } MGConfig;
+3, -0
1@@ -66,4 +66,7 @@ MGTexture renderer_texture_create(const MGTextureDesc* desc);
2 /* destroy texture */
3 void renderer_texture_destroy(MGTexture id);
4 
5+/* toggle wireframe view */
6+void renderer_debug_wireframe(i8 enabled);
7+
8 #endif /* RENDERER_H */
+3, -0
 1@@ -20,6 +20,9 @@ void config_default(void)
 2 	/* game */
 3 	mg_config.game_render_distance = 32;
 4 
 5+	/* debug */
 6+	mg_config.debug_wireframe = 0;
 7+
 8 	/* temp */
 9 	mg_config.temp_movement_speed = 4.0f;
10 }
+7, -4
 1@@ -1,12 +1,9 @@
 2-#include <SDL2/SDL.h>
 3 #include <stdio.h>
 4 #include <stdlib.h>
 5 
 6-#include "SDL_keyboard.h"
 7-#include "SDL_timer.h"
 8 #include "config.h"
 9-#include "mcproto/mcproto.h"
10 #include "util.h"
11+#include "mcproto/mcproto.h"
12 #include "platform/platform.h"
13 #include "renderer/renderer.h"
14 #include "renderer/test_scene.h"
15@@ -48,6 +45,12 @@ static void input(void)
16 	if (keys[SDL_SCANCODE_LCTRL])
17 		move.y -= 1.0f;
18 
19+	/* debug keys */
20+	if (keys[SDL_SCANCODE_L]) {
21+		mg_config.debug_wireframe = !mg_config.debug_wireframe;
22+		renderer_debug_wireframe(mg_config.debug_wireframe);
23+	}
24+
25 	move = MG_MulV3F(move, mg_config.temp_movement_speed * dt);
26 	camera_move(&cam, move);
27 	SDL_GetRelativeMouseState(&mx, &my);
+8, -0
 1@@ -1,3 +1,4 @@
 2+#include <SDL2/SDL_opengl.h>
 3 #include <sokol_gfx.h>
 4 #include <stb_image_c89.h>
 5 
 6@@ -442,3 +443,10 @@ void renderer_backend_texture_destroy(MGTexture id)
 7 
 8 	*texture = (RendererTexture){ 0 };
 9 }
10+
11+void renderer_debug_wireframe(i8 enabled)
12+{
13+	glPolygonMode(GL_FRONT_AND_BACK, enabled ? GL_LINE : GL_FILL);
14+	sg_reset_state_cache();
15+}
16+