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] :)

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] :)

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

defn

mesh-index-count

(mesh-index-count [m : 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] :)

x component of vertex i. Since: Phase 1

defn

mesh-get-vy

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

y component of vertex i. Since: Phase 1

defn

mesh-get-vz

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

z component of vertex i. Since: Phase 1

defn

mesh-get-nx

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

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

defn

mesh-get-ny

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

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

defn

mesh-get-nz

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

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

defn

mesh-get-index

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

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

defn

mesh-free

(mesh-free [m : int] :)

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