forked from mrdoob/three.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEffectComposer.html
157 lines (116 loc) · 5.24 KB
/
EffectComposer.html
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
<h1>效果合成器([name])</h1>
<p class="desc">
用于在three.js中实现后期处理效果。该类管理了产生最终视觉效果的后期处理过程链。
后期处理过程根据它们添加/插入的顺序来执行,最后一个过程会被自动渲染到屏幕上。
</p>
<h2>例子</h2>
<p>
[example:webgl_postprocessing postprocessing]<br />
[example:webgl_postprocessing_advanced postprocessing advanced]<br />
[example:webgl_postprocessing_backgrounds postprocessing backgrounds]<br />
[example:webgl_postprocessing_crossfade postprocessing crossfade]<br />
[example:webgl_postprocessing_dof postprocessing depth-of-field]<br />
[example:webgl_postprocessing_dof2 postprocessing depth-of-field 2]<br />
[example:webgl_postprocessing_fxaa postprocessing fxaa]<br />
[example:webgl_postprocessing_glitch postprocessing glitch]<br />
[example:webgl_postprocessing_godrays postprocessing godrays]<br />
[example:webgl_postprocessing_masking postprocessing masking]<br />
[example:webgl_postprocessing_nodes postprocessing node material]<br />
[example:webgl_postprocessing_outline postprocessing outline]<br />
[example:webgl_postprocessing_pixel postprocessing pixelate]<br />
[example:webgl_postprocessing_procedural postprocessing procedural]<br />
[example:webgl_postprocessing_rgb_halftone postprocessing rgb halftone]<br />
[example:webgl_postprocessing_sao postprocessing sao]<br />
[example:webgl_postprocessing_smaa postprocessing smaa]<br />
[example:webgl_postprocessing_sobel postprocessing sobel]<br />
[example:webgl_postprocessing_ssaa postprocessing ssaa]<br />
[example:webgl_postprocessing_ssao postprocessing ssao]<br />
[example:webgl_postprocessing_taa postprocessing taa]<br />
[example:webgl_postprocessing_unreal_bloom postprocessing unreal bloom]<br />
[example:webgl_postprocessing_unreal_bloom_selective postprocessing unreal bloom selective]<br />
</p>
<h2>构造函数</h2>
<h3>[name]( [param:WebGLRenderer renderer], [param:WebGLRenderTarget renderTarget] )</h3>
<p>
[page:WebGLRenderer renderer] -- 用于渲染场景的渲染器。<br />
[page:WebGLRenderTarget renderTarget] -- (可选)一个预先配置的渲染目标,内部由 [name] 使用。
</p>
<h2>属性</h2>
<h3>[property:Array passes]</h3>
<p>
一个用于表示后期处理过程链(包含顺序)的数组。
</p>
<h3>[property:WebGLRendererTarget readBuffer]</h3>
<p>
内部读缓冲区的引用。过程一般从该缓冲区读取先前的渲染结果。
</p>
<h3>[property:WebGLRenderer renderer]</h3>
<p>
内部渲染器的引用。
</p>
<h3>[property:Boolean renderToScreen]</h3>
<p>
最终过程是否被渲染到屏幕(默认帧缓冲区)。
</p>
<h3>[property:WebGLRendererTarget writeBuffer]</h3>
<p>
内部写缓冲区的引用。过程常将它们的渲染结果写入该缓冲区。
</p>
<h2>方法</h2>
<h3>[method:void addPass]( [param:Pass pass] )</h3>
<p>
pass -- 将被添加到过程链的过程<br /><br />
将传入的过程添加到过程链。
</p>
<h3>[method:void insertPass]( [param:Pass pass], [param:Integer index] )</h3>
<p>
pass -- 将被插入到过程链的过程。<br />
index -- 定义过程链中过程应插入的位置。<br /><br />
将传入的过程插入到过程链中所给定的索引处。
</p>
<h3>[method:boolean isLastEnabledPass]( [param:Integer passIndex] )</h3>
<p>
passIndex -- 被用于检查的过程<br /><br />
如果给定索引的过程在过程链中是最后一个启用的过程,则返回true。
由[name]所使用,来决定哪一个过程应当被渲染到屏幕上。
</p>
<h3>[method:void render]( [param:Float deltaTime] )</h3>
<p>
deltaTime -- The delta time value.<br /><br />
执行所有启用的后期处理过程,来产生最终的帧,
</p>
<h3>[method:void reset]( [param:WebGLRenderTarget renderTarget] )</h3>
<p>
[page:WebGLRenderTarget renderTarget] -- (可选)一个预先配置的渲染目标,内部由 [name] 使用。<br /><br />
重置所有[name]的内部状态。
</p>
<h3>[method:void setPixelRatio]( [param:Float pixelRatio] )</h3>
<p>
pixelRatio -- 设备像素比<br /><br />
设置设备的像素比。该值通常被用于HiDPI设备,以阻止模糊的输出。
因此,该方法语义类似于[page:WebGLRenderer.setPixelRatio]()。
</p>
<h3>[method:void setSize]( [param:Integer width], [param:Integer height] )</h3>
<p>
width -- [name]的宽度。<br />
height -- [name]的高度。<br /><br />
考虑设备像素比,重新设置内部渲染缓冲和过程的大小为(width, height)。
因此,该方法语义类似于[page:WebGLRenderer.setSize]()。
</p>
<h3>[method:void swapBuffers]()</h3>
<p>交换内部的读/写缓冲。</p>
<h2>源代码</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/postprocessing/EffectComposer.js examples/jsm/postprocessing/EffectComposer.js]
</p>
</body>
</html>