aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/api/webgl2renderingcontext/drawbuffers/index.html
blob: 9a8f3f6797c398bf6e9ab8c24d850dfb26b1772e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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>