threejs WebGL渲染器WebGLRenderer

阅读数:4 评论数:0

跳转到新版页面

分类

html/css/js

正文

一、构造器

WegGLRenderer(parameters:Object)

也可以完全不传参数,以下是合法参数。

1、canvas

一个供渲染器绘制其输出的canvas,它和下面的domElement属性对应。如果没有传这个参数,会创建一个新的canvas。

2、context

可用于将渲染器附加到已有的渲染环境(RenderingContext)中。

3、precision

着色器精度,可以是highp、mediump或者lowp。

4、alpha

canvas是否包含alpha(透明度),默认是false。

5、antialias

是否执行抗锯齿,默认为false。

6、powerPreference

可能是high-performance、low-power或者default,默认是default。

7、logarithmicDepthBuffer

是否使用对数深度缓存,如果要在单个场景中处理巨大的比例差异,就有必要使用,默认是false。

二、属性

1、autoClear:Boolean

定义渲染器是否在渲染每一帧之前自动清除其输出。

2、autoClearColor: Boolean

渲染器是否自动清除颜色缓存,默认是true。

3、autoClearDepth:Boolean

是否自动清除深度缓存,默认是true。

4、autoClearStencil:Boolean

是否自动清楚模板缓存,默认是true。

5、debug.checkShaderErrors: Boolean

定义是否检查材质着色器程序编译和链接过程的错误,禁用此检查可以获得性能增益,在建议在开发期间保持启用这些检查。默认是true。

6、domElement:DomElement

一个canvas,渲染器在其上绘制输出,渲染器的构造函数会自动创建,你需要做的仅仅是像下面这样将它加入页面里去。

document.body.appendChild( renderer.domElement );

7、physicalCorrectLights:Boolean

是否使用物理上正确的光照模式,默认是false。

三、方法

1、clear(color:Boolean,depth:Boolean,stencil:Boolean)

参数默认都是true,告诉渲染器清除颜色、深度或模板缓存。

2、render(scene:Scene, camera: Camera, renderTarget: WebGLRenderTarget, forceClear: Boolean): null

用camera渲染一个scene,渲染一般是在canvas上完成的,或者是renderTarget(如果有指定)。forceClear值是true,那么颜色、尝试及模板缓存将在渲染之前消除。