@motion-script/core / Graphics3DOp
Type Alias: Graphics3DOp
Graphics3DOp = {
kind:"push";transform?:Transform3D; } | {kind:"pop"; } | {geometry:Geometry3D;kind:"mesh";material:Material3D| readonlyMaterial3D[];transform?:Transform3D; } | {kind:"light";light:Light3D;transform?:Transform3D; } | {colors?: readonlyColor[];geometry:Geometry3D;instances: readonlyTransform3D[];kind:"instances";material:Material3D;transform?:Transform3D; } | {geometry:Geometry3D;kind:"points";material:Material3D;transform?:Transform3D; } | {geometry:Geometry3D;kind:"line";material:Material3D;mode:LineMode3D;transform?:Transform3D; } | {kind:"sprite";material:Material3D;transform?:Transform3D; } | {animation?: readonlyModelAnimation3D[];kind:"model";override?:Readonly<Record<string,Material3D>>;src:string;transform?:Transform3D; }
Defined in: render3d/graphics3d.ts:48
One recorded operation in a Graphics3D command list.
Hierarchy is expressed with push/pop; a drawable's geometry and material
are inline sub-descriptors, not ops, because in a 3D scene graph they are
properties of an object rather than children of it.
Union Members
Type Literal
{ kind: "push"; transform?: Transform3D; }
Type Literal
{ kind: "pop"; }
Type Literal
{ geometry: Geometry3D; kind: "mesh"; material: Material3D | readonly Material3D[]; transform?: Transform3D; }
Type Literal
{ kind: "light"; light: Light3D; transform?: Transform3D; }
Type Literal
{ colors?: readonly Color[]; geometry: Geometry3D; instances: readonly Transform3D[]; kind: "instances"; material: Material3D; transform?: Transform3D; }
colors?
optionalcolors?: readonlyColor[]
Per-instance tint. Needs a material that reads instance colour.
geometry
geometry:
Geometry3D
instances
instances: readonly
Transform3D[]
Per-instance placement. Length drives the instance count.
kind
kind:
"instances"
material
material:
Material3D
transform?
optionaltransform?:Transform3D
Type Literal
{ geometry: Geometry3D; kind: "points"; material: Material3D; transform?: Transform3D; }
Type Literal
{ geometry: Geometry3D; kind: "line"; material: Material3D; mode: LineMode3D; transform?: Transform3D; }
Type Literal
{ kind: "sprite"; material: Material3D; transform?: Transform3D; }
Type Literal
{ animation?: readonly ModelAnimation3D[]; kind: "model"; override?: Readonly<Record<string, Material3D>>; src: string; transform?: Transform3D; }
animation?
optionalanimation?: readonlyModelAnimation3D[]
kind
kind:
"model"
override?
optionaloverride?:Readonly<Record<string,Material3D>>
Replace materials on the loaded graph, keyed by mesh or material name.
src
src:
string
transform?
optionaltransform?:Transform3D