你能在three.js中反映几何(而不是纹理)吗?

时间:2015-07-31 11:37:15

标签: reflection three.js geometry

我发现很多三个反射图像的例子,但是可以反射线条,三角形和形状?我想创建一个反映线条的镜子金字塔。

例如:http://www.gus.graphics/buffer.html>此页面有很多行。

我想将它们反映到位于中间的3d形状上。

例如:http://www.gus.graphics/ball1.html>这个页面有一个镜球。

这些是我正在研究的那种代码行。不确定它是否可能。

var textureCube = THREE.ImageUtils.loadTextureCube( urls );
var material = new THREE.MeshBasicMaterial( { color: 0xffffff, envMap: textureCube } ) 
shader.uniforms[ "tCube" ].value = textureCube;

目前上面的代码正在拍摄一堆图像“url”,但正如您现在可能知道的那样,我想在我提供的第一个链接中反映几何图形。

1 个答案:

答案 0 :(得分:0)

您可以查看THREE.CubeCamera。它创建了6个渲染到WebGLRenderTargetCube的摄像头,然后将其用作envMap。一个例子是:

//Create cube camera
var cubeCamera = new THREE.CubeCamera( 1, 100000, 128 );
scene.add( cubeCamera );

//Create material and mesh
var chromeMaterial = new THREE.MeshLambertMaterial( { color: 0xffffff, envMap: cubeCamera.renderTarget } );
var car = new Mesh( carGeometry, chromeMaterial );
scene.add( car );

//Update the render target cube
car.setVisible( false );
cubeCamera.position.copy( car.position );
cubeCamera.updateCubeMap( renderer, scene );

//Render the scene
car.setVisible( true );
renderer.render( scene, camera );

请参阅:http://threejs.org/docs/#Reference/Cameras/CubeCamera

此处还有一些示例用法: