ShadowMaterial
Description
This component creates a material, that only renders shadows, on an entity with geometry.
Properties
Property | Type | Default | Description |
---|---|---|---|
r | number | 0 | Red channel value of the material [0...255] |
g | number | 0 | Green channel value of the material [0...255] |
b | number | 0 | Blue channel value of the material [0...255] |
opacity | number | 0 | Overall alpha/transparency of the material [0...1] |
side | string | 'front' | Which sides of faces will be rendered. Choose from front, back, or double. |
depthTest | boolean | true | Whether to test depth when rendering this material |
depthWrite | boolean | true | Whether rendering this material impacts the depth buffer |
Functions
Get
Returns a read-only reference.
Example
ecs.ShadowMaterial.get(world, component.eid)
Set
Ensures the component exists on the entity, then assigns the (optional) data to the component.
Example
ecs.ShadowMaterial.set(world, component.eid, {
r: 0,
g: 0,
b: 0,
opacity: 0.5
})
Mutate
Perform an update to the component within a callback function. Return true
to indicate no changes made.
Example
ecs.ShadowMaterial.mutate(world, component.eid, (cursor) => {
cursor.opacity = 0.5;
cursor.r = 128;
cursor.g = 128;
cursor.b = 128;
return false;
})
Remove
Removes the component from the entity.
Example
ecs.ShadowMaterial.remove(world, component.eid)
Has
Returns true
if the component is present on the entity.
Example
ecs.ShadowMaterial.has(world, component.eid)