@motion-script/core / PhongMaterial3D
Interface: PhongMaterial3D
Defined in: render3d/material.ts:157
Classic Blinn-Phong: a diffuse term plus a tight specular highlight.
Extends
MaterialCommon3D.CommonMaps3D.Emissive3D
Properties
alphaMap?
optionalalphaMap?:Texture3D
Defined in: render3d/material.ts:62
Per-pixel opacity, read from the red channel.
Inherited from
CommonMaps3D.alphaMap
alphaTest?
optionalalphaTest?:number
Defined in: render3d/material.ts:30
Structural. Discard fragments below this alpha. Cheap cutout transparency.
Inherited from
aoMap?
optionalaoMap?:Texture3D
Defined in: render3d/material.ts:64
Ambient occlusion, read from the red channel. Needs a second UV set.
Inherited from
CommonMaps3D.aoMap
aoMapIntensity?
optionalaoMapIntensity?:number
Defined in: render3d/material.ts:65
Inherited from
CommonMaps3D.aoMapIntensity
blending?
optionalblending?:Blending3D
Defined in: render3d/material.ts:36
Structural. How the colour combines with the framebuffer.
Inherited from
color?
optionalcolor?:Color
Defined in: render3d/material.ts:159
depthTest?
optionaldepthTest?:boolean
Defined in: render3d/material.ts:45
Test against the depth buffer. Turn off to force draw-on-top.
Inherited from
depthWrite?
optionaldepthWrite?:boolean
Defined in: render3d/material.ts:43
Write to the depth buffer. Turn off for additive glows and inside-out shells.
Inherited from
displacementBias?
optionaldisplacementBias?:number
Defined in: render3d/material.ts:73
Inherited from
CommonMaps3D.displacementBias
displacementMap?
optionaldisplacementMap?:Texture3D
Defined in: render3d/material.ts:71
Displaces vertices along their normals. Needs a subdivided geometry.
Inherited from
CommonMaps3D.displacementMap
displacementScale?
optionaldisplacementScale?:number
Defined in: render3d/material.ts:72
Inherited from
CommonMaps3D.displacementScale
dithering?
optionaldithering?:boolean
Defined in: render3d/material.ts:51
Smooth gradient banding.
Inherited from
emissive?
optionalemissive?:Color
Defined in: render3d/material.ts:86
Self-illumination colour. Does not light other objects (see post bloom).
Inherited from
Emissive3D.emissive
emissiveIntensity?
optionalemissiveIntensity?:number
Defined in: render3d/material.ts:87
Inherited from
Emissive3D.emissiveIntensity
emissiveMap?
optionalemissiveMap?:Texture3D
Defined in: render3d/material.ts:88
Inherited from
Emissive3D.emissiveMap
envMap?
optionalenvMap?:Texture3D
Defined in: render3d/material.ts:75
Reflected environment. Usually inherited from the scene's environment.
Inherited from
CommonMaps3D.envMap
envMapIntensity?
optionalenvMapIntensity?:number
Defined in: render3d/material.ts:77
Multiplies light received from the environment.
Inherited from
CommonMaps3D.envMapIntensity
flatShading?
optionalflatShading?:boolean
Defined in: render3d/material.ts:165
Structural.
key?
optionalkey?:string
Defined in: render3d/material.ts:54
Explicit reconciler identity — see Transform3D.key.
Inherited from
lightMap?
optionallightMap?:Texture3D
Defined in: render3d/material.ts:79
Baked light added on top, unaffected by scene lights.
Inherited from
CommonMaps3D.lightMap
lightMapIntensity?
optionallightMapIntensity?:number
Defined in: render3d/material.ts:80
Inherited from
CommonMaps3D.lightMapIntensity
map?
optionalmap?:Texture3D
Defined in: render3d/material.ts:60
Base colour (albedo). Sampled as sRGB.
Inherited from
CommonMaps3D.map
normalMap?
optionalnormalMap?:Texture3D
Defined in: render3d/material.ts:67
Tangent-space normals. Sampled as linear data, not colour.
Inherited from
CommonMaps3D.normalMap
normalScale?
optionalnormalScale?:number|Vector2
Defined in: render3d/material.ts:69
Normal strength, per axis. A number applies to both.
Inherited from
CommonMaps3D.normalScale
opacity?
optionalopacity?:number
Defined in: render3d/material.ts:19
0–1. Needs transparent to actually show through. Free to animate.
Inherited from
params?
optionalparams?:Record<string,unknown>
Defined in: render3d/geometry.ts:14
Inherited from
polygonOffset?
optionalpolygonOffset?:boolean
Defined in: render3d/material.ts:47
Nudge depth to break z-fighting between coplanar surfaces.
Inherited from
MaterialCommon3D.polygonOffset
polygonOffsetFactor?
optionalpolygonOffsetFactor?:number
Defined in: render3d/material.ts:48
Inherited from
MaterialCommon3D.polygonOffsetFactor
polygonOffsetUnits?
optionalpolygonOffsetUnits?:number
Defined in: render3d/material.ts:49
Inherited from
MaterialCommon3D.polygonOffsetUnits
shininess?
optionalshininess?:number
Defined in: render3d/material.ts:162
Highlight tightness. Higher is smaller and sharper.
side?
optionalside?:Side3D
Defined in: render3d/material.ts:32
Structural. Which faces to rasterize. Default "front".
Inherited from
specular?
optionalspecular?:Color
Defined in: render3d/material.ts:160
specularMap?
optionalspecularMap?:Texture3D
Defined in: render3d/material.ts:163
toneMapped?
optionaltoneMapped?:boolean
Defined in: render3d/material.ts:40
Structural. Apply the scene's tone mapping. Default true.
Inherited from
transparent?
optionaltransparent?:boolean
Defined in: render3d/material.ts:28
Structural. Opt into alpha blending. Off by default because blended surfaces must be depth-sorted, which costs correctness at intersections — prefer alphaTest for cutouts like foliage.
Inherited from
type
type:
"phong"
Defined in: render3d/material.ts:158
vertexColors?
optionalvertexColors?:boolean
Defined in: render3d/material.ts:38
Structural. Read per-vertex colours from the geometry's color buffer.
Inherited from
visible?
optionalvisible?:boolean
Defined in: render3d/material.ts:21
Hide without removing. Free to animate.
Inherited from
wireframe?
optionalwireframe?:boolean
Defined in: render3d/material.ts:34
Structural. Draw edges only.