RenderTarget 介绍
在渲染的时候调用 renderer.render(scene, camera, renderTarget, forceClear)
方法,render
方法有四个参数,我们平时使用只传前两个参数,第一个参数是要绘制的场景,第二个参数是指定相机,相机照射的区域会转换成 2D 绘制到屏幕,而我们今天要讲的就是使用第三个参数,不让渲染的内容直接绘制到屏幕,而是存放到 renderTarget
里。RenderTarget 是一个缓冲区,用来记录渲染后的像素,而不是直接绘制到屏幕上,因此我们可以在绘制屏幕之前做一些处理,以满足特殊的需求。
把 RenderTarget 作为贴图使用
首先创建两个场景:一个 RTScene
场景,用来渲染 RenderTarget 贴图、另一个 Scene
场景,用来渲染最终显示到屏幕上的,并调用 RTScene
场景作为贴图。
创建一个尺寸为 300×300 大小的 RenderTarget 存放 RTScene 的渲染结果
1 2
| const RT_SIZE = 300; const RenderTarget = new THREE.WebGLRenderTarget( RT_SIZE, RT_SIZE);
|
阅读更多