返回介绍

手册

参考

示例

开发者参考

效果合成器(EffectComposer)

发布于 2021-07-10 14:14:19 字数 5358 浏览 1280 评论 0 收藏 0

用于在three.js中实现后期处理效果。该类管理了产生最终视觉效果的后期处理过程链。 后期处理过程根据它们添加/插入的顺序来执行,最后一个过程会被自动渲染到屏幕上。

例子

postprocessing
postprocessing advanced
postprocessing backgrounds
postprocessing crossfade
postprocessing depth-of-field
postprocessing depth-of-field 2
postprocessing fxaa
postprocessing glitch
postprocessing godrays
postprocessing masking
postprocessing node material
postprocessing outline
postprocessing pixelate
postprocessing procedural
postprocessing rgb halftone
postprocessing sao
postprocessing smaa
postprocessing sobel
postprocessing ssaa
postprocessing ssao
postprocessing taa
postprocessing unreal bloom
postprocessing unreal bloom selective

构造函数

EffectComposer( renderer : WebGLRenderer, renderTarget : WebGLRenderTarget )

renderer -- 用于渲染场景的渲染器。
renderTarget -- (可选)一个预先配置的渲染目标,内部由 EffectComposer 使用。

属性

.passes : Array

一个用于表示后期处理过程链(包含顺序)的数组。

.readBuffer : WebGLRendererTarget

内部读缓冲区的引用。过程一般从该缓冲区读取先前的渲染结果。

.renderer : WebGLRenderer

内部渲染器的引用。

.renderToScreen : Boolean

最终过程是否被渲染到屏幕(默认帧缓冲区)。

.writeBuffer : WebGLRendererTarget

内部写缓冲区的引用。过程常将它们的渲染结果写入该缓冲区。

方法

.addPass ( pass : Pass ) : void

pass -- 将被添加到过程链的过程

将传入的过程添加到过程链。

.insertPass ( pass : Pass, index : Integer ) : void

pass -- 将被插入到过程链的过程。
index -- 定义过程链中过程应插入的位置。

将传入的过程插入到过程链中所给定的索引处。

.isLastEnabledPass ( passIndex : Integer ) : Boolean

passIndex -- 被用于检查的过程

如果给定索引的过程在过程链中是最后一个启用的过程,则返回true。 由EffectComposer所使用,来决定哪一个过程应当被渲染到屏幕上。

.removePass ( pass : Pass ) : void

pass -- The pass to remove from the pass chain.

Removes the given pass from the pass chain.

.render ( deltaTime : Float ) : void

deltaTime -- The delta time value.

执行所有启用的后期处理过程,来产生最终的帧,

.reset ( renderTarget : WebGLRenderTarget ) : void

renderTarget -- (可选)一个预先配置的渲染目标,内部由 EffectComposer 使用。

重置所有EffectComposer的内部状态。

.setPixelRatio ( pixelRatio : Float ) : void

pixelRatio -- 设备像素比

设置设备的像素比。该值通常被用于HiDPI设备,以阻止模糊的输出。 因此,该方法语义类似于WebGLRenderer.setPixelRatio()。

.setSize ( width : Integer, height : Integer ) : void

width -- EffectComposer的宽度。
height -- EffectComposer的高度。

考虑设备像素比,重新设置内部渲染缓冲和过程的大小为(width, height)。 因此,该方法语义类似于WebGLRenderer.setSize()。

.swapBuffers () : void

交换内部的读/写缓冲。

源代码

examples/jsm/postprocessing/EffectComposer.js

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文