Documentation / scene / GrassLayer
Class: GrassLayer
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:104
Grass layer class
Extends
Disposable
Constructors
Constructor
new GrassLayer(
terrain,seed,bladeWidth,bladeHeight,albedoMap?):GrassLayer
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:130
Creates an instance of GrassLayer
Parameters
terrain
Clipmap terrain object
seed
number
Seed for deterministic blade placement, usually the layer index
bladeWidth
number
Grass blade width
bladeHeight
number
Grass blade height
albedoMap?
Texture2D
Albedo texture for the blade
Returns
GrassLayer
Overrides
Disposable.constructor
Accessors
disposed
Get Signature
get disposed():
boolean
Defined in: libs/base/dist/index.d.ts:6107
Returns
boolean
Inherited from
Disposable.disposed
numBlades
Get Signature
get numBlades():
number
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:179
How many grass blades are currently generated in this layer
Returns
number
densityMap
Get Signature
get densityMap():
Uint8Array<ArrayBufferLike>
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:188
Density map of this layer, one byte per texel (0 = no grass, 255 = full density). Texel (x, z) covers the normalized terrain region [x/w..(x+1)/w, z/h..(z+1)/h]. After modifying the data, call GrassLayer.updateDensityRegion to regenerate the affected blade instances.
Returns
Uint8Array<ArrayBufferLike>
densityMapWidth
Get Signature
get densityMapWidth():
number
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:192
Width of the density map in texels
Returns
number
densityMapHeight
Get Signature
get densityMapHeight():
number
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:196
Height of the density map in texels
Returns
number
cellsPerTexel
Get Signature
get cellsPerTexel():
number
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:203
Number of placement cells per density map texel along each axis. The maximum blade count per texel is the square of this value.
Returns
number
Set Signature
set cellsPerTexel(
val):void
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:206
Parameters
val
number
Returns
void
bladeWidth
Get Signature
get bladeWidth():
number
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:275
Grass blade width in this layer
Returns
number
Set Signature
set bladeWidth(
val):void
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:278
Parameters
val
number
Returns
void
bladeHeight
Get Signature
get bladeHeight():
number
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:282
Grass blade height in this layer
Returns
number
Set Signature
set bladeHeight(
val):void
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:285
Parameters
val
number
Returns
void
Methods
on()
on<
K>(type,listener,context?):void
Defined in: libs/base/dist/index.d.ts:630
IEventTarget.on
Type Parameters
K
K extends "dispose"
Parameters
type
K
listener
EventListener<{ dispose: []; }, K>
context?
unknown
Returns
void
Inherited from
Disposable.on
once()
once<
K>(type,listener,context?):void
Defined in: libs/base/dist/index.d.ts:634
IEventTarget.once
Type Parameters
K
K extends "dispose"
Parameters
type
K
listener
EventListener<{ dispose: []; }, K>
context?
unknown
Returns
void
Inherited from
Disposable.once
off()
off<
K>(type,listener?,context?):void
Defined in: libs/base/dist/index.d.ts:638
IEventTarget.off
Type Parameters
K
K extends "dispose"
Parameters
type
K
listener?
EventListener<{ dispose: []; }>
context?
unknown
Returns
void
Inherited from
Disposable.off
dispatchEvent()
dispatchEvent<
K>(type, ...args):void
Defined in: libs/base/dist/index.d.ts:642
IEventTarget.dispatchEvent
Type Parameters
K
K extends "dispose"
Parameters
type
K
args
...object[K]
Returns
void
Inherited from
Disposable.dispatchEvent
dispose()
dispose():
void
Defined in: libs/base/dist/index.d.ts:6108
Returns
void
Inherited from
Disposable.dispose
setAlbedoMap()
setAlbedoMap(
albedoMap):void
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:165
Sets the albedo texture of grass blades in this layer
Parameters
albedoMap
Texture2D
Albedo texture to set
Returns
void
getAlbedoMap()
getAlbedoMap():
Texture2D<unknown>
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:175
Gets the albedo texture of grass blades in this layer
Returns
Texture2D<unknown>
- Albedo texture of grass blades in this layer
setDensityData()
setDensityData(
width,height,cellsPerTexel,data):void
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:220
Replaces the density map and regenerates all blade instances
Parameters
width
number
Density map width in texels
height
number
Density map height in texels
cellsPerTexel
number
Placement cells per texel along each axis
data
Uint8Array
Density data, one byte per texel
Returns
void
updateDensityRegion()
updateDensityRegion(
minTexelX,minTexelZ,maxTexelX,maxTexelZ):void
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:238
Regenerates blade instances for all tiles overlapping a density map region
Parameters
minTexelX
number
Minimum x texel of the region (inclusive)
minTexelZ
number
Minimum z texel of the region (inclusive)
maxTexelX
number
Maximum x texel of the region (exclusive)
maxTexelZ
number
Maximum z texel of the region (exclusive)
Returns
void
rebuild()
rebuild():
void
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:261
Regenerates blade instances for the entire layer
Returns
void
setBladeSize()
setBladeSize(
width,height):void
Defined in: libs/scene/src/scene/terrain-cm/grass.ts:293
Sets the size of grass blades in this layer
Parameters
width
number
Grass blade width
height
number
Grass blade height
Returns
void