【WebGL入门4】纹理与canvas

关于webgl的纹理映射和opengl类似,通过将object的坐标和纹理坐标一一对应实现。其中核心代码:

var geometry = new THREE.CubeGeometry(150, 150, 150);            //创建一个物体
texture = new THREE.Texture( canvas);                                           //将物体画到canvas上面,再load到texture上
var material = new THREE.MeshBasicMaterial({map:texture});       //将对应好的坐标一一map过去
texture.needsUpdate = true;                                                             //实时渲染必须要加上这一句,需要随时update。
mesh = new THREE.Mesh( geometry,material );                             //添加mesh
scene.add( mesh );                                

流水线:在canvas上面画图,将canvas传递给THREE.Texture纹理,将纹理传递给THREE.MeshBasicMaterial材质,最后构造THREE.Mesh。

注意:默认情况下,纹理被均匀分配到四边形的各个顶点上。所以完整的:THREE.Texture = function ( image, mapping, wrapS, wrapT, magFilter, minFilter, format, type, anisotropy ),不赋值就是默认情况。

 

转载于:https://www.cnblogs.com/yanky/p/8857553.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值