From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../webglrenderingcontext/activetexture/index.html | 81 ++++ .../webglrenderingcontext/bindbuffer/index.html | 121 ++++++ .../webglrenderingcontext/bindtexture/index.html | 110 +++++ .../api/webglrenderingcontext/canvas/index.html | 70 ++++ .../web/api/webglrenderingcontext/clear/index.html | 89 +++++ .../webglrenderingcontext/clearcolor/index.html | 79 ++++ .../webglrenderingcontext/compileshader/index.html | 81 ++++ .../api/webglrenderingcontext/enable/index.html | 139 +++++++ .../getshaderinfolog/index.html | 77 ++++ files/ru/web/api/webglrenderingcontext/index.html | 441 +++++++++++++++++++++ .../webglrenderingcontext/shadersource/index.html | 70 ++++ .../api/webglrenderingcontext/uniform/index.html | 99 +++++ 12 files changed, 1457 insertions(+) create mode 100644 files/ru/web/api/webglrenderingcontext/activetexture/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/bindbuffer/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/bindtexture/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/canvas/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/clear/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/clearcolor/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/compileshader/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/enable/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/shadersource/index.html create mode 100644 files/ru/web/api/webglrenderingcontext/uniform/index.html (limited to 'files/ru/web/api/webglrenderingcontext') diff --git a/files/ru/web/api/webglrenderingcontext/activetexture/index.html b/files/ru/web/api/webglrenderingcontext/activetexture/index.html new file mode 100644 index 0000000000..06b71db1a1 --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/activetexture/index.html @@ -0,0 +1,81 @@ +--- +title: WebGLRenderingContext.activeTexture() +slug: Web/API/WebGLRenderingContext/activeTexture +translation_of: Web/API/WebGLRenderingContext/activeTexture +--- +
{{APIRef("WebGL")}}
+ +

WebGLRenderingContext.activeTexture() метод WebGL API указывает какую текстуру сделать активной.

+ +

Синтаксис

+ +
void gl.activeTexture(texture);
+
+ +

Параметры

+ +
+
texture
+
Номер текстуры которую необходимо активировать. Значение gl.TEXTUREI где I значение в диапозоне от 0 до gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1.
+
+ +

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

+ +

None.

+ +

Исключения

+ +

Если texture не относится к gl.TEXTUREI, где I значение в диапозоне от 0 до gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS - 1, то получаем исключение gl.INVALID_ENUM .

+ +

Примеры

+ +

Вызов со значением gl.TEXTURE1 выберет текстуру в качестве текущей. Последующие вызовы будут изменять эту текстуру.

+ +
gl.activeTexture(gl.TEXTURE1);
+
+ +

Количество текстур зависит от реализации, вы можете получить количество текстур с помощью константы MAX_COMBINED_TEXTURE_IMAGE_UNITS. Согласно спецификации не менее 8.

+ +
gl.getParameter(gl.MAX_COMBINED_TEXTURE_IMAGE_UNITS);
+
+ +

чтобы получить текущую активную текстуру вызовите gl.getParameter с константой ACTIVE_TEXTURE.

+ +
gl.activeTexture(gl.TEXTURE0);
+gl.getParameter(gl.ACTIVE_TEXTURE);
+// вернет "33984" (0x84C0, gl.TEXTURE0 enum value)
+
+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('WebGL', "#5.14.3", "activeTexture")}}{{Spec2('WebGL')}}Initial definition.
{{SpecName('OpenGL ES 2.0', "glActiveTexture.xml", "glActiveTexture")}}{{Spec2('OpenGL ES 2.0')}}Man page of the OpenGL API.
+ +

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

+ + + +

{{Compat("api.WebGLRenderingContext.activeTexture")}}

+ +

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

+ + diff --git a/files/ru/web/api/webglrenderingcontext/bindbuffer/index.html b/files/ru/web/api/webglrenderingcontext/bindbuffer/index.html new file mode 100644 index 0000000000..bb65be620b --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/bindbuffer/index.html @@ -0,0 +1,121 @@ +--- +title: WebGLRenderingContext.bindBuffer() +slug: Web/API/WebGLRenderingContext/bindBuffer +translation_of: Web/API/WebGLRenderingContext/bindBuffer +--- +
{{APIRef("WebGL")}}
+ +

ebGLRenderingContext.bindBuffer() метод WebGL API связывает {{domxref("WebGLBuffer")}} c точкой связывания(Атрибут регистром).

+ +

Синтаксис

+ +
void gl.bindBuffer(target, buffer);
+
+ +

Параметры

+ +
+
target
+
{{domxref("GLenum")}} определяет точку связывания (target). Возможные значения: +
    +
  • gl.ARRAY_BUFFER: Буфер содержащий вершинные атрибуты, такие как координаты, текстурные коориднаты(UV) или цвет вершины.
  • +
  • gl.ELEMENT_ARRAY_BUFFER: Буфер использующий для индексирования элементов.
  • +
  • When using a {{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}}, the following values are available additionally: +
      +
    • gl.COPY_READ_BUFFER: Buffer for copying from one buffer object to another.
    • +
    • gl.COPY_WRITE_BUFFER: Buffer for copying from one buffer object to another.
    • +
    • gl.TRANSFORM_FEEDBACK_BUFFER: Buffer for transform feedback operations.
    • +
    • gl.UNIFORM_BUFFER: Buffer used for storing uniform blocks.
    • +
    • gl.PIXEL_PACK_BUFFER: Buffer used for pixel transfer operations.
    • +
    • gl.PIXEL_UNPACK_BUFFER: Buffer used for pixel transfer operations.
    • +
    +
  • +
+
+
buffer
+
{{domxref("WebGLBuffer")}} с которым осуществляется связывание.
+
+ +

Return value

+ +

Нет.

+ +

Exceptions

+ +

Only one target can be bound to a given {{domxref("WebGLBuffer")}}. An attempt to bind the buffer to another target will throw an INVALID_OPERATION error and the current buffer binding will remain the same.

+ +

Examples

+ +

Binding a buffer to a target

+ +
var canvas = document.getElementById('canvas');
+var gl = canvas.getContext('webgl');
+var buffer = gl.createBuffer();
+
+gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
+
+ +

Getting current bindings

+ +

To check the current buffer bindings, query the ARRAY_BUFFER_BINDING and ELEMENT_ARRAY_BUFFER_BINDING constants.

+ +
gl.getParameter(gl.ARRAY_BUFFER_BINDING);
+gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('WebGL', "#5.14.5", "bindBuffer")}}{{Spec2('WebGL')}}Initial definition for WebGL.
{{SpecName('OpenGL ES 2.0', "glBindBuffer.xml", "glBindBuffer")}}{{Spec2('OpenGL ES 2.0')}}Man page of the (similar) OpenGL ES 2 API.
{{SpecName('WebGL2', "#3.7.1", "bindBuffer")}}{{Spec2('WebGL2')}} +

Updated definition for WebGL 2.

+ +

Adds new target buffers:
+ gl.COPY_READ_BUFFER,
+ gl.COPY_WRITE_BUFFER,
+ gl.TRANSFORM_FEEDBACK_BUFFER,
+ gl.UNIFORM_BUFFER,
+ gl.PIXEL_PACK_BUFFER,
+ gl.PIXEL_UNPACK_BUFFER

+
{{SpecName('OpenGL ES 3.0', "glBindBuffer.xhtml", "glBindBuffer")}}{{Spec2('OpenGL ES 3.0')}}Man page of the (similar) OpenGL ES 3 API.
+ +

Browser compatibility

+ + + +

{{Compat("api.WebGLRenderingContext.bindBuffer")}}

+ +

See also

+ + diff --git a/files/ru/web/api/webglrenderingcontext/bindtexture/index.html b/files/ru/web/api/webglrenderingcontext/bindtexture/index.html new file mode 100644 index 0000000000..522a73c1c9 --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/bindtexture/index.html @@ -0,0 +1,110 @@ +--- +title: WebGLRenderingContext.bindTexture() +slug: Web/API/WebGLRenderingContext/bindTexture +translation_of: Web/API/WebGLRenderingContext/bindTexture +--- +
{{APIRef("WebGL")}}
+ +

WebGLRenderingContext.bindTexture() метод WebGL API связывает {{domxref("WebGLTexture")}} с target.

+ +

Синтаксис

+ +
void gl.bindTexture(target, texture);
+
+ +

Параметры

+ +
+
target
+
{{domxref("GLenum")}} указывает тип объекта texture для связывания. Возможные значения: +
    +
  • gl.TEXTURE_2D: двухмерная текстура.
  • +
  • gl.TEXTURE_CUBE_MAP: кубическая текстура.
  • +
  • При использовании {{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}}, дополнительно доступны: +
      +
    • gl.TEXTURE_3D: трехмерная текстура.
    • +
    • gl.TEXTURE_2D_ARRAY: массив двумерных текстур.
    • +
    +
  • +
+
+
texture
+
{{domxref("WebGLTexture")}} объект связывания
+
+ +

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

+ +

None.

+ +

Исключения

+ +

gl.INVALID_ENUM исключение если target неgl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP, gl.TEXTURE_3D, или gl.TEXTURE_2D_ARRAY.

+ +

Примеры

+ +

Привязчка текстуры

+ +
var canvas = document.getElementById('canvas');
+var gl = canvas.getContext('webgl');
+var texture = gl.createTexture();
+
+gl.bindTexture(gl.TEXTURE_2D, texture);
+
+ +

Получить текущую привязку

+ +

Для проверки текущей привязки текстуры, вызовитеgl.TEXTURE_BINDING_2D или gl.TEXTURE_BINDING_CUBE_MAP.

+ +
gl.getParameter(gl.TEXTURE_BINDING_2D);
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('WebGL', "#5.14.8", "bindTexture")}}{{Spec2('WebGL')}}Initial definition for WebGL.
{{SpecName('OpenGL ES 2.0', "glBindTexture.xml", "glBindTexture")}}{{Spec2('OpenGL ES 2.0')}}Man page of the (similar) OpenGL ES 2.0 API.
{{SpecName('WebGL2', "#3.7.1", "bindTexture")}}{{Spec2('WebGL2')}}Updated definition for WebGL 2.
+ Adds: gl.TEXTURE_3D and gl.TEXTURE_2D_ARRAY
{{SpecName('OpenGL ES 3.0', "glBindTexture.xhtml", "glBindTexture")}}{{Spec2('OpenGL ES 3.0')}}Man page of the (similar) OpenGL ES 3.0 API.
+ +

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

+ + + +

{{Compat("api.WebGLRenderingContext.bindTexture")}}

+ +

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

+ + + + diff --git a/files/ru/web/api/webglrenderingcontext/canvas/index.html b/files/ru/web/api/webglrenderingcontext/canvas/index.html new file mode 100644 index 0000000000..7b76f9885b --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/canvas/index.html @@ -0,0 +1,70 @@ +--- +title: WebGLRenderingContext.canvas +slug: Web/API/WebGLRenderingContext/canvas +translation_of: Web/API/WebGLRenderingContext/canvas +--- +
{{APIRef("WebGL")}}
+ +

Свойство WebGLRenderingContext.canvas доступно только для чтения. Возвращает ссылку на объекты {{domxref("HTMLCanvasElement")}} или {{domxref("OffscreenCanvas")}} связанные с установленным контекстом отрисовки. Если объект {{HTMLElement("canvas")}} или  {{domxref("OffscreenCanvas")}} не связан с контекстом, то возвращается значение {{jsxref("null")}}.

+ +

Syntax

+ +
gl.canvas;
+ +

Return value

+ +

Either a {{domxref("HTMLCanvasElement")}} or {{domxref("OffscreenCanvas")}} object or {{jsxref("null")}}.

+ +

Examples

+ +

Canvas element

+ +

Given this {{HTMLElement("canvas")}} element:

+ +
<canvas id="canvas"></canvas>
+
+ +

You can get back a reference to it from the WebGLRenderingContext using the canvas property:

+ +
var canvas = document.getElementById('canvas');
+var gl = canvas.getContext('webgl');
+gl.canvas; // HTMLCanvasElement
+
+ +

Offscreen canvas

+ +

Example using the experimental {{domxref("OffscreenCanvas")}} object.

+ +
var offscreen = new OffscreenCanvas(256, 256);
+var gl = offscreen.getContext('webgl');
+gl.canvas; // OffscreenCanvas
+ +

Specifications

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('WebGL', "#DOM-WebGLRenderingContext-canvas", "WebGLRenderingContext.canvas")}}{{Spec2('WebGL')}}Initial definition.
+ +

Browser compatibility

+ + + +

{{Compat("api.WebGLRenderingContext.canvas")}}

+ +

See also

+ + diff --git a/files/ru/web/api/webglrenderingcontext/clear/index.html b/files/ru/web/api/webglrenderingcontext/clear/index.html new file mode 100644 index 0000000000..3c4d1db864 --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/clear/index.html @@ -0,0 +1,89 @@ +--- +title: WebGLRenderingContext.clear() +slug: Web/API/WebGLRenderingContext/clear +translation_of: Web/API/WebGLRenderingContext/clear +--- +
{{APIRef("WebGL")}}
+ +

Метод WebGLRenderingContext.clear() из библиотеки WebGL API очищает буфер заданными значениями.

+ +

Заданные значения могут быть установлены {{domxref("WebGLRenderingContext.clearColor", "clearColor()")}}, {{domxref("WebGLRenderingContext.clearDepth", "clearDepth()")}} или {{domxref("WebGLRenderingContext.clearStencil", "clearStencil()")}}.

+ +

The scissor box, dithering, and buffer writemasks can affect the clear() method.

+ +

Синтаксис

+ +
void gl.clear(mask);
+
+ +

Параметры

+ +
+
mask
+
Побитовая маска ИЛИ {{domxref("GLbitfield")}} указывает какие конкретно буферы нужно очистить. Возможные значения: +
    +
  • gl.COLOR_BUFFER_BIT
  • +
  • gl.DEPTH_BUFFER_BIT
  • +
  • gl.STENCIL_BUFFER_BIT
  • +
+
+
+ +

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

+ +

Ничего.

+ +

Исключения

+ +

Если mask не является ни одним из перечисленных значений, то генерируется ошибка gl.INVALID_ENUM.

+ +

Примеры

+ +

Метод clear() принимает несколько значений.

+ +
gl.clear(gl.DEPTH_BUFFER_BIT);
+gl.clear(gl.DEPTH_BUFFER_BIT | gl.COLOR_BUFFER_BIT);
+
+ +

Чтобы получить текущее значение очистки буфера, нужно воспользоваться следующими константами: COLOR_CLEAR_VALUE, DEPTH_CLEAR_VALUE, и STENCIL_CLEAR_VALUE.

+ +
gl.getParameter(gl.COLOR_CLEAR_VALUE);
+gl.getParameter(gl.DEPTH_CLEAR_VALUE);
+gl.getParameter(gl.STENCIL_CLEAR_VALUE);
+
+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('WebGL', "#5.14.11", "clear")}}{{Spec2('WebGL')}}Изначальное определение
{{SpecName('OpenGL ES 2.0', "glClear.xml", "glClear")}}{{Spec2('OpenGL ES 2.0')}}Справочная страница OpenGL API.
+ +

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

+ + + +

{{Compat("api.WebGLRenderingContext.clear")}}

+ +

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

+ + diff --git a/files/ru/web/api/webglrenderingcontext/clearcolor/index.html b/files/ru/web/api/webglrenderingcontext/clearcolor/index.html new file mode 100644 index 0000000000..97e648eb7f --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/clearcolor/index.html @@ -0,0 +1,79 @@ +--- +title: WebGLRenderingContext.clearColor() +slug: Web/API/WebGLRenderingContext/clearColor +translation_of: Web/API/WebGLRenderingContext/clearColor +--- +
{{APIRef("WebGL")}}
+ +

Метод WebGLRenderingContext.clearColor() из WebGL API определяет значения, используемые для задания цвета во время очистки буферов цвета.

+ +

This specifies what color values to use when calling the {{domxref("WebGLRenderingContext.clear", "clear()")}} method. Эти значения находятся в пределах от 0 до 1.

+ +

Syntax

+ +
void gl.clearColor(red, green, blue, alpha);
+
+ +

Parameters

+ +
+
red
+
A {{domxref("GLclampf")}} specifying the red color value used when the color buffers are cleared. Default value: 0.
+
green
+
A {{domxref("GLclampf")}} specifying the green color value used when the color buffers are cleared. Default value: 0.
+
blue
+
A {{domxref("GLclampf")}} specifying the blue color value used when the color buffers are cleared. Default value: 0.
+
alpha
+
A {{domxref("GLclampf")}} specifying the alpha (transparency) value used when the color buffers are cleared. Default value: 0.
+
+ +

Return value

+ +

None.

+ +

Examples

+ +
gl.clearColor(1, 0.5, 0.5, 3);
+
+ +

To get the current clear color, query the COLOR_CLEAR_VALUE constant which returns a {{jsxref("Float32Array")}}.

+ +
gl.getParameter(gl.COLOR_CLEAR_VALUE);
+// Float32Array[1, 0.5, 0.5, 1]
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('WebGL', "#5.14.3", "clearColor")}}{{Spec2('WebGL')}}Initial definition.
{{SpecName('OpenGL ES 2.0', "glClearColor.xml", "glClearColor")}}{{Spec2('OpenGL ES 2.0')}}Man page of the OpenGL API.
+ +

Browser compatibility

+ + + +

{{Compat("api.WebGLRenderingContext.clearColor")}}

+ +

See also

+ + diff --git a/files/ru/web/api/webglrenderingcontext/compileshader/index.html b/files/ru/web/api/webglrenderingcontext/compileshader/index.html new file mode 100644 index 0000000000..9ecb9bd735 --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/compileshader/index.html @@ -0,0 +1,81 @@ +--- +title: WebGLRenderingContext.compileShader() +slug: Web/API/WebGLRenderingContext/compileShader +translation_of: Web/API/WebGLRenderingContext/compileShader +--- +
{{APIRef("WebGL")}}
+ +

WebGLRenderingContext.compileShader() метод WebGL API компилирующий исходный код GLSL шейдера в бинарные данные для использования программой  {{domxref("WebGLProgram")}}.

+ +

Синтаксис

+ +
void gl.compileShader(shader);
+
+ +

Параметры

+ +
+
shader
+
Вершинный или фрагментный шейдер {{domxref("WebGLShader")}}.
+
+ +

Примеры

+ +
var shader = gl.createShader(gl.VERTEX_SHADER);
+gl.shaderSource(shader, shaderSource);
+gl.compileShader(shader);
+
+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('WebGL', "#5.14.9", "compileShader")}}{{Spec2('WebGL')}}Initial definition.
{{SpecName('OpenGL ES 2.0', "glCompileShader.xml", "glCompileShader")}}{{Spec2('OpenGL ES 2.0')}}OpenGL man page.
+ +

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

+ + + +

{{Compat("api.WebGLRenderingContext.compileShader")}}

+ +

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

+ + diff --git a/files/ru/web/api/webglrenderingcontext/enable/index.html b/files/ru/web/api/webglrenderingcontext/enable/index.html new file mode 100644 index 0000000000..d7cc40db94 --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/enable/index.html @@ -0,0 +1,139 @@ +--- +title: WebGLRenderingContext.enable() +slug: Web/API/WebGLRenderingContext/enable +translation_of: Web/API/WebGLRenderingContext/enable +--- +
{{APIRef("WebGL")}}
+ +

Метод WebGLRenderingContext.enable() из WebGL API активирует определенные возможности WebGL для текущего контекста.

+ +

Синтаксис

+ +
void gl.enable(cap);
+
+ +

Параметры

+ +
+
cap
+
A {{domxref("GLenum")}} specifying which WebGL capability to enable. Possible values:
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
КонстантаОписание
gl.BLENDАктивирует смешение значений цветов вычисленного фрагмента. Смотри {{domxref("WebGLRenderingContext.blendFunc()")}}.
gl.CULL_FACEАктивирует отбраковку полигонов. Смотри {{domxref("WebGLRenderingContext.cullFace()")}}.
gl.DEPTH_TESTАктивирует сравнения глубин и обновления для буфера глубины. Смотри {{domxref("WebGLRenderingContext.depthFunc()")}}.
gl.DITHERActivates dithering of color components before they get written to the color buffer.
gl.POLYGON_OFFSET_FILLActivates adding an offset to depth values of polygon's fragments. See {{domxref("WebGLRenderingContext.polygonOffset()")}}.
gl.SAMPLE_ALPHA_TO_COVERAGEActivates the computation of a temporary coverage value determined by the alpha value.
gl.SAMPLE_COVERAGEActivates ANDing the fragment's coverage with the temporary coverage value. See {{domxref("WebGLRenderingContext.sampleCoverage()")}}.
gl.SCISSOR_TESTActivates the scissor test that discards fragments that are outside of the scissor rectangle. See {{domxref("WebGLRenderingContext.scissor()")}}.
gl.STENCIL_TESTActivates stencil testing and updates to the stencil buffer. See {{domxref("WebGLRenderingContext.stencilFunc()")}}.
+ When using a {{domxref("WebGL2RenderingContext", "WebGL 2 context", "", 1)}}, the following values are available additionally: + + + + + + + + + + + + + + +
ConstantDescription
gl.RASTERIZER_DISCARDPrimitives are discarded immediately before the rasterization stage, but after the optional transform feedback stage. gl.clear() commands are ignored.
+
+
+ +

Return value

+ +

None.

+ +

Examples

+ +
gl.enable(gl.DITHER);
+
+ +

To check if a capability is enabled, use the {{domxref("WebGLRenderingContext.isEnabled()")}} method:

+ +
gl.isEnabled(gl.DITHER);
+// true
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('WebGL', "#5.14.3", "enable")}}{{Spec2('WebGL')}}Initial definition for WebGL.
{{SpecName('OpenGL ES 2.0', "glEnable.xml", "glEnable")}}{{Spec2('OpenGL ES 2.0')}}Man page of the OpenGL ES 2.0 API.
{{SpecName('OpenGL ES 3.0', "glEnable.xhtml", "glEnable")}}{{Spec2('OpenGL ES 3.0')}}Man page of the OpenGL ES 3.0 API.
+ +

Browser compatibility

+ + + +

{{Compat("api.WebGLRenderingContext.enable")}}

+ +

See also

+ + diff --git a/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html b/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html new file mode 100644 index 0000000000..f05a98534f --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/getshaderinfolog/index.html @@ -0,0 +1,77 @@ +--- +title: WebGLRenderingContext.getShaderInfoLog() +slug: Web/API/WebGLRenderingContext/getShaderInfoLog +translation_of: Web/API/WebGLRenderingContext/getShaderInfoLog +--- +
{{APIRef("WebGL")}}
+ +

WebGLRenderingContext.getShaderInfoLog возвращает логи для указаной шейдерной программы {{domxref("WebGLShader")}}. Оно содержит предупреждения, информацию для отладки и информацию о компиляции.

+ +

Синтаксис

+ +
gl.getShaderInfoLog(shader);
+ +

Параметры

+ +
+
shader
+
Шейдер {{domxref("WebGLShader")}} чьи логи мы запрашиваем.
+
+ +

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

+ +

{{domxref("DOMString")}} может содержать диагностические сообщения, предупреждения и другую информацию о последней операции компиляции. Когда {{domxref("WebGLShader")}} объект создан, его информационный журнал будет строкой длинной 0.

+ +

Примеры

+ +

Проверить сообщения компиляции

+ +
/* Загружаем исходный код программы. */
+gl.shaderSource(shader, shaderCode);
+
+/* Компилируем программу. */
+gl.compileShader(shader);
+
+/* Получаем список сообщений */
+var message = gl.getShaderInfoLog(shader);
+
+if (message.length > 0) {
+  /* Сообщение может быть ошибкой или предупреждением */
+  throw message;
+}
+
+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('WebGL', "#5.14.9", "getShaderInfoLog")}}{{Spec2('WebGL')}}Initial definition.
{{SpecName('OpenGL ES 2.0', "glGetShaderInfoLog.xml", "glGetShaderInfoLog")}}{{Spec2('OpenGL ES 2.0')}}Man page of the OpenGL API.
+ +

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

+ + + +

{{Compat("api.WebGLRenderingContext.getShaderInfoLog")}}

+ +

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

+ + diff --git a/files/ru/web/api/webglrenderingcontext/index.html b/files/ru/web/api/webglrenderingcontext/index.html new file mode 100644 index 0000000000..338784a8a1 --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/index.html @@ -0,0 +1,441 @@ +--- +title: WebGLRenderingContext +slug: Web/API/WebGLRenderingContext +translation_of: Web/API/WebGLRenderingContext +--- +
{{APIRef("WebGL")}}
+ +

Интерфейс WebGLRenderingContext обеспечивает доступ к контексту рендеринга OpenGL ES 2.0 (OpenGL for Embedded Systems — OpenGL для встраиваемых систем) для использования его с помощью  HTML {{HTMLElement("canvas")}} элемента.

+ +

Чтобы получить объект с помощью этого интерфейса вызовите метод {{domxref("HTMLCanvasElement.getContext()", "getContext()")}} элемена  <canvas> , используя "webgl" в качестве аргумента.

+ +
var canvas = document.getElementById('myCanvas');
+var gl = canvas.getContext('webgl');
+
+ +

После того, как вы  получили  WebGL контекст, вы можете его использовать для рендеринга.

+ +

 WebGL tutorial содержит больше информации, примеров, ссылок на ресурсы которые помогут  начать использовать  WebGL.

+ +

Константы

+ +

Смотрите на WebGL constants.

+ +

 WebGL контекст

+ +

Ниже перечислены свойства и методы которые дают общую информацию и функциональность при работе с WebGL контекстом:

+ +
+
{{domxref("WebGLRenderingContext.canvas")}}
+
 Доступная только для чтения обратная ссылка на {{domxref("HTMLCanvasElement")}}. Может быть  {{jsxref("null")}} если будет применятся в контексте элемента иного типа чем  {{HTMLElement("canvas")}}.
+
{{domxref("WebGLRenderingContext.commit()")}} {{experimental_inline}}
+
+

Вставляет окна в первоначальный {{domxref("HTMLCanvasElement")}} , если контекст не привязан к конкретному холсту.

+
+
{{domxref("WebGLRenderingContext.drawingBufferWidth")}}
+
Доступная только для чтения ширина текущего буфера отрисовки. Должна совпадать с шириной холста связанного с данным  контекстом.
+
{{domxref("WebGLRenderingContext.drawingBufferHeight")}}
+
Доступная только для чтения высота текущего буфера отрисовки. Должна совпадать с высотой холста связанного с данным  контекстом.
+
{{domxref("WebGLRenderingContext.getContextAttributes()")}}
+
Возвращает WebGLContextAttributes объект который содержит атрибуты текущего контекста. Может возвращать {{jsxref("null")}} если контекст утерян. 
+
{{domxref("WebGLRenderingContext.isContextLost()")}}
+
Возвращает true если контекст утерян, в противном случае возвращает false.
+
+ +

Просмотр и обрезка

+ +
+
{{domxref("WebGLRenderingContext.scissor()")}}
+
Устанавливает обрезанный контейнер.
+
{{domxref("WebGLRenderingContext.viewport()")}}
+
Устанавливает окно просмотра.
+
+ +

Информация о состоянии

+ +
+
{{domxref("WebGLRenderingContext.activeTexture()")}}
+
Выбирает активную текстуру.
+
{{domxref("WebGLRenderingContext.blendColor()")}}
+
Устанавливает параметры смешивания источника и назначения
+
{{domxref("WebGLRenderingContext.blendEquation()")}}
+
 Уравнение смешивания RGB и уравнение альфа-смешивания сводит к одному  уравнению.
+
+ +

{{domxref("WebGLRenderingContext.blendEquationSeparate()")}} 

+ +

Устанавливает уравнение смешивания RGB и уравнение alpha  смешивания  отдельно.

+ +
+
{{domxref("WebGLRenderingContext.blendFunc()")}}
+
Определяет, какая арифметическая функция используется для смешивания пикселей.
+
{{domxref("WebGLRenderingContext.blendFuncSeparate()")}}
+
Определяет, какая арифметическая функция используется для смешивания пикселей для RGB и альфа-компонентов по отдельности.
+
{{domxref("WebGLRenderingContext.clearColor()")}}
+
Задает значения цвета, используемые при очистке цветовых буферов.
+
{{domxref("WebGLRenderingContext.clearDepth()")}}
+
Задает значение глубины, используемый при очистке буфера глубины.
+
{{domxref("WebGLRenderingContext.clearStencil()")}}
+
Задает значение шаблона, используемый при очистке буфера шаблона.
+
{{domxref("WebGLRenderingContext.colorMask()")}}
+
Устанавливает какие цветовые компоненты для включены или выключены при отрисовке или рендеринге на{{domxref("WebGLFramebuffer")}}.
+
{{domxref("WebGLRenderingContext.cullFace()")}}
+
Определяет, будет видима или нет передняя- и / или обратная сторона многоугольника.
+
{{domxref("WebGLRenderingContext.depthFunc()")}}
+
Определяет функцию, которая сравнивает входящую глубину пикселей к текущему значению глубины буфера.
+
{{domxref("WebGLRenderingContext.depthMask()")}}
+
Включает или выключает запись в буфер глубины.
+
{{domxref("WebGLRenderingContext.depthRange()")}}
+
Определяет диапазон отображения глубины согласно стандартных координат  к координатам окна устройства.
+
{{domxref("WebGLRenderingContext.disable()")}}
+
Отключает конкретные возможности WebGL.
+
{{domxref("WebGLRenderingContext.enable()")}}
+
Включает конкретные возможности WebGL.
+
{{domxref("WebGLRenderingContext.frontFace()")}}
+
Определяет видимость  передней или задней стороны  многоугольника, при его вращении.
+
{{domxref("WebGLRenderingContext.getParameter()")}}
+
Возвращает значение переданного параметра по имени.
+
{{domxref("WebGLRenderingContext.getError()")}}
+
Возвращает информацию об ошибках.
+
{{domxref("WebGLRenderingContext.hint()")}}
+
Указывает подсказки для определенного поведения. Интерпретация этих подсказок зависит от реализации.
+
{{domxref("WebGLRenderingContext.isEnabled()")}}
+
Проверяет,  включена или нет конкретная способность WebG.
+
{{domxref("WebGLRenderingContext.lineWidth()")}}
+
Устанавливает ширину  растровой линии.
+
{{domxref("WebGLRenderingContext.pixelStorei()")}}
+
Определяет режимы хранилища пикселей
+
{{domxref("WebGLRenderingContext.polygonOffset()")}}
+
Определяет факторы масштабирования  и единицы для расчета значения глубины.
+
{{domxref("WebGLRenderingContext.sampleCoverage()")}}
+
Определяет составные параметры  для сглаживания эффектов.
+
{{domxref("WebGLRenderingContext.stencilFunc()")}}
+
Sets the both front and back function and reference value for stencil testing.
+
{{domxref("WebGLRenderingContext.stencilFuncSeparate()")}}
+
Sets the front and/or back function and reference value for stencil testing.
+
{{domxref("WebGLRenderingContext.stencilMask()")}}
+
Controls enabling and disabling of both the front and back writing of individual bits in the stencil planes.
+
{{domxref("WebGLRenderingContext.stencilMaskSeparate()")}}
+
Controls enabling and disabling of front and/or back writing of individual bits in the stencil planes.
+
{{domxref("WebGLRenderingContext.stencilOp()")}}
+
Sets both the front and back-facing stencil test actions.
+
{{domxref("WebGLRenderingContext.stencilOpSeparate()")}}
+
Sets the front and/or back-facing stencil test actions.
+
+ +

Buffers

+ +
+
{{domxref("WebGLRenderingContext.bindBuffer()")}}
+
Binds a WebGLBuffer object to a given target.
+
{{domxref("WebGLRenderingContext.bufferData()")}}
+
Updates buffer data.
+
{{domxref("WebGLRenderingContext.bufferSubData()")}}
+
Updates buffer data starting at a passed offset.
+
{{domxref("WebGLRenderingContext.createBuffer()")}}
+
Creates a WebGLBuffer object.
+
{{domxref("WebGLRenderingContext.deleteBuffer()")}}
+
Deletes a WebGLBuffer object.
+
{{domxref("WebGLRenderingContext.getBufferParameter()")}}
+
Returns information about the buffer.
+
{{domxref("WebGLRenderingContext.isBuffer()")}}
+
Returns a Boolean indicating if the passed buffer is valid.
+
+ +

Framebuffers

+ +
+
{{domxref("WebGLRenderingContext.bindFramebuffer()")}}
+
Binds a WebGLFrameBuffer object to a given target.
+
{{domxref("WebGLRenderingContext.checkFramebufferStatus()")}}
+
Returns the status of the framebuffer.
+
{{domxref("WebGLRenderingContext.createFramebuffer()")}}
+
Creates a WebGLFrameBuffer object.
+
{{domxref("WebGLRenderingContext.deleteFramebuffer()")}}
+
Deletes a WebGLFrameBuffer object.
+
{{domxref("WebGLRenderingContext.framebufferRenderbuffer()")}}
+
Attaches a WebGLRenderingBuffer object to a WebGLFrameBuffer object.
+
{{domxref("WebGLRenderingContext.framebufferTexture2D()")}}
+
Attaches a textures image to a WebGLFrameBuffer object.
+
{{domxref("WebGLRenderingContext.getFramebufferAttachmentParameter()")}}
+
Returns information about the framebuffer.
+
{{domxref("WebGLRenderingContext.isFramebuffer()")}}
+
Returns a Boolean indicating if the passed WebGLFrameBuffer object is valid.
+
{{domxref("WebGLRenderingContext.readPixels()")}}
+
Reads a block of pixels from the WebGLFrameBuffer.
+
+ +

Renderbuffers

+ +
+
{{domxref("WebGLRenderingContext.bindRenderbuffer()")}}
+
Binds a WebGLRenderBuffer object to a given target.
+
{{domxref("WebGLRenderingContext.createRenderbuffer()")}}
+
Creates a WebGLRenderBuffer object.
+
{{domxref("WebGLRenderingContext.deleteRenderbuffer()")}}
+
Deletes a WebGLRenderBuffer object.
+
{{domxref("WebGLRenderingContext.getRenderbufferParameter()")}}
+
Returns information about the renderbuffer.
+
{{domxref("WebGLRenderingContext.isRenderbuffer()")}}
+
Returns a Boolean indicating if the passed WebGLRenderingBuffer is valid.
+
{{domxref("WebGLRenderingContext.renderbufferStorage()")}}
+
Creates a renderbuffer data store.
+
+ +

Textures

+ +
+
{{domxref("WebGLRenderingContext.bindTexture()")}}
+
Binds a WebGLTexture object to a given target.
+
{{domxref("WebGLRenderingContext.compressedTexImage2D()")}}
+
Specifies a 2D texture image in a compressed format.
+
{{domxref("WebGLRenderingContext.compressedTexSubImage2D()")}}
+
Specifies a 2D texture sub-image in a compressed format.
+
{{domxref("WebGLRenderingContext.copyTexImage2D()")}}
+
Copies a 2D texture image.
+
{{domxref("WebGLRenderingContext.copyTexSubImage2D()")}}
+
Copies a 2D texture sub-image.
+
{{domxref("WebGLRenderingContext.createTexture()")}}
+
Creates a WebGLTexture object.
+
{{domxref("WebGLRenderingContext.deleteTexture()")}}
+
Deletes a WebGLTexture object.
+
{{domxref("WebGLRenderingContext.generateMipmap()")}}
+
Generates a set of mipmaps for a WebGLTexture object.
+
{{domxref("WebGLRenderingContext.getTexParameter()")}}
+
Returns information about the texture.
+
{{domxref("WebGLRenderingContext.isTexture()")}}
+
Returns a Boolean indicating if the passed WebGLTexture is valid.
+
{{domxref("WebGLRenderingContext.texImage2D()")}}
+
Specifies a 2D texture image.
+
{{domxref("WebGLRenderingContext.texSubImage2D()")}}
+
Updates a sub-rectangle of the current WebGLTexture.
+
{{domxref("WebGLRenderingContext.texParameter", "WebGLRenderingContext.texParameterf()")}}
+
Sets texture parameters.
+
{{domxref("WebGLRenderingContext.texParameter", "WebGLRenderingContext.texParameteri()")}}
+
Sets texture parameters.
+
+ +

Programs and shaders

+ +
+
{{domxref("WebGLRenderingContext.attachShader()")}}
+
Attaches a WebGLShader to a WebGLProgram.
+
{{domxref("WebGLRenderingContext.bindAttribLocation()")}}
+
Binds a generic vertex index to a named attribute variable.
+
{{domxref("WebGLRenderingContext.compileShader()")}}
+
Compiles a WebGLShader.
+
{{domxref("WebGLRenderingContext.createProgram()")}}
+
Creates a WebGLProgram.
+
{{domxref("WebGLRenderingContext.createShader()")}}
+
Creates a WebGLShader.
+
{{domxref("WebGLRenderingContext.deleteProgram()")}}
+
Deletes a WebGLProgram.
+
{{domxref("WebGLRenderingContext.deleteShader()")}}
+
Deletes a WebGLShader.
+
{{domxref("WebGLRenderingContext.detachShader()")}}
+
Detaches a WebGLShader.
+
{{domxref("WebGLRenderingContext.getAttachedShaders()")}}
+
Returns a list of WebGLShader objects attached to a WebGLProgram.
+
{{domxref("WebGLRenderingContext.getProgramParameter()")}}
+
Returns information about the program.
+
{{domxref("WebGLRenderingContext.getProgramInfoLog()")}}
+
Returns the information log for a WebGLProgram object.
+
{{domxref("WebGLRenderingContext.getShaderParameter()")}}
+
Returns information about the shader.
+
{{domxref("WebGLRenderingContext.getShaderPrecisionFormat()")}}
+
Returns a WebGLShaderPrecisionFormat object describing the precision for the numeric format of the shader.
+
{{domxref("WebGLRenderingContext.getShaderInfoLog()")}}
+
Returns the information log for a WebGLShader object.
+
{{domxref("WebGLRenderingContext.getShaderSource()")}}
+
Returns the source code of a WebGLShader as a string.
+
{{domxref("WebGLRenderingContext.isProgram()")}}
+
Returns a Boolean indicating if the passed WebGLProgram is valid.
+
{{domxref("WebGLRenderingContext.isShader()")}}
+
Returns a Boolean indicating if the passed WebGLShader is valid.
+
{{domxref("WebGLRenderingContext.linkProgram()")}}
+
Links the passed WebGLProgram object.
+
{{domxref("WebGLRenderingContext.shaderSource()")}}
+
Sets the source code in a WebGLShader.
+
{{domxref("WebGLRenderingContext.useProgram()")}}
+
Uses the specified WebGLProgram as part the current rendering state.
+
{{domxref("WebGLRenderingContext.validateProgram()")}}
+
Validates a WebGLProgram.
+
+ +

Uniforms and attributes

+ +
+
{{domxref("WebGLRenderingContext.disableVertexAttribArray()")}}
+
Disables a vertex attribute array at a given position.
+
{{domxref("WebGLRenderingContext.enableVertexAttribArray()")}}
+
Enables a vertex attribute array at a given position.
+
{{domxref("WebGLRenderingContext.getActiveAttrib()")}}
+
Returns information about an active attribute variable.
+
{{domxref("WebGLRenderingContext.getActiveUniform()")}}
+
Returns information about an active uniform variable.
+
{{domxref("WebGLRenderingContext.getAttribLocation()")}}
+
Returns the location of an attribute variable.
+
{{domxref("WebGLRenderingContext.getUniform()")}}
+
Returns the value of a uniform variable at a given location.
+
{{domxref("WebGLRenderingContext.getUniformLocation()")}}
+
Returns the location of a uniform variable.
+
{{domxref("WebGLRenderingContext.getVertexAttrib()")}}
+
Returns information about a vertex attribute at a given position.
+
{{domxref("WebGLRenderingContext.getVertexAttribOffset()")}}
+
Returns the address of a given vertex attribute.
+
{{domxref("WebGLRenderingContext.uniform()", "WebGLRenderingContext.uniform[1234][fi][v]()")}}
+
Specifies a value for a uniform variable.
+
{{domxref("WebGLRenderingContext.uniformMatrix()", "WebGLRenderingContext.uniformMatrix[234]fv()")}}
+
Specifies a matrix value for a uniform variable.
+
{{domxref("WebGLRenderingContext.vertexAttrib()", "WebGLRenderingContext.vertexAttrib[1234]f[v]()")}}
+
Specifies a value for a generic vertex attribute.
+
{{domxref("WebGLRenderingContext.vertexAttribPointer()")}}
+
Specifies the data formats and locations of vertex attributes in a vertex attributes array.
+
+ +

Drawing buffers

+ +
+
{{domxref("WebGLRenderingContext.clear()")}}
+
Clears specified buffers to preset values.
+
{{domxref("WebGLRenderingContext.drawArrays()")}}
+
Renders primitives from array data.
+
{{domxref("WebGLRenderingContext.drawElements()")}}
+
Renders primitives from element array data.
+
{{domxref("WebGLRenderingContext.finish()")}}
+
Blocks execution until all previously called commands are finished.
+
{{domxref("WebGLRenderingContext.flush()")}}
+
Empties different buffer commands, causing all commands to be executed as quickly as possible.
+
+ +

Working with extensions

+ +

These methods manage WebGL extensions:

+ +
+
{{domxref("WebGLRenderingContext.getSupportedExtensions()")}}
+
Returns an {{jsxref("Array")}} of {{domxref("DOMString")}} elements with all the supported WebGL extensions.
+
{{domxref("WebGLRenderingContext.getExtension()")}}
+
Returns an extension object.
+
+ +

Examples

+ +

WebGL context feature detection

+ +

{{page("/en-US/Learn/WebGL/By_example/Detect_WebGL", "summary")}}

+ +

{{page("/en-US/Learn/WebGL/By_example/Detect_WebGL", "detect-webgl-source")}}

+ +

{{EmbedLiveSample("detect-webgl-source", 660,150 ,"" , "Learn/WebGL/By_example/Detect_WebGL")}}

+ +

Effect of canvas size on rendering with WebGL

+ +

{{page("/en-US/Learn/WebGL/By_example/Canvas_size_and_WebGL", "canvas-size-and-webgl-intro")}}

+ +

{{page("/en-US/Learn/WebGL/By_example/Canvas_size_and_WebGL", "canvas-size-and-webgl-source")}}

+ +

{{EmbedLiveSample("canvas-size-and-webgl-source", 660,180 ,"" , "Learn/WebGL/By_example/Canvas_size_and_WebGL")}}

+ +

Specifications

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('WebGL', "#5.14", "WebGLRenderingContext")}}{{Spec2('WebGL')}}Initial definition
+ +

Browser compatibility

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatChrome("9")}}20{{CompatGeckoDesktop("2.0")}}{{CompatIE("11")}}{{CompatOpera("12")}}{{CompatSafari("5.1")}}
Available in workers{{CompatNo}}{{CompatNo}}{{CompatGeckoDesktop(44)}} [1]{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)Firefox OSIE MobileOpera MobileSafari Mobile
Basic support{{CompatUnknown}}25{{CompatVersionUnknown}}{{CompatGeckoMobile("2.0")}}1.0{{CompatUnknown}}128.0
Available in workers{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile(44)}} [1]{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

[1] This feature is behind a feature preference setting. In about:config, set gfx.offscreencanvas.enabled to true.

+ +

See also

+ + diff --git a/files/ru/web/api/webglrenderingcontext/shadersource/index.html b/files/ru/web/api/webglrenderingcontext/shadersource/index.html new file mode 100644 index 0000000000..86ac976ab8 --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/shadersource/index.html @@ -0,0 +1,70 @@ +--- +title: WebGLRenderingContext.shaderSource() +slug: Web/API/WebGLRenderingContext/shaderSource +translation_of: Web/API/WebGLRenderingContext/shaderSource +--- +
{{APIRef("WebGL")}}
+ +

WebGLRenderingContext.shaderSource() метод WebGL API записывает исходный код шейдера в шейдерную программу {{domxref("WebGLShader")}}.

+ +

Синтаксис

+ +
void gl.shaderSource(shader, source);
+
+ +

Параметры

+ +
+
shader
+
A {{domxref("WebGLShader")}} объект в который записывается исходный код.
+
source
+
A {{domxref("DOMString")}} исходный код шейдера на GLSL который будет записан.
+
+ +

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

+ +

None.

+ +

Примеры

+ +
var shader = gl.createShader(gl.VERTEX_SHADER);
+gl.shaderSource(shader, originalSource);
+
+var source = gl.getShaderSource(shader);
+ +

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

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарии
{{SpecName('WebGL', "#5.14.9", "shaderSource")}}{{Spec2('WebGL')}}Initial definition.
{{SpecName('OpenGL ES 2.0', "glShaderSource.xml", "glShaderSource")}}{{Spec2('OpenGL ES 2.0')}}Man page of the (similar) OpenGL API.
+ +

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

+ + + +

{{Compat("api.WebGLRenderingContext.shaderSource")}}

+ +

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

+ + diff --git a/files/ru/web/api/webglrenderingcontext/uniform/index.html b/files/ru/web/api/webglrenderingcontext/uniform/index.html new file mode 100644 index 0000000000..010da6fc8e --- /dev/null +++ b/files/ru/web/api/webglrenderingcontext/uniform/index.html @@ -0,0 +1,99 @@ +--- +title: 'WebGLRenderingContext.uniform[1234][fi][v]()' +slug: Web/API/WebGLRenderingContext/uniform +translation_of: Web/API/WebGLRenderingContext/uniform +--- +
{{APIRef("WebGL")}}
+ +

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

+ +
+

Иногие из описаных в этом разделе функцию имеют расширенные интерфейсы WebGL 2, которые можно найти {{domxref("WebGL2RenderingContext.uniform","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
+
{{domxref("WebGLUniformLocation")}} объект содержащий uniform атрибут для его изменения.
+
value, v0, v1, v2, v3
+
Новое значение для uniform переменной. Допустимые типы: +
    +
  • Тип float {{jsxref("Number")}} для этого типа (методы с "f").
  • +
  • Последовательность чисел с плавающей точкой (пример {{jsxref("Float32Array")}} или {{jsxref("Array")}} чисел) fдля векторных методов с плавающей точкой (методы с "fv").
  • +
  • Тип  {{jsxref("Number")}} для этого типа (методы с "i").
  • +
  • {{jsxref("Int32Array")}} вектор чисел {{jsxref("Number")}} (методы с "iv").
  • +
+
+
+ +

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

+ +

None.

+ +

Примеры

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

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

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('WebGL', "#5.14.10", "uniform")}}{{Spec2('WebGL')}}Initial definition.
{{SpecName('OpenGL ES 2.0', "glUniform.xml", "glUniform")}}{{Spec2('OpenGL ES 2.0')}}Main page of the OpenGL API.
+ +

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

+ + + +

{{Compat("api.WebGLRenderingContext.uniform1f")}}

+ +

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

+ + -- cgit v1.2.3-54-g00ecf