具有不同纹理面的ThreeJS立方体由带有画布渲染器的点光点亮?

时间:2012-10-24 16:40:02

标签: canvas textures three.js cube light

我正在尝试绘制一个立方体,它使用6个不同的纹理图像,每个面部一个。我想用点光源照亮立方体。

我正在使用画布渲染器,因为这是iOS上可用的平台。

我明白兰伯特是要走的路。我使用MeshLambertMaterial构建了我的材质数组。

我设法使用不同的面来渲染立方体,但没有照明工作,see this link

我在这里使用:

cube = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial());

(你需要使用Firefox来查看它,它在Mac上的Safari中看起来很可怕(但这是一个不同的问题),但它在iPhone模拟器中很好。)

我还有一个版本在照明工作的地方工作,但面部都有相同的颜色,纹理图像似乎丢失,see this link

我在这里使用

cube = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial());

不幸的是,我无法让纹理面和灯光一起工作。

代码只有一行不同。

我一定是做错了什么,但我无法弄清楚它是什么,我所有的谷歌搜索都无济于事。如果有人能指出我正确的方向,我将不胜感激。

BTW感谢这位出色的软件的作者。

1 个答案:

答案 0 :(得分:0)