28 lines
558 B
Odin
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)))
|
|
}
|
|
}
|