OptionalallowWhether it's possible to override the material with Scene#overrideMaterial or not.
OptionalalphaEnables alpha hashed transparency, an alternative to Material#transparent or Material#alphaTest. The material will not be rendered if opacity is lower than a random threshold. Randomization introduces some grain or noise, but approximates alpha blending without the associated problems of sorting. Using TAA can reduce the resulting noise.
OptionalalphaThe alpha map is a grayscale texture that controls the opacity across the surface (black: fully transparent; white: fully opaque).
Only the color of the texture is used, ignoring the alpha channel if one exists. For RGB and RGBA textures, the renderer will use the green channel when sampling this texture due to the extra bit of precision provided for green in DXT-compressed and uncompressed RGB 565 formats. Luminance-only and luminance/alpha textures will also still work as expected.
OptionalalphaOptionalalphaWhether alpha to coverage should be enabled or not. Can only be used with MSAA-enabled contexts
(meaning when the renderer was created with antialias parameter set to true). Enabling this
will smooth aliasing on clip plane edges and alphaTest-clipped edges.
OptionalaoThe red channel of this texture is used as the ambient occlusion map. Requires a second set of UVs.
OptionalaoIntensity of the ambient occlusion effect. Range is [0,1], where 0
disables ambient occlusion. Where intensity is 1 and the AO map's
red channel is also 1, ambient light is fully occluded on a surface.
OptionalblendRepresents the alpha value of the constant blend color.
This property has only an effect when using custom blending with ConstantAlpha or OneMinusConstantAlpha.
OptionalblendRepresents the RGB values of the constant blend color.
This property has only an effect when using custom blending with ConstantColor or OneMinusConstantColor.
OptionalblendDefines the blending destination factor.
OptionalblendDefines the blending destination alpha factor.
OptionalblendDefines the blending equation.
OptionalblendDefines the blending equation of the alpha channel.
OptionalblendingDefines the blending type of the material.
It must be set to CustomBlending if custom blending properties like
Material#blendSrc, Material#blendDst or Material#blendEquation
should have any effect.
OptionalblendDefines the blending source factor.
OptionalblendDefines the blending source alpha factor.
OptionalbumpThe texture to create a bump map. The black and white values map to the perceived depth in relation to the lights. Bump doesn't actually affect the geometry of the object, only the lighting. If a normal map is defined this will be ignored.
OptionalbumpHow much the bump map affects the material. Typical range is [0,1].
OptionalclipChanges the behavior of clipping planes so that only their intersection is clipped, rather than their union.
OptionalclippingUser-defined clipping planes specified as THREE.Plane objects in world
space. These planes apply to the objects this material is attached to.
Points in space whose signed distance to the plane is negative are clipped
(not rendered). This requires WebGLRenderer#localClippingEnabled to
be true.
OptionalclipDefines whether to clip shadows according to the clipping planes specified on this material.
OptionalcolorColor of the material.
OptionalcolorWhether to render the material's color.
This can be used in conjunction with Object3D#renderOder to create invisible objects that occlude other objects.
OptionaldepthDefines the depth function.
OptionaldepthWhether to have depth test enabled when rendering this material. When the depth test is disabled, the depth write will also be implicitly disabled.
OptionaldepthWhether rendering this material has any effect on the depth buffer.
When drawing 2D overlays it can be useful to disable the depth writing in order to layer several things together without creating z-index artifacts.
OptionaldisplacementThe offset of the displacement map's values on the mesh's vertices. The bias is added to the scaled sample of the displacement map. Without a displacement map set, this value is not applied.
OptionaldisplacementThe displacement map affects the position of the mesh's vertices. Unlike other maps which only affect the light and shade of the material the displaced vertices can cast shadows, block other objects, and otherwise act as real geometry. The displacement texture is an image where the value of each pixel (white being the highest) is mapped against, and repositions, the vertices of the mesh.
OptionaldisplacementHow much the displacement map affects the mesh (where black is no displacement, and white is maximum displacement). Without a displacement map set, this value is not applied.
OptionalditheringWhether to apply dithering to the color to remove the appearance of banding.
OptionalemissiveEmissive (light) color of the material, essentially a solid color unaffected by other lighting.
OptionalemissiveIntensity of the emissive light. Modulates the emissive color.
OptionalemissiveSet emissive (glow) map. The emissive map color is modulated by the emissive color and the emissive intensity. If you have an emissive map, be sure to set the emissive color to something other than black.
OptionalenvThe environment map. To ensure a physically correct rendering, environment maps are internally pre-processed with PMREMGenerator.
OptionalenvScales the effect of the environment map by multiplying its color.
OptionalenvThe rotation of the environment map in radians.
OptionalflatWhether the material is rendered with flat shading or not.
OptionalfogWhether the material is affected by fog or not.
OptionalforceWhether double-sided, transparent objects should be rendered with a single pass or not.
The engine renders double-sided, transparent objects with two draw calls (back faces first,
then front faces) to mitigate transparency artifacts. There are scenarios however where this
approach produces no quality gains but still doubles draw calls e.g. when rendering flat
vegetation like grass sprites. In these cases, set the forceSinglePass flag to true to
disable the two pass rendering to avoid performance issues.
OptionallightThe light map. Requires a second set of UVs.
OptionallightIntensity of the baked light.
OptionalmapThe color map. May optionally include an alpha channel, typically combined
with Material#transparent or Material#alphaTest. The texture map
color is modulated by the diffuse color.
OptionalmetalnessHow much the material is like a metal. Non-metallic materials such as wood
or stone use 0.0, metallic use 1.0, with nothing (usually) in between.
A value between 0.0 and 1.0 could be used for a rusty metal look.
If metalnessMap is also provided, both values are multiplied.
OptionalmetalnessThe blue channel of this texture is used to alter the metalness of the material.
OptionalnameThe name of the material.
OptionalnormalThe texture to create a normal map. The RGB values affect the surface
normal for each pixel fragment and change the way the color is lit. Normal
maps do not change the actual shape of the surface, only the lighting. In
case the material has a normal map authored using the left handed
convention, the y component of normalScale should be negated to compensate
for the different handedness.
OptionalnormalThe type of normal map.
OptionalnormalHow much the normal map affects the material. Typical value range is [0,1].
OptionalopacityDefines how transparent the material is.
A value of 0.0 indicates fully transparent, 1.0 is fully opaque.
If the Material#transparent is not set to true,
the material will remain fully opaque and this value will only affect its color.
OptionalpolygonWhether to use polygon offset or not. When enabled, each fragment's depth value will be offset after it is interpolated from the depth values of the appropriate vertices. The offset is added before the depth test is performed and before the value is written into the depth buffer.
Can be useful for rendering hidden-line images, for applying decals to surfaces, and for rendering solids with highlighted edges.
OptionalpolygonSpecifies a scale factor that is used to create a variable depth offset for each polygon.
OptionalpolygonIs multiplied by an implementation-specific value to create a constant depth offset.
OptionalprecisionOverride the renderer's default precision for this material.
OptionalpremultipliedWhether to premultiply the alpha (transparency) value.
OptionalroughnessHow rough the material appears. 0.0 means a smooth mirror reflection, 1.0
means fully diffuse. If roughnessMap is also provided,
both values are multiplied.
OptionalroughnessThe green channel of this texture is used to alter the roughness of the material.
OptionalshadowDefines which side of faces cast shadows. If null, the side casting shadows
is determined as follows:
FrontSide, the back side cast shadows.BackSide, the front side cast shadows.DoubleSide, both sides cast shadows.OptionalsideDefines which side of faces will be rendered - front, back or both.
OptionalstencilWhich stencil operation to perform when the comparison function returns false.
OptionalstencilThe stencil comparison function to use.
OptionalstencilThe bit mask to use when comparing against the stencil buffer.
OptionalstencilThe value to use when performing stencil comparisons or stencil operations.
OptionalstencilWhether stencil operations are performed against the stencil buffer. In
order to perform writes or comparisons against the stencil buffer this
value must be true.
OptionalstencilThe bit mask to use when writing to the stencil buffer.
OptionalstencilWhich stencil operation to perform when the comparison function returns
true but the depth test fails.
OptionalstencilWhich stencil operation to perform when the comparison function returns
true and the depth test passes.
OptionaltoneDefines whether this material is tone mapped according to the renderer's tone mapping setting.
It is ignored when rendering to a render target or using post processing or when using
WebGPURenderer. In all these cases, all materials are honored by tone mapping.
OptionaltransparentDefines whether this material is transparent. This has an effect on rendering as transparent objects need special treatment and are rendered after non-transparent objects.
When set to true, the extent to which the material is transparent is controlled by Material#opacity.
OptionaluserAn object that can be used to store custom data about the Material. It should not hold references to functions as these will not be cloned.
OptionalvertexIf set to true, vertex colors should be used.
The engine supports RGB and RGBA vertex colors depending on whether a three (RGB) or four (RGBA) component color buffer attribute is used.
OptionalvisibleDefines whether 3D objects using this material are visible.
OptionalwireframeRenders the geometry as a wireframe.
OptionalwireframeDefines appearance of wireframe ends.
Can only be used with SVGRenderer.
OptionalwireframeDefines appearance of wireframe joints.
Can only be used with SVGRenderer.
OptionalwireframeControls the thickness of the wireframe.
Can only be used with SVGRenderer.
Make all properties in T optional