aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/webgl2renderingcontext
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/api/webgl2renderingcontext
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/zh-cn/web/api/webgl2renderingcontext')
-rw-r--r--files/zh-cn/web/api/webgl2renderingcontext/beginquery/index.html74
-rw-r--r--files/zh-cn/web/api/webgl2renderingcontext/begintransformfeedback/index.html79
-rw-r--r--files/zh-cn/web/api/webgl2renderingcontext/bindbufferbase/index.html78
-rw-r--r--files/zh-cn/web/api/webgl2renderingcontext/createsampler/index.html62
-rw-r--r--files/zh-cn/web/api/webgl2renderingcontext/createvertexarray/index.html70
-rw-r--r--files/zh-cn/web/api/webgl2renderingcontext/drawbuffers/index.html75
-rw-r--r--files/zh-cn/web/api/webgl2renderingcontext/index.html272
-rw-r--r--files/zh-cn/web/api/webgl2renderingcontext/teximage3d/index.html174
-rw-r--r--files/zh-cn/web/api/webgl2renderingcontext/uniform/index.html85
-rw-r--r--files/zh-cn/web/api/webgl2renderingcontext/uniformmatrix/index.html79
10 files changed, 1048 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/webgl2renderingcontext/beginquery/index.html b/files/zh-cn/web/api/webgl2renderingcontext/beginquery/index.html
new file mode 100644
index 0000000000..ef9c00baea
--- /dev/null
+++ b/files/zh-cn/web/api/webgl2renderingcontext/beginquery/index.html
@@ -0,0 +1,74 @@
+---
+title: WebGL2RenderingContext.beginQuery()
+slug: Web/API/WebGL2RenderingContext/beginQuery
+translation_of: Web/API/WebGL2RenderingContext/beginQuery
+---
+<div>{{APIRef("WebGL")}} {{SeeCompatTable}}</div>
+
+<p><a href="/en-US/docs/Web/API/WebGL_API">WebGL 2 API</a> 的<strong><code>WebGL2RenderingContext.beginQuery()</code></strong> 方法启动一个异步查询,<code>target</code> 参数表明是哪种类型的查询。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox">void <var>gl</var>.beginQuery(<var>target</var>, <var>query</var>);
+</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt>target</dt>
+ <dd> {{domxref("GLenum")}} 指定查询个的target, 可能的值有:
+ <ul>
+ <li><code>gl.ANY_SAMPLES_PASSED</code>: Specifies an occlusion query: these queries detect whether an object is visible (whether the scoped drawing commands pass the depth test and if so, how many samples pass).</li>
+ <li><code>gl.ANY_SAMPLES_PASSED_CONSERVATIVE</code>: 和以上一样, 但是是一个不精确和更快的版本。</li>
+ <li><code>gl.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN</code>: Number of primitives that are written to transform feedback buffers.</li>
+ </ul>
+ </dd>
+ <dt><code>query</code></dt>
+ <dd>一个{{domxref("WebGLQuery")}} 对象用于查询。</dd>
+</dl>
+
+<h3 id="返回值">返回值</h3>
+
+<p>None.</p>
+
+<h2 id="例子">例子</h2>
+
+<pre class="brush: js">var query = gl.createQuery();
+gl.beginQuery(gl.ANY_SAMPLES_PASSED, query);
+
+// ...
+</pre>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('WebGL2', "#3.7.12", "beginQuery")}}</td>
+ <td>{{Spec2('WebGL2')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('OpenGL ES 3.0', "glBeginQuery.xhtml", "glBeginQuery")}}</td>
+ <td>{{Spec2('OpenGL ES 3.0')}}</td>
+ <td>Man page of the (similar) OpenGL API.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容">浏览器兼容</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("api.WebGL2RenderingContext.beginQuery")}}</p>
+
+<h2 id="参考">参考</h2>
+
+<ul>
+ <li>{{domxref("WebGLQuery")}}</li>
+</ul>
diff --git a/files/zh-cn/web/api/webgl2renderingcontext/begintransformfeedback/index.html b/files/zh-cn/web/api/webgl2renderingcontext/begintransformfeedback/index.html
new file mode 100644
index 0000000000..eb16d118a6
--- /dev/null
+++ b/files/zh-cn/web/api/webgl2renderingcontext/begintransformfeedback/index.html
@@ -0,0 +1,79 @@
+---
+title: WebGL2RenderingContext.beginTransformFeedback()
+slug: Web/API/WebGL2RenderingContext/beginTransformFeedback
+tags:
+ - API
+ - WebGL
+ - WebGL2
+ - 参考
+ - 实验性
+ - 方法
+translation_of: Web/API/WebGL2RenderingContext/beginTransformFeedback
+---
+<div>{{APIRef("WebGL")}} {{SeeCompatTable}}</div>
+
+<p><a href="/en-US/docs/Web/API/WebGL_API">WebGL 2 API</a> 的 <strong><code>WebGL2RenderingContext.beginTransformFeedback()</code></strong> 方法开始一个变换回传(Transform Feedback)操作。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox">void <var>gl</var>.beginTransformFeedback(<var>primitiveMode</var>);
+</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt><code>primitiveMode</code></dt>
+ <dd>A {{domxref("GLenum")}} specifying the output type of the primitives that will be recorded into the buffer objects that are bound for transform feedback. 可能的值:
+ <ul>
+ <li><code>gl.POINTS</code></li>
+ <li><code>gl.LINES</code></li>
+ <li><code>gl.TRIANGLES</code></li>
+ </ul>
+ </dd>
+</dl>
+
+<h3 id="返回值">返回值</h3>
+
+<p>无。</p>
+
+<h2 id="示例">示例</h2>
+
+<pre class="brush: js">var transformFeedback = gl.createTransformFeedback();
+gl.bindTransformFeedback(gl.TRANSFORM_FEEDBACK, transformFeedback);
+gl.beginTransformFeedback(gl.TRIANGLES);
+gl.drawArrays(gl.TRIANGLES, 0, 3);
+</pre>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('WebGL2', "#3.7.15", "beginTransformFeedback")}}</td>
+ <td>{{Spec2('WebGL2')}}</td>
+ <td>WebGL中初次定义。</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('OpenGL ES 3.0', "glBeginTransformFeedback.xhtml", "glBeginTransformFeedback")}}</td>
+ <td>{{Spec2('OpenGL ES 3.0')}}</td>
+ <td>OpenGL API 页面。</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("api.WebGL2RenderingContext.beginTransformFeedback")}}</p>
+
+<h2 id="相关链接">相关链接</h2>
+
+<ul>
+ <li>{{domxref("WebGLTransformFeedback")}}</li>
+</ul>
diff --git a/files/zh-cn/web/api/webgl2renderingcontext/bindbufferbase/index.html b/files/zh-cn/web/api/webgl2renderingcontext/bindbufferbase/index.html
new file mode 100644
index 0000000000..353373c972
--- /dev/null
+++ b/files/zh-cn/web/api/webgl2renderingcontext/bindbufferbase/index.html
@@ -0,0 +1,78 @@
+---
+title: WebGL2RenderingContext.bindBufferBase()
+slug: Web/API/WebGL2RenderingContext/bindBufferBase
+tags:
+ - API
+ - WebGL
+ - WebGL2
+ - 参考
+ - 实验性
+ - 方法
+translation_of: Web/API/WebGL2RenderingContext/bindBufferBase
+---
+<div>{{APIRef("WebGL")}} {{SeeCompatTable}}</div>
+
+<p><a href="/en-US/docs/Web/API/WebGL_API">WebGL 2 API</a> 的 <strong><code>WebGL2RenderingContext.bindBufferBase()</code></strong> 方法将一个 {{domxref("WebGLBuffer")}} 绑定到某个点 (<code>target</code>) 的特定的 <code>index</code>上。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox">void <var>gl</var>.bindBufferBase(<var>target</var>, <var>index</var>, <var>buffer</var>);</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt><code>target</code></dt>
+ <dd>{{domxref("Glenum")}} 指定绑定操作的目标。可能的值:
+ <ul>
+ <li><code>gl.TRANSFORM_FEEDBACK_BUFFER</code></li>
+ <li><code>gl.UNIFORM_BUFFER</code></li>
+ </ul>
+ </dd>
+ <dt><code>index</code></dt>
+ <dd>{{domxref("GLuint")}} 指定目标(<code>target</code>)的 index 。</dd>
+ <dt><code>buffer</code></dt>
+ <dd>绑定到目标点(<code>target</code>)的 {{domxref("WebGLBuffer")}} 。</dd>
+</dl>
+
+<h3 id="返回值">返回值</h3>
+
+<p>无。</p>
+
+<h2 id="示例">示例</h2>
+
+<pre class="brush: js">gl.bindBufferBase(gl.TRANSFORM_FEEDBACK_BUFFER, 0, buffer);
+</pre>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('WebGL2', "#3.7.16", "bindBufferBase")}}</td>
+ <td>{{Spec2('WebGL2')}}</td>
+ <td>WebGL中初次定义。</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('OpenGL ES 3.0', "glBindBufferBase.xhtml", "glBindBufferBase")}}</td>
+ <td>{{Spec2('OpenGL ES 3.0')}}</td>
+ <td>OpenGL API 页面。</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("api.WebGL2RenderingContext.bindBufferBase")}}</p>
+
+<h2 id="相关链接">相关链接</h2>
+
+<ul>
+ <li>{{domxref("WebGL2RenderingContext.getIndexedParameter()")}}</li>
+</ul>
diff --git a/files/zh-cn/web/api/webgl2renderingcontext/createsampler/index.html b/files/zh-cn/web/api/webgl2renderingcontext/createsampler/index.html
new file mode 100644
index 0000000000..c9aa1b16e1
--- /dev/null
+++ b/files/zh-cn/web/api/webgl2renderingcontext/createsampler/index.html
@@ -0,0 +1,62 @@
+---
+title: WebGL2RenderingContext.createSampler()
+slug: Web/API/WebGL2RenderingContext/createSampler
+translation_of: Web/API/WebGL2RenderingContext/createSampler
+---
+<div>{{APIRef("WebGL")}} {{SeeCompatTable}}</div>
+
+<p><a href="/en-US/docs/Web/API/WebGL_API">WebGL 2 API</a> 定义的 <code><strong>WebGL2RenderingContext.createSampler()</strong></code> 方法用于创建并初始化 {{domxref("WebGLSampler")}} 对象.</p>
+
+<h2 id="句法">句法</h2>
+
+<pre class="syntaxbox">WebGLSampler <var>gl</var>.createSampler();
+</pre>
+
+<h3 id="参数">参数</h3>
+
+<p>无.</p>
+
+<h3 id="返回值">返回值</h3>
+
+<p>{{domxref("WebGLSampler")}} 对象.</p>
+
+<h2 id="例子">例子</h2>
+
+<p><code>gl</code> 必须是 {{domxref("WebGL2RenderingContext")}} 类型. WebGL 1 不支持  <code>WebGLSampler</code> 对象.</p>
+
+<pre class="brush: js">var sampler = gl.createSampler();
+</pre>
+
+<h2 id="相关规范">相关规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">规范名</th>
+ <th scope="col">状态</th>
+ <th scope="col">备注</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('WebGL2', "#3.7.13", "createSampler")}}</td>
+ <td>{{Spec2('WebGL2')}}</td>
+ <td>初稿.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('OpenGL ES 3.0', "glGenSamplers.xhtml", "glGenSamplers")}}</td>
+ <td>{{Spec2('OpenGL ES 3.0')}}</td>
+ <td>OpenGL API 的手册.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容">浏览器兼容</h2>
+
+<p class="hidden">此页面中的兼容性表格是从结构化数据生成的。如果你想帮助我们改进该数据,查看 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 并向我们发送一个 PR ( pull request )。</p>
+
+<p>{{Compat("api.WebGL2RenderingContext.createSampler")}}</p>
+
+<h2 id="另见">另见</h2>
+
+<ul>
+ <li>{{domxref("WebGLSampler")}}</li>
+</ul>
diff --git a/files/zh-cn/web/api/webgl2renderingcontext/createvertexarray/index.html b/files/zh-cn/web/api/webgl2renderingcontext/createvertexarray/index.html
new file mode 100644
index 0000000000..e05e7869a1
--- /dev/null
+++ b/files/zh-cn/web/api/webgl2renderingcontext/createvertexarray/index.html
@@ -0,0 +1,70 @@
+---
+title: WebGL2RenderingContext.createVertexArray()
+slug: Web/API/WebGL2RenderingContext/createVertexArray
+tags:
+ - Method
+ - WebGL2
+translation_of: Web/API/WebGL2RenderingContext/createVertexArray
+---
+<div>{{APIRef("WebGL")}} {{SeeCompatTable}}</div>
+
+<p><a href="/en-US/docs/Web/API/WebGL_API">WebGL 2 API</a> 中的 <strong><code>WebGL2RenderingContext.createVertexArray()</code></strong>方法创建并初始化(creates and initializes)一个 {{domxref("WebGLVertexArrayObject")}} 的对象(object) ,它代表一个指向顶点数组数据的顶点数组对象(vertex array object (VAO) ),并为不同的顶点数据集提供名称。</p>
+
+<h2 id="句法"><strong>句法</strong></h2>
+
+<pre class="syntaxbox">WebGLVertexArrayObject <var>gl</var>.createVertexArray();
+</pre>
+
+<h3 id="参数">参数</h3>
+
+<p>没有参数</p>
+
+<h3 id="返回值">返回值</h3>
+
+<p>一个{{domxref("WebGLVertexArrayObject")}}对象 代表 一个顶点数组对象 (VAO) ,该对象指向顶点数据。</p>
+
+<h2 id="示例">示例</h2>
+
+<pre class="brush: js">var vao = gl.createVertexArray();
+gl.bindVertexArray(vao);
+
+// ...
+// calls to bindBuffer or vertexAttribPointer
+// which will be "recorded" in the VAO
+// ...
+</pre>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('WebGL2', "#3.7.17", "createVertexArray")}}</td>
+ <td>{{Spec2('WebGL2')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('OpenGL ES 3.0', "glGenVertexArrays.xhtml", "glGenVertexArrays")}}</td>
+ <td>{{Spec2('OpenGL ES 3.0')}}</td>
+ <td>Man page of the (similar) OpenGL API.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("api.WebGL2RenderingContext.createVertexArray")}}</p>
+
+<h2 id="另见">另见</h2>
+
+<ul>
+ <li>{{domxref("WebGLVertexArrayObject")}}</li>
+ <li> {{domxref("bindVertexArray")}}</li>
+</ul>
diff --git a/files/zh-cn/web/api/webgl2renderingcontext/drawbuffers/index.html b/files/zh-cn/web/api/webgl2renderingcontext/drawbuffers/index.html
new file mode 100644
index 0000000000..9a8f3f6797
--- /dev/null
+++ b/files/zh-cn/web/api/webgl2renderingcontext/drawbuffers/index.html
@@ -0,0 +1,75 @@
+---
+title: WebGL2RenderingContext.drawBuffers()
+slug: Web/API/WebGL2RenderingContext/drawBuffers
+translation_of: Web/API/WebGL2RenderingContext/drawBuffers
+---
+<div>{{APIRef("WebGL")}} {{SeeCompatTable}}</div>
+
+<p><a href="/en-US/docs/Web/API/WebGL_API">WebGL 2 API</a>的 <strong><code>WebGL2RenderingContext.drawBuffers()</code></strong>  方法定义了将写入零散数据(fragment colors)的绘制缓存(draw buffer)。绘制缓存设置了上一次绑定帧缓存状态,如果没有帧缓存可用的话,则用绘制缓存。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox notranslate">void <var>gl</var>.drawBuffers(<var>buffers</var>);
+</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt><code>buffers</code></dt>
+ <dd>一个 <span>{{domxref("GLenum")}}的{{jsxref("Array")}}}</span> 对碎片颜色的说明将被写入缓冲区。可能的值有:
+ <ul>
+ <li><code>gl.NONE</code>: 碎片着色器的输出没有被写入到任何颜色缓存中。</li>
+ <li><code>gl.BACK</code>: 碎片着色器的输出被写入到返回的颜色缓存中。</li>
+ <li><code>gl.COLOR_ATTACHMENT{0-15}</code>: 碎片着色器的输出被写入当前帧缓存的第n个颜色缓存中。Fragment shader output is written in the nth color attachment of the current framebuffer.</li>
+ </ul>
+ </dd>
+</dl>
+
+<h3 id="返回值">返回值</h3>
+
+<p>没有。</p>
+
+<h3 id="报错信息">报错信息</h3>
+
+<ul>
+ <li>如果<code> buffers</code> 包含了不止一个合法值,  <code>gl.INVALID_ENUM</code>错误会被抛出</li>
+</ul>
+
+<h2 id="例子">例子</h2>
+
+<pre class="brush: js notranslate">gl.drawBuffers([gl.NONE, gl.COLOR_ATTACHMENT1]);
+</pre>
+
+<h2 id="详情">详情</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">详情</th>
+ <th scope="col">状态</th>
+ <th scope="col">用法(Comment)</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('WebGL2', "#3.7.11", "drawBuffers")}}</td>
+ <td>{{Spec2('WebGL2')}}</td>
+ <td>Initial definition for WebGL.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('OpenGL ES 3.0', "glDrawBuffers.xhtml", "glDrawBuffers")}}</td>
+ <td>{{Spec2('OpenGL ES 3.0')}}</td>
+ <td>Man page of the (similar) OpenGL API.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<p class="hidden">此页面的兼容性表格通过结构数据生成,如果你想对数据做出贡献, 请点击 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 并且给我们发邮箱</p>
+
+<p>{{Compat("api/WebGL2RenderingContext", "WebGL2RenderingContext.drawBuffers")}}</p>
+
+<h2 id="详见">详见</h2>
+
+<ul>
+ <li>{{domxref("WebGL2RenderingContext.clearBuffer", "WebGL2RenderingContext.clearBuffer[fiuv]()")}}</li>
+</ul>
diff --git a/files/zh-cn/web/api/webgl2renderingcontext/index.html b/files/zh-cn/web/api/webgl2renderingcontext/index.html
new file mode 100644
index 0000000000..faac90295a
--- /dev/null
+++ b/files/zh-cn/web/api/webgl2renderingcontext/index.html
@@ -0,0 +1,272 @@
+---
+title: WebGL2RenderingContext
+slug: Web/API/WebGL2RenderingContext
+translation_of: Web/API/WebGL2RenderingContext
+---
+<div>{{APIRef("WebGL")}} {{SeeCompatTable}}</div>
+
+<p><strong>WebGL2RenderingContext</strong> 接口在底层使用了OpenGL ES 3.0 为 HTML 的 {{HTMLElement("canvas")}} 元素提供了绘图上下文。</p>
+
+<p>要获取该接口的实例对象需要调用一个  &lt;canvas&gt;  标签对象的 {{domxref("HTMLCanvasElement.getContext()", "getContext()")}} 函数,并将 "webgl2" 作为参数传递:</p>
+
+<pre class="brush: js notranslate">var canvas = document.getElementById('myCanvas');
+var gl = canvas.getContext('webgl2');
+</pre>
+
+<div class="note">
+<p>WebGL 2 是 WebGL 1 的扩展。 <code>WebGL2RenderingContext</code> 接口实现了 {{domxref("WebGLRenderingContext")}} 接口的所有成员。 有一些 WebGL 1 上下文中的方法在使用 WebGL 2 上下文的时候可以接受附加值。 您可以通过 WebGL 1 的参考页了解这些信息。</p>
+</div>
+
+<p>这个 <a href="/en-US/docs/Web/API/WebGL_API/Tutorial" title="WebGL tutorial">WebGL 教程</a> 中提供了关于如何开始使用 WebGL 的更多信息、示例以及资源。</p>
+
+<h2 id="常量">常量</h2>
+
+<p>请看 <a href="/en-US/docs/Web/API/WebGL_API/Constants">WebGL 常量</a> 页面。</p>
+
+<h2 id="状态信息">状态信息</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.getIndexedParameter()")}}</dt>
+ <dd>返回指定目标的索引值。</dd>
+</dl>
+
+<h2 id="缓冲区">缓冲区</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.copyBufferSubData()")}}</dt>
+ <dd>将缓冲区的部分数据复制到另一个缓冲区。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.getBufferSubData()")}}</dt>
+ <dd>从缓冲区中读取数据,然后将其写入到 {{jsxref("ArrayBuffer")}} 或 {{jsxref("SharedArrayBuffer")}} 中。</dd>
+</dl>
+
+<h2 id="帧缓冲区">帧缓冲区</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.blitFramebuffer()")}}</dt>
+ <dd>将一个像素块从读取帧缓冲区传输到绘制帧缓冲区。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.framebufferTextureLayer()")}}</dt>
+ <dd>附着一个单层的材质到帧缓冲区。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.invalidateFramebuffer()")}}</dt>
+ <dd>使附着到缓冲区的内容失效。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.invalidateSubFramebuffer()")}}</dt>
+ <dd>使附着到缓冲区的部分内容失效。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.readBuffer()")}}</dt>
+ <dd>选择一个颜色缓冲作为像素的source。</dd>
+</dl>
+
+<h2 id="渲染缓冲区">渲染缓冲区</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.getInternalformatParameter()")}}</dt>
+ <dd>Returns information about implementation-dependent support for internal formats.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.renderbufferStorageMultisample()")}}</dt>
+ <dd>Creates and initializes a renderbuffer object's data store and allows specifying the number of samples to be used.</dd>
+</dl>
+
+<h2 id="纹理">纹理</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.texStorage2D()")}}</dt>
+ <dd>Specifies all levels of two-dimensional texture storage.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.texStorage3D()")}}</dt>
+ <dd>Specifies all levels of a three-dimensional texture or two-dimensional array texture.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.texImage3D()")}}</dt>
+ <dd>Specifies a three-dimensional texture image.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.texSubImage3D()")}}</dt>
+ <dd>Specifies a sub-rectangle of the current 3D texture.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.copyTexSubImage3D()")}}</dt>
+ <dd>Copies pixels from the current <a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGLFramebuffer" title="The WebGLFramebuffer interface is part of the WebGL API and represents a collection of buffers that serve as a rendering destination."><code>WebGLFramebuffer</code></a> into an existing 3D texture sub-image.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.compressedTexImage3D()")}}</dt>
+ <dd>Specifies a three-dimensional texture image in a compressed format.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.compressedTexSubImage3D()")}}</dt>
+ <dd>Specifies a three-dimensional sub-rectangle for a texture image in a compressed format.</dd>
+</dl>
+
+<h2 id="程序和着色器">程序和着色器</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.getFragDataLocation()")}}</dt>
+ <dd>Returns the binding of color numbers to user-defined varying out variables.</dd>
+</dl>
+
+<h2 id="Uniforms_和_Attributes">Uniforms 和 Attributes</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.uniform()", "WebGL2RenderingContext.uniform[1234][fiu][v]()")}}</dt>
+ <dd>指定一个uniform变量。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.uniformMatrix()", "WebGL2RenderingContext.uniformMatrix[1234][fv]()")}}</dt>
+ <dd>指定一个uniform矩阵变量。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.vertexAttribI()", "WebGL2RenderingContext.vertexAttribI[iuv]()")}}</dt>
+ <dd>Methods specifying integer values for generic vertex attributes.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.vertexAttribIPointer()")}}</dt>
+ <dd>Specifies integer data formats and locations of vertex attributes in a vertex attributes array.</dd>
+</dl>
+
+<h2 id="绘图缓冲区">绘图缓冲区</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.vertexAttribDivisor()")}}</dt>
+ <dd>Modifies the rate at which generic vertex attributes advance when rendering multiple instances of primitives with {{domxref("WebGL2RenderingContext.drawArraysInstanced()", "gl.drawArraysInstanced()")}} and {{domxref("WebGL2RenderingContext.drawElementsInstanced()", "gl.drawElementsInstanced()")}}.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.drawArraysInstanced()")}}</dt>
+ <dd>Renders primitives from array data. In addition, it can execute multiple instances of the range of elements.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.drawElementsInstanced()")}}</dt>
+ <dd>Renders primitives from array data. In addition, it can execute multiple instances of a set of elements.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.drawRangeElements()")}}</dt>
+ <dd>Renders primitives from array data in a given range.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.drawBuffers()")}}</dt>
+ <dd>Specifies a list of color buffers to be drawn into.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.clearBuffer()", "WebGL2RenderingContext.clearBuffer[fiuv]()")}}</dt>
+ <dd>Clears buffers from the currently bound framebuffer.</dd>
+</dl>
+
+<h2 id="查询对象">查询对象</h2>
+
+<p>Methods for working with {{domxref("WebGLQuery")}} objects.</p>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.createQuery()")}}</dt>
+ <dd>创建一个新的 {{domxref("WebGLQuery")}} 对象.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.deleteQuery()")}}</dt>
+ <dd>删除一个指定的 {{domxref("WebGLQuery")}} 对象。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.isQuery()")}}</dt>
+ <dd>Returns <code>true</code> if a given object is a valid {{domxref("WebGLQuery")}} object.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.beginQuery()")}}</dt>
+ <dd>开始一个异步查询。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.endQuery()")}}</dt>
+ <dd>Marks the end of an asynchronous query.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.getQuery()")}}</dt>
+ <dd>返回一个指定目标的 {{domxref("WebGLQuery")}} 对象。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.getQueryParameter()")}}</dt>
+ <dd>返回关于一个查询的信息。</dd>
+</dl>
+
+<h2 id="采样对象">采样对象</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.createSampler()")}}</dt>
+ <dd>Creates a new {{domxref("WebGLSampler")}} object.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.deleteSampler()")}}</dt>
+ <dd>Deletes a given {{domxref("WebGLSampler")}} object.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.bindSampler()")}}</dt>
+ <dd>Binds a given {{domxref("WebGLSampler")}} to a texture unit.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.isSampler()")}}</dt>
+ <dd>Returns <code>true</code> if a given object is a valid {{domxref("WebGLSampler")}} object.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.samplerParameter()", "WebGL2RenderingContext.samplerParameter[if]()")}}</dt>
+ <dd>Sets sampler parameters.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.getSamplerParameter()")}}</dt>
+ <dd>Returns sampler parameter information.</dd>
+</dl>
+
+<h2 id="同步对象">同步对象</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.fenceSync()")}}</dt>
+ <dd>创建一个 {{domxref("WebGLSync")}} 对象并插入到 GL 命令流中。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.isSync()")}}</dt>
+ <dd>Returns <code>true</code> if the passed object is a valid {{domxref("WebGLSync")}} object.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.deleteSync()")}}</dt>
+ <dd>删除一个指定的 {{domxref("WebGLSync")}} 对象。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.clientWaitSync()")}}</dt>
+ <dd>
+ <p>Blocks and waits for a {{domxref("WebGLSync")}} object to become signaled or a given timeout to be passed.</p>
+ </dd>
+ <dt>{{domxref("WebGL2RenderingContext.waitSync()")}}</dt>
+ <dd>Returns immediately, but waits on the GL server until the given {{domxref("WebGLSync")}} object is signaled.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.getSyncParameter()")}}</dt>
+ <dd>根据一个 {{domxref("WebGLSync")}} 对象返回参数信息。</dd>
+</dl>
+
+<h2 id="变换反馈">变换反馈</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.createTransformFeedback()")}}</dt>
+ <dd>创建并初始化 {{domxref("WebGLTransformFeedback")}} 对象。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.deleteTransformFeedback()")}}</dt>
+ <dd>删除一个指定的 {{domxref("WebGLTransformFeedback")}} 对象。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.isTransformFeedback()")}}</dt>
+ <dd>Returns <code>true</code> if the passed object is a valid {{domxref("WebGLTransformFeedback")}} object.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.bindTransformFeedback()")}}</dt>
+ <dd>Binds a passed {{domxref("WebGLTransformFeedback")}} object to the current GL state.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.beginTransformFeedback()")}}</dt>
+ <dd>Starts a transform feedback operation.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.endTransformFeedback()")}}</dt>
+ <dd>Ends a transform feedback operation.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.transformFeedbackVaryings()")}}</dt>
+ <dd>Specifies values to record in {{domxref("WebGLTransformFeedback")}} buffers.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.getTransformFeedbackVarying()")}}</dt>
+ <dd>Returns information about varying variables from {{domxref("WebGLTransformFeedback")}} buffers.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.pauseTransformFeedback()")}}</dt>
+ <dd>Pauses a transform feedback operation.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.resumeTransformFeedback()")}}</dt>
+ <dd>Resumes a transform feedback operation.</dd>
+</dl>
+
+<h2 id="Uniform_缓冲对象">Uniform 缓冲对象</h2>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.bindBufferBase()")}}</dt>
+ <dd>Binds a given {{domxref("WebGLBuffer")}} to a given binding point (<code>target</code>) at a given <code>index</code>.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.bindBufferRange()")}}</dt>
+ <dd>Binds a range of a given {{domxref("WebGLBuffer")}} to a given binding point (<code>target</code>) at a given <code>index</code>.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.getUniformIndices()")}}</dt>
+ <dd>
+ <p>Retrieves the indices of a number of uniforms within a {{domxref("WebGLProgram")}}.</p>
+ </dd>
+ <dt>{{domxref("WebGL2RenderingContext.getActiveUniforms()")}}</dt>
+ <dd>Retrieves information about active uniforms within a {{domxref("WebGLProgram")}}.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.getUniformBlockIndex()")}}</dt>
+ <dd>Retrieves the index of a uniform block within a {{domxref("WebGLProgram")}}.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.getActiveUniformBlockParameter()")}}</dt>
+ <dd>Retrieves information about an active uniform block within a {{domxref("WebGLProgram")}}.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.getActiveUniformBlockName()")}}</dt>
+ <dd>Retrieves the name of the active uniform block at a given index within a {{domxref("WebGLProgram")}}.</dd>
+ <dt>{{domxref("WebGL2RenderingContext.uniformBlockBinding()")}}</dt>
+ <dd>Assigns binding points for active uniform blocks.</dd>
+</dl>
+
+<h2 id="顶点数组对象">顶点数组对象</h2>
+
+<p>Methods for working with {{domxref("WebGLVertexArrayObject")}} (VAO) objects.</p>
+
+<dl>
+ <dt>{{domxref("WebGL2RenderingContext.createVertexArray()")}}</dt>
+ <dd>创建一个新的 {{domxref("WebGLVertexArrayObject")}}。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.deleteVertexArray()")}}</dt>
+ <dd>删除一个指定的 {{domxref("WebGLVertexArrayObject")}}。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.isVertexArray()")}}</dt>
+ <dd>如果一个指定的 {{domxref("WebGLVertexArrayObject")}} 对象有效则返回 <code>true</code>。</dd>
+ <dt>{{domxref("WebGL2RenderingContext.bindVertexArray()")}}</dt>
+ <dd>绑定一个指定的 {{domxref("WebGLVertexArrayObject")}} 到缓冲。</dd>
+</dl>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('WebGL2', "#3.7", "WebGL2RenderingContext")}}</td>
+ <td>{{Spec2('WebGL2')}}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<div class="hidden">
+<p>此页面上的兼容性表格由结构化数据生成。如果你想贡献数据,可以看看 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>并向我们发送 pull request.</p>
+</div>
+
+<p>{{Compat("api.WebGL2RenderingContext")}}</p>
+
+<h2 id="相关链接">相关链接</h2>
+
+<ul>
+ <li>{{domxref("HTMLCanvasElement")}}</li>
+ <li>{{domxref("WebGLRenderingContext")}}</li>
+</ul>
diff --git a/files/zh-cn/web/api/webgl2renderingcontext/teximage3d/index.html b/files/zh-cn/web/api/webgl2renderingcontext/teximage3d/index.html
new file mode 100644
index 0000000000..97dc1ca928
--- /dev/null
+++ b/files/zh-cn/web/api/webgl2renderingcontext/teximage3d/index.html
@@ -0,0 +1,174 @@
+---
+title: WebGL2RenderingContext.texImage3D()
+slug: Web/API/WebGL2RenderingContext/texImage3D
+translation_of: Web/API/WebGL2RenderingContext/texImage3D
+---
+<div>{{APIRef("WebGL")}} {{SeeCompatTable}}</div>
+
+<p><a href="/en-US/docs/Web/API/WebGL_API">WebGL API</a> 的 <strong><code>WebGLRenderingContext.texImage3D()</code></strong>方法指定一个3d(three-dimensional)纹理贴图。</p>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox">void <var>gl</var>.texImage3D(target, level, internalformat, width, height, depth, border, format, type, GLintptr offset);
+
+void <var>gl</var>.texImage3D(target, level, internalformat, width, height, depth, border, format, type, HTMLCanvasElement source);
+void <var>gl</var>.texImage3D(target, level, internalformat, width, height, depth, border, format, type, HTMLImageElement source);
+void <var>gl</var>.texImage3D(target, level, internalformat, width, height, depth, border, format, type, HTMLVideoElement source);
+void <var>gl</var>.texImage3D(target, level, internalformat, width, height, depth, border, format, type, ImageBitmap source);
+void <var>gl</var>.texImage3D(target, level, internalformat, width, height, depth, border, format, type, ImageData source);
+void <var>gl</var>.texImage3D(target, level, internalformat, width, height, depth, border, format, type, ArrayBufferView? srcData);
+void <var>gl</var>.texImage3D(target, level, internalformat, width, height, depth, border, format, type, ArrayBufferView srcData, srcOffset);
+</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt><code>target</code></dt>
+ <dd> {{domxref("GLenum")}}指定绑定纹理图像类型。可能值:
+ <ul>
+ <li><code>gl.TEXTURE_3D</code>: 一个3D贴图</li>
+ <li><code>gl.TEXTURE_2D_ARRAY</code>: 一个2D数组贴图</li>
+ </ul>
+ </dd>
+ <dt><code>level</code></dt>
+ <dd>{{domxref("GLint")}}指定细节等级。level0是基础图片等级, n是第n个mipmap纹理衰减等级。(译者注:原文中衰减应该指像素,并且注意,webgl的Mipmapping技术要求顶层图像的行和列的维数均为2的幂)</dd>
+ <dt><code>internalformat</code></dt>
+ <dd>{{domxref("GLint")}}指定贴图的颜色组成,可能值为:
+ <ul>
+ <li><code>gl.ALPHA</code>: 忽略红色,绿色,蓝色分量值只读取alpha信息。</li>
+ <li><code>gl.RGB</code>: 忽略alpha信息,读取红绿蓝分量</li>
+ <li><code>gl.RGBA</code>: 从颜色缓冲(colorBuffer)读取红色,绿色,蓝色和alpha分量</li>
+ <li><code>gl.LUMINANCE</code>:每个颜色组件都是亮度组件,alpha值为1.0.</li>
+ <li><code>gl.LUMINANCE_ALPHA</code>:每个组件都是亮度/alpha 组件(component) .</li>
+ <li><code>gl.R8</code></li>
+ <li><code>gl.R16F</code></li>
+ <li><code>gl.</code>R32F</li>
+ <li><code>gl.R8UI</code></li>
+ <li><code>gl.RG8</code></li>
+ <li><code>gl.RG16F</code></li>
+ <li><code>gl.RG32F</code></li>
+ <li><code>gl.RGUI</code></li>
+ <li><code>gl.RGB8</code></li>
+ <li><code>gl.SRGB8</code></li>
+ <li><code>gl.RGB565</code></li>
+ <li><code>gl.R11F_G11F_B10F</code></li>
+ <li><code>gl.RGB9_E5</code></li>
+ <li><code>gl.RGB16F</code></li>
+ <li><code>gl.RGB32F</code></li>
+ <li><code>gl.RGB8UI</code></li>
+ <li><code>gl.RGBA8</code></li>
+ <li><code>gl.SRGB_APLHA8</code></li>
+ <li><code>gl.RGB5_A1</code></li>
+ <li><code>gl.RGBA4444</code></li>
+ <li><code>gl.RGBA16F</code></li>
+ <li><code>gl.RGBA32F</code></li>
+ <li><code>gl.RGBA8UI</code></li>
+ </ul>
+ </dd>
+ <dt><code>width</code></dt>
+ <dd> {{domxref("GLsizei")}}指定纹理的宽度</dd>
+ <dt><code>height</code></dt>
+ <dd>{{domxref("GLsizei")}} 指定纹理的高度</dd>
+ <dt><code>depth</code></dt>
+ <dd>{{domxref("GLsizei")}} 指定纹理的深度信息</dd>
+ <dt><code>border</code></dt>
+ <dd>{{domxref("GLint")}}指定边框宽度,必须为0</dd>
+ <dt><code>format</code></dt>
+ <dd>{{domxref("GLenum")}}制定纹素的版本。正确的 <code>内部格式</code> 组合被列举在 <a href="https://www.khronos.org/registry/webgl/specs/latest/2.0/#TEXTURE_TYPES_FORMATS_FROM_DOM_ELEMENTS_TABLE">这个列表</a>。</dd>
+ <dt><code>type</code></dt>
+ <dd>A {{domxref("GLenum")}}指定纹素的数据类型,可能值:
+ <ul>
+ <li><code>gl.UNSIGNED_BYTE</code>: 每个<code>gl.RGBA</code>对应8个字节</li>
+ <li><code>gl.UNSIGNED_SHORT_5_6_5</code>: 红色占五个字节,绿色占六个字节,蓝色占五个字节</li>
+ <li><code>gl.UNSIGNED_SHORT_4_4_4_4</code>: 红色占四个字节,绿色占 四 个字节,蓝色占 四 个字节</li>
+ <li><code>gl.UNSIGNED_SHORT_5_5_5_1</code>:红色占五个字节,绿色占五个字节,蓝色占五个字节,alpha占一个字节</li>
+ <li><code>gl.BYTE </code>(这些属性的信息原文中均未提到,但是在webgl1中出现过,可以适当参考webgl1文献)</li>
+ <li><code>gl.UNSIGNED_SHORT</code></li>
+ <li><code>gl.SHORT</code></li>
+ <li><code>gl.UNSIGNED_INT</code></li>
+ <li><code>gl.INT</code></li>
+ <li><code>gl.HALF_FLOAT</code></li>
+ <li><code>gl.FLOAT</code></li>
+ <li><code>gl.UNSIGNED_INT_2_10_10_10_REV</code></li>
+ <li><code>gl.UNSIGNED_INT_10F_11F_11F_REV</code></li>
+ <li><code>gl.UNSIGNED_INT_5_9_9_9_REV</code></li>
+ <li><code>gl.UNSIGNED_INT_24_8</code></li>
+ <li><code>gl.FLOAT_32_UNSIGNED_INT_24_8_REV</code> (pixels must be {{jsxref("null")}})</li>
+ </ul>
+ </dd>
+ <dt><code>source</code></dt>
+ <dd>其中一个对象可以用作纹理对象的源:</dd>
+ <dd>
+ <ul>
+ <li>{{domxref("ArrayBufferView")}},</li>
+ <li>{{domxref("ImageBitmap")}},</li>
+ <li>{{domxref("ImageData")}},</li>
+ <li>{{domxref("HTMLImageElement")}},</li>
+ <li>{{domxref("HTMLCanvasElement")}},</li>
+ <li>{{domxref("HTMLVideoElement")}}.</li>
+ </ul>
+ </dd>
+ <dt>offset</dt>
+ <dd>一个针对于{{domxref("WebGLBuffer")}}所储存数据的{{domxref("GLintptr")}}字节的偏移量。用来重新加载已经用<code>WebGLBuffer</code>绑定到<code>PIXEL_UNPACK_BUFFER</code>的{{domxref("WebGLTexture")}} 。</dd>
+ <dd>
+ <ul>
+ </ul>
+ </dd>
+</dl>
+
+<h3 id="返回值">返回值</h3>
+
+<p>没有</p>
+
+<h2 id="例子">例子</h2>
+
+<pre class="brush: js">gl.texImage3D(gl.TEXTURE_3D,
+ 0, // level
+ gl.RGBA, // internalFormat
+ 1, // width
+ 1, // height
+ 1, // depth
+ 0, // border
+ gl.RGBA, // format
+ gl.UNSIGNED_BYTE, // type
+ new Uint8Array([0xff, 0x00, 0x00, 0x00])); // data
+</pre>
+
+<h2 id="说明">说明</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">说明(Specification )</th>
+ <th scope="col">状态(Status)</th>
+ <th scope="col">意见(Comment)</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('WebGL2', "#3.7.6", "texImage3D")}}</td>
+ <td>{{Spec2('WebGL2')}}</td>
+ <td>Updated definition for WebGL.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('OpenGL ES 3.0', "glTexImage3D.xhtml", "glTexImage3D")}}</td>
+ <td>{{Spec2('OpenGL ES 3.0')}}</td>
+ <td>Man page of the (similar) OpenGL ES 3.0 API.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<p class="hidden">此页面上的兼容性表格已经由构造数据生成,如果想为数据做出贡献,请点击<a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>并且给我们一个回复</p>
+
+<p>{{Compat("api.WebGL2RenderingContext.texImage3D")}}</p>
+
+<h2 id="另见">另见</h2>
+
+<ul>
+ <li>{{domxref("WebGLRenderingContext.createTexture()")}}</li>
+ <li>{{domxref("WebGLRenderingContext.bindTexture()")}}</li>
+ <li>{{domxref("WebGLRenderingContext.texSubImage2D()")}}</li>
+ <li>{{domxref("WebGLRenderingContext.compressedTexImage2D()")}}</li>
+ <li>{{domxref("WebGLRenderingContext.copyTexImage2D()")}}</li>
+ <li>{{domxref("WebGLRenderingContext.getTexParameter()")}}</li>
+</ul>
diff --git a/files/zh-cn/web/api/webgl2renderingcontext/uniform/index.html b/files/zh-cn/web/api/webgl2renderingcontext/uniform/index.html
new file mode 100644
index 0000000000..22b773d4de
--- /dev/null
+++ b/files/zh-cn/web/api/webgl2renderingcontext/uniform/index.html
@@ -0,0 +1,85 @@
+---
+title: 'WebGL2RenderingContext.uniform[1234][uif][v]()'
+slug: Web/API/WebGL2RenderingContext/uniform
+translation_of: Web/API/WebGL2RenderingContext/uniform
+---
+<div>{{APIRef("WebGL")}} {{SeeCompatTable}}</div>
+
+<p> <a href="/en-US/docs/Web/API/WebGL_API">WebGL API</a>的<strong><code>WebGL2RenderingContext.uniform[1234][uif][v]()</code></strong> 方法提供了uniform(es)变量的详细值</p>
+
+<div class="note">
+<p><code>ui</code> <em>意为无符号整数</em>, <code>i</code> <em>意为整数, </em><code>f</code> <em>意为浮点数</em>, 并且 <code>v</code> <em>意为矢量.</em><br>
+ 并不是所有的组合都是有效的: <code>u</code> 不能是 <code>f</code>的组合。详见下方语法表格。用 正则表达式概括语法: <code>uniform[1234](u?i|f)v?</code></p>
+</div>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox">void gl.uniform1ui(location, v0);
+void gl.uniform2ui(location, v0, v1);
+void gl.uniform3ui(location, v0, v1, v2);
+void gl.uniform4ui(location, v0, v1, v2, v3);
+void gl.uniform1fv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform2fv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform3fv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform4fv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform1iv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform2iv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform3iv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform4iv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform1uiv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform2uiv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform3uiv(location, data, optional srcOffset, optional srcLength);
+void gl.uniform4uiv(location, data, optional srcOffset, optional srcLength);
+</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt>location</dt>
+ <dd>一个 {{domxref("WebGLUniformLocation")}} 对象包含了本地uniform属性的修改。</dd>
+ <dt><code>value, v0, v1, v2, v3</code></dt>
+ <dd>一个新的值被应用到uniform变量当中。合理情况:
+ <ul>
+ <li>{{jsxref("Number")}} 如果是无符号整数值 (则用 <code>ui</code>方法),如果是整数值 (则用 <code>i</code>方法), 如果是浮点数(则用<code>f</code>方法).</li>
+ <li> {{jsxref("Uint32Array")}} 用于无符号整数向量(矢量)方法 (则用<code>uiv</code>方法).</li>
+ </ul>
+ </dd>
+</dl>
+
+<h3 id="返回值">返回值</h3>
+
+<p>没有返回值</p>
+
+<h2 id="概述">概述</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">详述</th>
+ <th scope="col">状态</th>
+ <th scope="col">用法(Comment)</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('WebGL2', "#3.7.8", "uniform")}}</td>
+ <td>{{Spec2('WebGL2')}}</td>
+ <td>WebGL的初始定义.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('OpenGL ES 3.0', "glUniform.xhtml", "glUniform")}}</td>
+ <td>{{Spec2('OpenGL ES 3.0')}}</td>
+ <td>OpenGL API的手册页(类似).</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<p class="hidden">此页面的兼容性表格是通过结构化数据( structured data)生成.如果您想对数据做出贡献, 请点击<a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>并且通过邮箱给我们回复</p>
+
+<p>{{Compat("api.WebGL2RenderingContext.uniform1ui")}}</p>
+
+<h2 id="详见">详见</h2>
+
+<ul>
+ <li>{{domxref("WebGLRenderingContext.uniform()")}}</li>
+</ul>
diff --git a/files/zh-cn/web/api/webgl2renderingcontext/uniformmatrix/index.html b/files/zh-cn/web/api/webgl2renderingcontext/uniformmatrix/index.html
new file mode 100644
index 0000000000..c541e1200d
--- /dev/null
+++ b/files/zh-cn/web/api/webgl2renderingcontext/uniformmatrix/index.html
@@ -0,0 +1,79 @@
+---
+title: 'WebGL2RenderingContext.uniformMatrix[234]x[234]fv()'
+slug: Web/API/WebGL2RenderingContext/uniformMatrix
+translation_of: Web/API/WebGL2RenderingContext/uniformMatrix
+---
+<div>{{APIRef("WebGL")}} {{SeeCompatTable}}</div>
+
+<div><a href="/en-US/docs/Web/API/WebGL_API">WebGL 2 API </a>的<strong><code>WebGL2RenderingContext.uniformMatrix[234]x[234]fv()</code></strong>  方法向uniform变量中传入指定的矩阵值。</div>
+
+<div class="note">
+<p>这个方法不用 <code>2x2</code>, <code>3x3</code>, 和 <code>4x4</code> 版本 . 他们通常用<code>2</code>, <code>3</code>, 和<code>4</code>, 分别表示,详见下方语法。</p>
+</div>
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox">void gl.uniformMatrix2fv(location, transpose, data, optional srcOffset, optional srcLength);
+void gl.uniformMatrix3x2fv(location, transpose, data, optional srcOffset, optional srcLength);
+void gl.uniformMatrix4x2fv(location, transpose, data, optional srcOffset, optional srcLength);
+void gl.uniformMatrix2x3fv(location, transpose, data, optional srcOffset, optional srcLength);
+void gl.uniformMatrix3fv(location, transpose, data, optional srcOffset, optional srcLength);
+void gl.uniformMatrix4x3fv(location, transpose, data, optional srcOffset, optional srcLength);
+void gl.uniformMatrix2x4fv(location, transpose, data, optional srcOffset, optional srcLength);
+void gl.uniformMatrix3x4fv(location, transpose, data, optional srcOffset, optional srcLength);
+void gl.uniformMatrix4fv(location, transpose, data, optional srcOffset, optional srcLength);
+</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt>location</dt>
+ <dd>一个包含想要修改的uniform变量的{{domxref("WebGLUniformLocation")}} 对象</dd>
+ <dt>transpose</dt>
+ <dd>一个决定是否转置矩阵的布尔值( {{domxref("GLboolean")}}。 在webgl中必须为<code>false</code>。</dd>
+ <dt>data</dt>
+ <dd>一个包含方阵中浮点数的类数组对象(TypeArray) {{jsxref("Float32Array")}}。</dd>
+</dl>
+
+<h3 id="返回值">返回值</h3>
+
+<p>没有。</p>
+
+<h2 id="例子">例子</h2>
+
+<pre class="brush: js"><strong>gl.uniformMatrix2x3fv(loc, false, [1, 2, 3, 4, 5, 6]);</strong>
+</pre>
+
+<h2 id="说明">说明</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification(规格)</th>
+ <th scope="col">Status(状态)</th>
+ <th scope="col">Comment(评论)</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('WebGL2', "#3.7.8", "uniformMatrix")}}</td>
+ <td>{{Spec2('WebGL2')}}</td>
+ <td>Initial definition for WebGL.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('OpenGL ES 3.0', "glUniform.xhtml", "glUniformMatrix")}}</td>
+ <td>{{Spec2('OpenGL ES 3.0')}}</td>
+ <td>Man page of the (similar) OpenGL API.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<p class="hidden"><span class="transSent">此页中的兼容性表由结构化数据生成。</span><span class="transSent">如果你想对数据有所贡献</span> , 请点击 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 并且给我们一个回复</p>
+
+<p>{{Compat("api.WebGL2RenderingContext.uniformMatrix2fv")}}</p>
+
+<h2 id="令见">令见</h2>
+
+<ul>
+ <li>{{domxref("WebGLRenderingContext.uniformMatrix()")}}</li>
+</ul>