threejs学习笔记(3)

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加载器,先把图片加载完成。

原文地址:https://www.cnblogs.com/cly84920/p/4426439.html