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
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="list.js"></script>
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
[page:Object3D] →
<h1>立方相机([name])</h1>
<p class="desc">创建6个摄像机,并将它们所拍摄的场景渲染到[page:WebGLRenderTargetCube]上。</p>
<h2>示例</h2>
<p>[example:webgl_materials_cubemap_dynamic materials / cubemap / dynamic ]</p>
<p>[example:webgl_materials_cubemap_dynamic2 materials / cubemap / dynamic2 ]</p>
<p>[example:webgl_shading_physical shading / physical ]</p>
<code>// Create cube camera
var cubeCamera = new THREE.CubeCamera( 1, 100000, 128 );
scene.add( cubeCamera );
// Create car
var chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeCamera.renderTarget.texture } );
var car = new Mesh( carGeometry, chromeMaterial );
scene.add( car );
// Update the render target cube
car.setVisible( false );
cubeCamera.position.copy( car.position );
cubeCamera.update( renderer, scene );
// Render the scene
car.setVisible( true );
renderer.render( scene, camera );
</code>
<h2>构造器</h2>
<h3>[name]( [param:Number near], [param:Number far], [param:Number cubeResolution] )</h3>
<p>
near -- 近剪切面的距离<br />
far -- 远剪切面的距离<br />
cubeResolution -- 设置立方体边缘的长度
</p>
<p>
构造一个包含6个[page:PerspectiveCamera PerspectiveCameras](透视摄像机)的立方摄像机,并将其拍摄的场景渲染到一个[page:WebGLRenderTargetCube]上。
</p>
<h2>属性</h2>
<p>共有属性请参见其基类[page:Object3D]。</p>
<h3>[property:WebGLRenderTargetCube renderTarget]</h3>
<p>
生成的立方体纹理<br>
(译注:生成的立方体纹理保存在其中的.texture对象中,可作为贴图赋值给其他材质)
</p>
<h2>方法</h2>
<p>共有方法请参见其基类[page:Object3D]。</p>
<h3>[method:null update]( [param:WebGLRenderer renderer], [param:Scene scene] )</h3>
<p>
renderer -- 当前的WebGL渲染器<br />
scene -- 当前的场景
</p>
<p>
这个方法用来更新[page:CubeCamera.renderTarget renderTarget](渲染目标对象)。
</p>
<h3>[method:null clear]( [param:WebGLRenderer renderer], [param:Boolean color], [param:Boolean depth], [param:Boolean stencil] )</h3>
<p>
这个方法用来来清除[page:CubeCamera.renderTarget renderTarget]的颜色、深度和/或模板缓冲区。
颜色缓冲区设置为渲染器当前的“清除”色。参数默认值均为*true*。
</p>
<h2>源代码</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
|