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.

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

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
uniform1fChrome Полная поддержка 9Edge Полная поддержка 12Firefox Полная поддержка 4IE Полная поддержка 11Opera Полная поддержка 12Safari Полная поддержка 5.1WebView Android Полная поддержка ДаChrome Android Полная поддержка 25Firefox Android Полная поддержка ДаOpera Android Полная поддержка 12Safari iOS Полная поддержка 8Samsung Internet Android Полная поддержка Да

Легенда

Полная поддержка  
Полная поддержка

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