你能在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;

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

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

这里也有一些用法的例子:

  • http://threejs.org/examples/webgl_materials_cubemap_dynamic
  • http://threejs.org/examples/webgl_materials_cubemap_dynamic2

相关内容

  • 没有找到相关文章

最新更新