Class Program
Represents a shader program in the WebGL pipeline.
Defined in: benchgl.js.
Constructor Attributes | Constructor Name and Description |
---|---|
Program(vertex, fragment)
Creates a new Program.
|
Method Attributes | Method Name and Description |
---|---|
bind()
Binds this Program as the current shader program in the WebGL pipeline.
|
|
bindAttribute(name, options)
Binds an attribute buffer in this Program.
|
|
bindAttributes(mapping)
Binds all the attributes in this Program following a mapping.
|
|
bindSampler(name, value)
Binds a sampler variable to a unit in this Program.
|
|
bindSamplers(mapping)
Binds all the sampler variables in this Program following a mapping.
|
|
bindUniform(name, value)
Binds an uniform variable in this Program.
|
|
bindUniforms(mapping)
Binds all the uniform variables in this Program following a mapping.
|
|
destroy()
Destroys this Program.
|
|
<static> |
Program.factory(options)
Static factory method to generate a shader Program in different ways.
|
<static> |
Program.FromDefaults(options)
Static method to create a shader Program from shader's default sources.
|
<static> |
Program.FromScripts(options)
Static method to create a shader Program from shader's scripts inside a webpage.
|
<static> |
Program.FromSources(options)
Static method to create a shader Program from shader's sources.
|
<static> |
Program.FromUrls(options)
Static method to create a shader Program from shader's URLs.
|
link()
Links this Program.
|
|
setFragmentShader(shader)
Sets the fragment shader for this Program.
|
|
setShaders(vertex, fragment)
Sets the shaders for this Program.
|
|
setVertexShader(shader)
Sets the vertex shader for this Program.
|
|
unbind()
Unbinds this Program as the current shader program in the WebGL pipeline.
|
Method Detail
bind()
Binds this Program as the current shader program in the WebGL pipeline.
{Program}
bindAttribute(name, options)
Binds an attribute buffer in this Program.
- Parameters:
- {String} name
- The name of the attribute.
- {Object} options Optional
- The options for the attribute to bind.
- {Number} options.attributeType Optional
- The WebGL attribute type.
- {Number} options.dataType Optional
- The WebGL type of an element in the attribute buffer.
- {Number} options.drawType Optional
- The WebGL drawing mode.
- {Number} options.size Optional
- The size of the attribute elements in bytes.
- {Number} options.stride Optional
- The stride of the attribute buffer.
- {Number} options.offset Optional
- The offset of the attribute buffer.
- {Object} options.data Optional
- The attribute buffer data.
- Returns:
- {Program} Returns this Program.
{Program}
bindAttributes(mapping)
Binds all the attributes in this Program following a mapping.
- Parameters:
- {Object} mapping
- The mapping that specifies values for the attributes.
- Returns:
- {Program} Returns this Program.
{Program}
bindSampler(name, value)
Binds a sampler variable to a unit in this Program.
- Parameters:
- {String} name
- The name of the sampler.
- {Number} value
- The value for the unit to bind the sampler to.
- Returns:
- {Program} Returns this Program.
{Program}
bindSamplers(mapping)
Binds all the sampler variables in this Program following a mapping.
- Parameters:
- {Object} mapping
- The mapping that specifies units for the sampler.
- Returns:
- {Program} Returns this Program.
{Program}
bindUniform(name, value)
Binds an uniform variable in this Program.
- Parameters:
- {String} name
- The name of the uniform.
- {Object} value
- The value for the uniform to bind.
- Returns:
- {Program} Returns this Program.
{Program}
bindUniforms(mapping)
Binds all the uniform variables in this Program following a mapping.
- Parameters:
- {Object} mapping
- The mapping that specifies values for the uniforms.
- Returns:
- {Program} Returns this Program.
destroy()
Destroys this Program.
<static>
{Program}
Program.factory(options)
Static factory method to generate a shader Program in different ways.
- Parameters:
- {Object} options
- The options for creating the Program.
- Returns:
- {Program} A new Program.
<static>
{Program}
Program.FromDefaults(options)
Static method to create a shader Program from shader's default sources.
- Parameters:
- {Object} options Optional
- The options for creating the Program.
- {String} options.vertex Optional, Default: 'Deafult'
- The id string for the vertex shader.
- {String} options.fragment Optional, Default: 'Default'
- The id string for the fragment shader.
- Returns:
- {Program} A new Program.
<static>
{Program}
Program.FromScripts(options)
Static method to create a shader Program from shader's scripts inside a webpage.
- Parameters:
- {Object} options Optional
- The options for creating the Program.
- {String} options.vertex
- The HTML element containing the vertex shader.
- {String} options.fragment
- The HTML elemente containing the fragment shader.
- Returns:
- {Program} A new Program.
<static>
{Program}
Program.FromSources(options)
Static method to create a shader Program from shader's sources.
- Parameters:
- {Object} options Optional
- The options for creating the Program.
- {String} options.vertex
- The source string for the vertex shader.
- {String} options.fragment
- The source string for the fragment shader.
- Returns:
- {Program} A new Program.
<static>
{Program}
Program.FromUrls(options)
Static method to create a shader Program from shader's URLs.
- Parameters:
- {Object} options Optional
- The options for creating the Program.
- {String} options.vertex Optional
- The URL string for the vertex shader.
- {String} options.fragment Optional
- The URL string for the fragment shader.
- {Function} options.onSuccess Optional
- A callback to call in case of success.
- {Function} options.onError Optional
- A callback to call in case of failure.
- Returns:
- {Program} A new Program.
link()
Links this Program.
{Program}
setFragmentShader(shader)
Sets the fragment shader for this Program.
- Parameters:
- {Shader} shader
- The fragment shader to set.
- Returns:
- {Program} Returns this Program.
{Program}
setShaders(vertex, fragment)
Sets the shaders for this Program.
- Returns:
- {Program} Returns this Program.
{Program}
setVertexShader(shader)
Sets the vertex shader for this Program.
- Parameters:
- {Shader} shader
- The vertex shader to set.
- Returns:
- {Program} Returns this Program.
unbind()
Unbinds this Program as the current shader program in the WebGL pipeline.