Renderer · class
PlumeRenderer
Explained in Hello world.
class PlumeRendererimport { PlumeRenderer } from '@driftengine/core';Constructor
new
constructor(gl: WebGL2RenderingContext, plumes: readonly PlumePlacement[], options: PlumeOptions, noiseOctaves: number)| Parameter | Type | Description |
|---|---|---|
gl | WebGL2RenderingContext | |
plumes | readonly PlumePlacement[] | |
options | PlumeOptions | |
noiseOctaves | number |
Methods
setScale
setScale(gl: WebGL2RenderingContext, index: number, scale: number): voidScale one plume, 0 to hide it.
| Parameter | Type | Description |
|---|---|---|
gl | WebGL2RenderingContext | |
index | number | |
scale | number |
More
Writes only that plume's own vertices — every blade of its cross — so turning a slick's fire on costs a handful of floats rather than a re-upload of the batch. The caller owns when; the renderer has no idea what a slick is.
draw
draw(gl: WebGL2RenderingContext, camera: FrameView, timeSeconds: number, atmosphere: Atmosphere, underwaterEnabled: boolean, atmosphereCameraY: number, clipPlane: Float32Array | null, windX?: number, windZ?: number, originX?: number, originY?: number, originZ?: number): voidDraw the batch. Call after the sky: these blend without writing depth, and the sky at depth 1.0 under LEQUAL would otherwise overwrite anything drawn against open background.
| Parameter | Type | Description |
|---|---|---|
gl | WebGL2RenderingContext | |
camera | FrameView | |
timeSeconds | number | |
atmosphere | Atmosphere | |
underwaterEnabled | boolean | |
atmosphereCameraY | number | |
clipPlane | Float32Array | null | |
windX? | number | |
windZ? | number | |
originX? | number | |
originY? | number | |
originZ? | number |
dispose
dispose(gl: WebGL2RenderingContext): void| Parameter | Type | Description |
|---|---|---|
gl | WebGL2RenderingContext |