Skip to main content

Class: BoxLayer

A layer of a canvas box. This is a group of six canvases that are rendered as a single mesh.

Hierarchy​

  • Mesh

    ↳ BoxLayer

Constructors​

constructor​

• new BoxLayer(width, height, depth, widthSegments, heightSegments, depthSegments, side, transparent, receiveShadows?, underwaterFog?, mergeFaces?): BoxLayer

Create a six-sided canvas box layer.

Parameters​

NameTypeDefault valueDescription
widthnumberundefinedThe width of the box layer.
heightnumberundefinedThe height of the box layer.
depthnumberundefinedThe depth of the box layer.
widthSegmentsnumberundefinedThe width segments of the box layer.
heightSegmentsnumberundefinedThe height segments of the box layer.
depthSegmentsnumberundefinedThe depth segments of the box layer.
sideSideundefinedThe side of the box layer to render.
transparentbooleanundefinedWhether or not should this canvas box be rendered as transparent.
receiveShadowsbooleanfalseWhether or not should this canvas box receive shadows.
underwaterFogbooleanfalseWhether or not should this canvas box tint underwater.
mergeFacesbooleanfalseWhether to draw the six faces in one call through an atlas.

Returns​

BoxLayer

Overrides​

Mesh.constructor

Properties​

atlas​

• atlas: Object = null

The one atlas this layer draws with when its faces are merged (CanvasBoxOptions.mergeFaces), else null and the layer draws each face with its own material.

Type declaration​

NameType
canvasHTMLCanvasElement
layoutCanvasBoxAtlasLayout
materialMeshBasicMaterial
textureCanvasTexture<HTMLCanvasElement>

depth​

• depth: number

The depth of the box layer.


depthSegments​

• depthSegments: number

The depth segments of the box layer.


height​

• height: number

The height of the box layer.


heightSegments​

• heightSegments: number

The height segments of the box layer.


materials​

• materials: Map<string, MeshBasicMaterial>

The materials of the six faces of this box layer.


shadowUniforms​

• shadowUniforms: EntityShadowUniforms = null

Shadow uniforms for this box layer (only set if receiveShadows is true).


underwaterUniforms​

• underwaterUniforms: UnderwaterFogUniforms = null

Underwater fog uniforms for this box layer (only set if underwaterFog is true). Driven externally from the camera's water-optics state.


width​

• width: number

The width of the box layer.


widthSegments​

• widthSegments: number

The width segments of the box layer.

Methods​

dispose​

▸ dispose(): void

Free this layer's GPU resources: its geometry, and each face's canvas texture and material (and a merged layer's atlas). The canvases themselves are left intact, so a consumer that still borrows a face (a portrait) re-uploads it instead of drawing garbage. Call once the layer has left the scene for good.

Returns​

void


paint​

▸ paint(side, art): void

Add art to the canvas(s) of this box layer.

Parameters​

NameTypeDescription
sideBoxSides | BoxSides[]The side(s) of the box layer to draw on.
artColor | Texture<unknown> | ArtFunctionThe art or art function to draw on the box layer's side.

Returns​

void


syncAtlas​

▸ syncAtlas(faces?): void

Bring a merged layer's atlas up to date with its face canvases: relay the atlas out and re-point the UVs when a face canvas was resized or the geometry replaced, then copy the given faces (every face after a relayout) into it. paint calls this; call it after editing a face canvas directly. A no-op on a per-face layer.

Parameters​

NameTypeDefault value
facesreadonly BoxSides[]BOX_SIDES

Returns​

void