diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/api/webgl2renderingcontext | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/zh-cn/web/api/webgl2renderingcontext')
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>要获取该接口的实例对象需要调用一个 <canvas> 标签对象的 {{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> |