demo地址:http://www.adanghome.com/js_demo/33/
点击canvas区域,可以停止方块的转动,再次点击开启转动。
这次的练习主题是贴纹理,不再是简单的放个颜色了。
1)纹理的实现是通过material实现的,具体代码如下:
var mapUrl = "a.png",
map = THREE.ImageUtils.loadTexture(mapUrl),
material = new THREE.MeshPhongMaterial({map:map}),
geometry = new THREE.CubeGeometry(1,1,1),
cube = new THREE.Mesh(geometry,material);
2)render接收一个参数antialias,实现抗锯齿。具体代码如下:
renderer = new THREE.WebGLRenderer({antialias:true});
我开启了抗锯齿,但实际上效果并不明显,我猜也许和我的显卡太差有关系吧。
3) THREE.ImageUtils.loadTexture是用来实现加载图片的,在图片加载完成以前,纹理不会显示出来,显示成黑色,我猜估计隐式地做了个image.onload的监听。在实际案例时,我想最好先做个loader加载器,先把图片加载完成。