• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
小知喵
博客园    首页    新随笔    联系   管理    订阅  订阅

【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 ),不赋值就是默认情况。

 

posted @ 2018-04-16 18:17  小知喵  阅读(257)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3