28 lines
558 B
Odin

package halfedge
import "game:debug"
import rl "vendor:raylib"
debug_draw_mesh_wires :: proc(mesh: Half_Edge_Mesh, color: rl.Color) {
for face, f in mesh.faces {
it := iterator_face_edges(mesh, Face_Index(f))
center: Vec3
num_points := 0
for edge in iterate_next_edge(&it) {
a, b := get_edge_points(mesh, edge)
center += a
num_points += 1
rl.DrawLine3D(a, b, color)
}
center /= f32(num_points)
rl.DrawSphereWires(center, 0.1, 4, 4, rl.RED)
rl.DrawLine3D(center, center + face.normal, debug.int_to_color(i32(f + 1)))
}
}