ProgramController

This is shader program controller that used by handler object to access the shader program capabilities, like switching program during the rendering. Get access to the program from ...handler.programs.etc.

Constructor

new ProgramController(handler, program)

Parameters:
NameTypeDescription
handlerHandler

Handler.

programProgram

Shader program.

Methods

activate() → {ProgramController}

Activates current shader program.

Returns:
Type: 
ProgramController

deactivate()

Deactivate shader program. This is not necessary while activate function used.

drawArrays(mode, numItems) → {ProgramController}

Calls Gl drawArray function.

Parameters:
NameTypeDescription
modenumber

Gl draw mode.

numItemsnumber

draw items count.

Returns:

Returns current shader controller instance.

Type: 
ProgramController

drawIndexBuffer(mode, buffer) → {ProgramController}

Draw index buffer with this program.

Parameters:
NameTypeDescription
modenumber

Gl draw mode

bufferWebGLBuffer

Buffer to draw.

Returns:

Returns current shader controller instance.

Type: 
ProgramController

getProgram() → {Program}

Returns controller's shader program.

Returns:
Type: 
Program

initialize()

Lazy create program call.

isActive() → {boolean}

Returns program activity.

Returns:
Type: 
boolean

remove()

Remove program from handler

set(params) → {ProgramController}

Sets program uniforms and attributes values and return controller instance.

Parameters:
NameTypeDescription
paramsRecord.<string, any>

Object with variable name and value like { value: 12, someArray:[1,2,3], uSampler: texture,... }

Returns:
Type: 
ProgramController