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

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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
uniform1f

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

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