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

Can you reflect geometry (not textures) in three.js?

我找到了很多three.js反射图像的例子,但是完全可以反射直线、三角形和形状吗?我想创建一个反射线条的镜像金字塔。

例如: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;

目前上面的代码正在接收一堆图像 "urls",但你现在可能知道我想在我提供的第一个 link 中反映几何形状。

你可以看看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

这里也有用法示例: