Large worlds · class

HlodSet

Explained in Coordinates and units.

class HlodSet
import { HlodSet } from '@driftengine/core';

Constructor

new

constructor(options: HlodOptions)
ParameterTypeDescription
optionsHlodOptions

Properties

NameTypeDescription
capacityreadonlynumber
maxLevelsreadonlynumber

Accessors

NameTypeDescription
sizegetnumber

Methods

has

has(id: number): boolean
ParameterTypeDescription
idnumber

levelOf

levelOf(id: number): number

The level a region is at or arriving at, or HLOD_NONE. -1 for a region not in the set.

ParameterTypeDescription
idnumber

add

add(id: number, box: ArrayLike<number>, errors: ArrayLike<number>): void

Add a region: its box as min then max, and one geometric error per level, finest first and never shrinking. It arrives at no level and fades into the one the next select picks.

ParameterTypeDescription
idnumber
boxArrayLike<number>
errorsArrayLike<number>

remove

remove(id: number): void

Remove a region; nothing if it is not there. The last region takes its slot.

ParameterTypeDescription
idnumber

select

select(eye: ArrayLike<number>, projectionScale: number, frustum: FrustumPlanes, occluder: BoxOccluder | null, dtSec: number, out: HlodDraws): number

Decide every region's level for this view and write what to draw into out, returning how many draws that is. projectionScale is projectionScaleOf(fov, height); occluder may be the renderer, asked after this frame's occluders are declared.

ParameterTypeDescription
eyeArrayLike<number>
projectionScalenumber
frustumFrustumPlanes
occluderBoxOccluder | null
dtSecnumber
outHlodDraws