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

ProgramManager

Keeps track of shader programs, glsl, uniform positions and vertex attributes

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public

gl: *

public

programs: *[]

public

promises: *[]

public
public

viewer: *

Method Summary

Public Methods
public

createKey(reuse: *, picking: *, lines: boolean): *

public

generateSetup(key: *): *

public

generateShaders(defaultSetup: *, key: *)

public

getProgram(key: *): *

public
public

initShaderProgram(gl: *, vsName: *, vsSource: *, fsName: *, fsSource: *, key: *, defaultSetup: *, specificSetup: *): *

public

keyToJson(key: *): {"useObjectColors": *, "quantizeVertices": *, "quantizeNormals": *, "octEncodeNormals": *, "quantizeColors": *, "reuse": *, "picking": *, "linePrimitives": *, "lines": *, "quantizeColorBuffer": *}

public

load(): *

public

loadShader(gl: *, type: *, name: *, source: *, key: *): *

public

setProgram(key: *, program: *)

public

setupProgram(vertexShaderSource: *, fragmentShaderSource: *, defaultSetup: *, specificSetup: *, key: *): *

Public Constructors

public constructor() source

Public Members

public gl: * source

public programs: *[] source

public promises: *[] source

public settings: * source

public viewer: * source

Public Methods

public createKey(reuse: *, picking: *, lines: boolean): * source

Params:

NameTypeAttributeDescription
reuse *
picking *
lines boolean
  • optional
  • default: false

Return:

*

public generateSetup(key: *): * source

Params:

NameTypeAttributeDescription
key *

Return:

*

public generateShaders(defaultSetup: *, key: *) source

Params:

NameTypeAttributeDescription
defaultSetup *
key *

public getProgram(key: *): * source

Params:

NameTypeAttributeDescription
key *

Return:

*

public getVertexShaderName(): string source

Return:

string

public initShaderProgram(gl: *, vsName: *, vsSource: *, fsName: *, fsSource: *, key: *, defaultSetup: *, specificSetup: *): * source

Params:

NameTypeAttributeDescription
gl *
vsName *
vsSource *
fsName *
fsSource *
key *
defaultSetup *
specificSetup *

Return:

*

public keyToJson(key: *): {"useObjectColors": *, "quantizeVertices": *, "quantizeNormals": *, "octEncodeNormals": *, "quantizeColors": *, "reuse": *, "picking": *, "linePrimitives": *, "lines": *, "quantizeColorBuffer": *} source

Params:

NameTypeAttributeDescription
key *

Return:

{"useObjectColors": *, "quantizeVertices": *, "quantizeNormals": *, "octEncodeNormals": *, "quantizeColors": *, "reuse": *, "picking": *, "linePrimitives": *, "lines": *, "quantizeColorBuffer": *}

public load(): * source

Return:

*

public loadShader(gl: *, type: *, name: *, source: *, key: *): * source

Params:

NameTypeAttributeDescription
gl *
type *
name *
source *
key *

Return:

*

public setProgram(key: *, program: *) source

Params:

NameTypeAttributeDescription
key *
program *

public setupProgram(vertexShaderSource: *, fragmentShaderSource: *, defaultSetup: *, specificSetup: *, key: *): * source

Params:

NameTypeAttributeDescription
vertexShaderSource *
fragmentShaderSource *
defaultSetup *
specificSetup *
key *

Return:

*