@motion-script/core / ParametricGeometry3D
Interface: ParametricGeometry3D
Defined in: render3d/geometry.ts:234
A surface sampled over a [0,1] × [0,1] grid — the ergonomic form of
BufferGeometry3D for procedural meshes (waves, terrain, ribbons).
Core evaluates the callbacks into vertex buffers at record time, so the
descriptor handed to the renderer is still plain data. Re-evaluated every
frame, so read signals and the frame time inside vertex.
Geo.parametric({ segments: [70, 70], vertex: (u, v) => ({ x: (u - 0.5) * 20, y: wave(u, v, t), z: (v - 0.5) * 20 }), computeNormals: true, })
Extends
Properties
color?
optionalcolor?: (u,v,position) =>Color
Defined in: render3d/geometry.ts:241
Optional per-vertex colour. Needs vertexColors: true on the material.
Parameters
u
number
v
number
position
Returns
computeNormals?
optionalcomputeNormals?:boolean
Defined in: render3d/geometry.ts:243
Derive vertex normals. Almost always wanted for a lit surface.
params?
optionalparams?:Record<string,unknown>
Defined in: render3d/geometry.ts:14
Inherited from
segments
segments:
number| readonly [number,number]
Defined in: render3d/geometry.ts:237
Grid resolution as [uSegments, vSegments], or one number for both.
type
type:
"parametric"
Defined in: render3d/geometry.ts:235
vertex
vertex: (
u,v) =>ParametricVertex3D
Defined in: render3d/geometry.ts:239
Position for grid coordinate (u, v), both in [0, 1].
Parameters
u
number
v
number