No matching definitions.

mesh/marching-cubes

src/mesh/marching-cubes.tur

CPU Marching Cubes mesh extraction from an SdfExpr.

Since: Phase 1

defn

mc-extract

(mc-extract [sdf :int res :int bx0 :float by0 :float bz0 :float bx1 :float by1 :float bz1 :float] :int)

run Marching Cubes and return a triangle mesh.

sdfSdfExpr handle
resvoxel resolution per axis (e.g. 32, 64)
bx0 by0 bz0 -- bounding-box minimum
bx1 by1 bz1 -- bounding-box maximum

Opaque :int Mesh handle, or 0 on failure. Free with mesh-free.

(mc-extract sphere 32  -2.0 -2.0 -2.0  2.0 2.0 2.0)

Since: Phase 1

defn

mesh-vertex-count

(mesh-vertex-count [m :int] :int)

number of vertices (3 per triangle). Since: Phase 1

defn

mesh-index-count

(mesh-index-count [m :int] :int)

number of triangles * 3 (same as vertex count for flat mesh). Since: Phase 1

defn

mesh-get-vx

(mesh-get-vx [m :int i :int] :float)

x component of vertex i. Since: Phase 1

defn

mesh-get-vy

(mesh-get-vy [m :int i :int] :float)

y component of vertex i. Since: Phase 1

defn

mesh-get-vz

(mesh-get-vz [m :int i :int] :float)

z component of vertex i. Since: Phase 1

defn

mesh-get-nx

(mesh-get-nx [m :int i :int] :float)

x component of normal at vertex i. Since: Phase 1

defn

mesh-get-ny

(mesh-get-ny [m :int i :int] :float)

y component of normal at vertex i. Since: Phase 1

defn

mesh-get-nz

(mesh-get-nz [m :int i :int] :float)

z component of normal at vertex i. Since: Phase 1

defn

mesh-get-index

(mesh-get-index [m :int i :int] :int)

vertex index i (identity for flat mesh). Since: Phase 1

defn

mesh-free

(mesh-free [m :int] :void)

free a Mesh returned by mc-extract. Since: Phase 1