WebGLRenderingContext.uniform[1234][fi][v]()

WebGLRenderingContext.uniform[1234][fi][v]() метод WebGL API устонавливает значение для постоянных переменных Uniform.

Иногие из описаных в этом разделе функцию имеют расширенные интерфейсы WebGL 2, которые можно найти WebGL2RenderingContext.uniform[1234][uif][v]().

Синтаксис

gl.uniform1f (floatUniformLoc, v); // для float
gl.uniform1fv(floatUniformLoc, [v]); // для float или массива float
gl.uniform2f (vec2UniformLoc, v0, v1); // для vec2
gl.uniform2fv(vec2UniformLoc, [v0, v1]); // для vec2 или массива vec2
gl.uniform3f (vec3UniformLoc, v0, v1, v2); // для vec3
gl.uniform3fv(vec3UniformLoc, [v0, v1, v2]); // для vec3 или массива vec3
gl.uniform4f (vec4UniformLoc, v0, v1, v2, v4); // для vec4
gl.uniform4fv(vec4UniformLoc, [v0, v1, v2, v4]); // для vec4 или массива vec4

gl.uniform1i (intUniformLoc, v); // для int
gl.uniform1iv(intUniformLoc, [v]); // для int или массива int
gl.uniform2i (ivec2UniformLoc, v0, v1); // для ivec2
gl.uniform2iv(ivec2UniformLoc, [v0, v1]); // для ivec2 или массива ivec2
gl.uniform3i (ivec3UniformLoc, v0, v1, v2); // для ivec3
gl.uniform3iv(ivec3UniformLoc, [v0, v1, v2]); // для ivec3 или массива ivec3
gl.uniform4i (ivec4UniformLoc, v0, v1, v2, v4); // для ivec4
gl.uniform4iv(ivec4UniformLoc, [v0, v1, v2, v4]); // для ivec4 или массива ivec4


gl.uniform1i (sampler2DUniformLoc, v); // для sampler2D (текстуры)
gl.uniform1iv(sampler2DUniformLoc, [v]); // для sampler2D или массива sampler2D


gl.uniform1i (samplerCubeUniformLoc, v); // для samplerCube (текстуры)
gl.uniform1iv(samplerCubeUniformLoc, [v]); // для samplerCube или массива samplerCube

Параметры

location
WebGLUniformLocation объект содержащий uniform атрибут для его изменения.
value, v0, v1, v2, v3
Новое значение для uniform переменной. Допустимые типы:
  • Тип float Number для этого типа (методы с "f").
  • Последовательность чисел с плавающей точкой (пример Float32Array или Array чисел) fдля векторных методов с плавающей точкой (методы с "fv").
  • Тип  Number для этого типа (методы с "i").
  • Int32Array вектор чисел Number (методы с "iv").

Возвращаемое значение 

None.

Примеры

GL.uniform1f(GL.getUniformLocation(PROGRAM,'u_time'), timeStamp/1000.0)

Спецификация

Specification Status Comment
WebGL 1.0
Определение 'uniform' в этой спецификации.
Рекомендация Initial definition.
OpenGL ES 2.0
Определение 'glUniform' в этой спецификации.
Стандарт Main page of the OpenGL API.

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также