vgl.shaderProgram (class)

class vgl.shaderProgram()

Create a new instace of class shaderProgram

Returns:
rtype:vgl.shaderProgram
vgl.shaderProgram.queryUniformLocation(name)
Arguments:
  • name

Query uniform location in the program

Returns:
Return type:
vgl.shaderProgram.queryAttributeLocation(name)
Arguments:
  • name

Query attribute location in the program

Returns:
Return type:
vgl.shaderProgram.addShader(shader)
Arguments:
  • shader

Add a new shader to the program

Returns:
Return type:boolean
vgl.shaderProgram.addUniform(uniform)
Arguments:
  • uniform

Add a new uniform to the program

Returns:
Return type:boolean
vgl.shaderProgram.addVertexAttribute(attr, key)
Arguments:
  • attr
  • key

Add a new vertex attribute to the program

vgl.shaderProgram.uniformLocation(name)
Arguments:
  • name

Get uniform location

This method does not perform any query into the program but relies on the fact that it depends on a call to queryUniformLocation earlier.

Returns:
Return type:number
vgl.shaderProgram.attributeLocation(name)
Arguments:
  • name

Get attribute location

This method does not perform any query into the program but relies on the fact that it depends on a call to queryUniformLocation earlier.

Returns:
Return type:number
vgl.shaderProgram.uniform(name)
Arguments:
  • name

Get uniform object using name as the key

Returns:
Return type:
vgl.shaderProgram.updateUniforms()

Update all uniforms

This method should be used directly unless required

Link shader program

Returns:
Return type:boolean
vgl.shaderProgram.use()

Use the shader program

vgl.shaderProgram.cleanUp()

Peform any clean up required when the program gets deleted

vgl.shaderProgram.deleteProgram()

Delete the shader program

vgl.shaderProgram.deleteVertexAndFragment()

Delete vertex and fragment shaders

vgl.shaderProgram.bind(renderState)
Arguments:
  • renderState

Bind the program with its shaders

Returns:
Return type:boolean
vgl.shaderProgram.undoBind(renderState)
Arguments:
  • renderState

Undo binding of the shader program

vgl.shaderProgram.bindVertexData(renderState, key)
Arguments:
  • renderState
  • key

Bind vertex data

vgl.shaderProgram.undoBindVertexData(renderState, key)
Arguments:
  • renderState
  • key

Undo bind vetex data

vgl.shaderProgram.bindUniforms()

Bind uniforms

vgl.shaderProgram.bindAttributes()

Bind vertex attributes