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

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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 чисел) для векторных методов с плавающей точкой (методы с "fv").
  • Тип Number для этого типа (методы с "i").
  • Int32Array вектор чисел Number (методы с "iv").

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

None.

Примеры

js
GL.uniform1f(GL.getUniformLocation(PROGRAM, "u_time"), timeStamp / 1000.0);

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

Specification
WebGL Specification
# 5.14.10

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

BCD tables only load in the browser

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