Home Reference Source
import {DefaultRenderLayer} from 'bimsurfer3/viewer/defaultrenderlayer.js'
public class | source

DefaultRenderLayer

Extends:

RenderLayer → DefaultRenderLayer

This is the default renderer for what we called the base layer. Usually this layer should be small enough to be rendered at good FPS

This class does:

  • Populate the CPU side buffers
  • Allocate buffers on the GPU and flush buffers to it
  • Render all buffers

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public
public
public

Method Summary

Public Methods
public

addCompleteBuffer(buffer: *, gpuBufferManager: *): *

public

addGeometry(loaderId: *, geometry: *, object: *, quantFromAabb: *)

public

addGeometryReusable(geometry: *, loader: *, gpuBufferManager: *)

public
public

createObject(loaderId: *, roid: *, uniqueId: *, geometryIds: *, matrix: *, normalMatrix: *, scaleMatrix: *, hasTransparency: *, type: *, aabb: *, quantFromAabb: *): *

public

done(loaderId: *)

public
public

flushBuffer(buffer: *): *

public

renderBuffers(transparency: *, twoSidedTriangles: *, reuse: *, lines: *, visibleElements: *)

public

setProgressListener(progressListener: *)

Inherited Summary

From class RenderLayer
public
public
public
public

gl: *

public
public
public

lines: *

public

loaders: *

public
public
public
public
public
public
public
public

viewer: *

public

addCompleteBuffer(buffer: *, gpuBufferManager: *): *

Add a buffer that is already prepared

public

addGeometry(loaderId: *, geometry: *, object: *, buffer: *, sizes: *, quantFromAabb: *)

public

addGeometryReusable(geometry: *, loader: *, gpuBufferManager: *)

public

addGeometryToObject(geometryId: *, uniqueId: *, loader: *, gpuBufferManager: *, quantFromAabb: *)

public

createGeometry(loaderId: *, roid: *, uniqueModelId: *, geometryId: *, positions: *, normals: *, colors: *, color: *, indices: *, lineIndices: *, hasTransparency: *, hasTwoSidedTriangles: *, reused: *): *

public

createObject(loaderId: *, roid: *, uniqueId: *, geometryIds: *, matrix: *, normalMatrix: *, scaleMatrix: *, hasTransparency: *, type: *, aabb: *, gpuBufferManager: *, node: *, quantFromAabb: *): *

public

flushBuffer(buffer: *, gpuBufferManager: *): *

public

getLoader(loaderId: *): *

public

getObject(loaderId: *, identifier: *): *

public

incLoadedPrimitives(triangles: *, lines: *)

public
public

registerLoader(loaderId: *)

public

removeLoader(loaderId: *)

public

render(transparency: *, lineRender: *, twoSidedTriangles: *, visibleElements: *)

public

renderBuffer(buffer: *, programInfo: *, visibleElements: *, lines: *)

public

renderBuffers(transparency: *, twoSidedTriangles: *, reuse: *, lineRender: *, visibleElements: *)

public

renderFinalBuffers(buffers: *, programInfo: *, visibleElements: *, lines: *)

public
public

renderSelectionOutlines(ids: *, width: *, node: *)

public

storeMissingGeometry(geometryLoader: *, map: *)

Public Constructors

public constructor() source

Override:

RenderLayer#constructor

Public Members

public bufferManager: * source

public gpuBufferManager: * source

public progressListener: * source

Public Methods

public addCompleteBuffer(buffer: *, gpuBufferManager: *): * source

Add a buffer that is already prepared

Override:

RenderLayer#addCompleteBuffer

Params:

NameTypeAttributeDescription
buffer *
gpuBufferManager *

Return:

*

public addGeometry(loaderId: *, geometry: *, object: *, quantFromAabb: *) source

Override:

RenderLayer#addGeometry

Params:

NameTypeAttributeDescription
loaderId *
geometry *
object *
quantFromAabb *

public addGeometryReusable(geometry: *, loader: *, gpuBufferManager: *) source

Override:

RenderLayer#addGeometryReusable

Params:

NameTypeAttributeDescription
geometry *
loader *
gpuBufferManager *

public completelyDone() source

public createObject(loaderId: *, roid: *, uniqueId: *, geometryIds: *, matrix: *, normalMatrix: *, scaleMatrix: *, hasTransparency: *, type: *, aabb: *, quantFromAabb: *): * source

Override:

RenderLayer#createObject

Params:

NameTypeAttributeDescription
loaderId *
roid *
uniqueId *
geometryIds *
matrix *
normalMatrix *
scaleMatrix *
hasTransparency *
type *
aabb *
quantFromAabb *

Return:

*

public done(loaderId: *) source

Params:

NameTypeAttributeDescription
loaderId *

public flushAllBuffers() source

public flushBuffer(buffer: *): * source

Override:

RenderLayer#flushBuffer

Params:

NameTypeAttributeDescription
buffer *

Return:

*

public renderBuffers(transparency: *, twoSidedTriangles: *, reuse: *, lines: *, visibleElements: *) source

Override:

RenderLayer#renderBuffers

Params:

NameTypeAttributeDescription
transparency *
twoSidedTriangles *
reuse *
lines *
visibleElements *

public setProgressListener(progressListener: *) source

Params:

NameTypeAttributeDescription
progressListener *