Home Reference Source
import {Uniform} from './core/cgl/cgl_shader_uniform.js'
public class | source

Uniform

Extends:

CgUniform → Uniform

Shader uniforms

types:

f    - float
2f   - vec2
3f   - vec3
4f   - vec4
i    - integer
t    - texture
m4   - mat4, 4x4 float matrix
f[]  - array of floats
2f[] - array of float vec2
3f[] - array of float vec3
4f[] - array of float vec4

Example:

// bind float uniform called myfloat and initialize with value 1.0
const unir=new CGL.Uniform(shader,'f','myfloat',1.0);
unir.setValue(1.0);

// bind float uniform called myfloat and automatically set it to input port value
const myPort=op.inFloat("input");
const pv=new CGL.Uniform(shader,'f','myfloat',myPort);

Constructor Summary

Public Constructor
public

Member Summary

Public Members
public get

name: *

public

needsUpdate: boolean

public

value: *

Private Members
private

_cgl: *

private

_loc: *

private

_oldValue: undefined[]

private

_value: *

Method Summary

Public Methods
public
public

copy(newShader: *): *

public

getGlslTypeString(): string

returns type as glsl type string.

public

getLoc(): *

public
public

setValue2F(v: *)

public

setValue2I(v: *)

public

setValue3F(v: *)

public

setValue3I(v: *)

public

setValue4F(v: *)

public

setValue4I(v: *)

public
public
public
public
public
public

setValueBool(v: *)

public

setValueF(v: *)

public

setValueI(v: *)

public

setValueM4(v: *)

public

setValueT(v: *)

public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
public
Private Methods
private

Inherited Summary

From class CgUniform
public get

name: *

public get

type: *

public

comment: *

public

needsUpdate: boolean

public

set: *

public
public
private

_log: *

private

_name: *

private
private

_port: *

private

_port2: *

private

_port3: *

private

_port4: *

private
private

_shader: *

private
private
private

_type: *

private

_value: number

public

getName(): *

public
public

getType(): *

public

getValue(): *

public
public
public
public
public

Public Constructors

public constructor() source

Override:

CgUniform#constructor

Public Members

public get name: * source

Override:

CgUniform#name

public needsUpdate: boolean source

Override:

CgUniform#needsUpdate

public value: * source

Private Members

private _cgl: * source

private _loc: * source

private _oldValue: undefined[] source

Override:

CgUniform#_oldValue

private _value: * source

Override:

CgUniform#_value

Public Methods

public bindTextures() source

public copy(newShader: *): * source

Params:

NameTypeAttributeDescription
newShader *

Return:

*

public getGlslTypeString(): string source

returns type as glsl type string. e.g. 'f' returns 'float'

Return:

string

type as string

public getLoc(): * source

Return:

*

public resetLoc() source

public setValue2F(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValue2I(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValue3F(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValue3I(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValue4F(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValue4I(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValueArray2F(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValueArray3F(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValueArray4F(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValueArrayF(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValueArrayT(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValueBool(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValueF(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValueI(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValueM4(v: *) source

Params:

NameTypeAttributeDescription
v *

public setValueT(v: *) source

Params:

NameTypeAttributeDescription
v *

public updateFromPort() source

Override:

CgUniform#updateFromPort

public updateFromPort2f() source

Override:

CgUniform#updateFromPort2f

public updateFromPort3f() source

Override:

CgUniform#updateFromPort3f

public updateFromPort4f() source

Override:

CgUniform#updateFromPort4f

public updateValue2F() source

public updateValue2I() source

public updateValue3F() source

public updateValue3I() source

public updateValue4F() source

public updateValue4I() source

public updateValueArray2F() source

public updateValueArray3F() source

public updateValueArray4F() source

public updateValueArrayF() source

public updateValueArrayT() source

public updateValueBool() source

public updateValueF() source

public updateValueI() source

public updateValueM4(): * source

Return:

*

public updateValueT() source

Private Methods

private _isValidLoc(): * source

Return:

*