在线教程

  • three.js添加场景背景和天空盒(skybox)

    本文我们介绍在three.js中如何给3D场景添加背景,我们有3种方式来实现这个目的。通过html添加背景元素,这实际上一个2D背景;在three.js加载图片并设置为scene.background,这种方法的好处是可以被后处理(post-processing)效果所影响;在three.js中绘制天空盒作为背景。第一种是直接在canvas的c...

    阅读全文 收藏 评论 (0) 阅读 (12214) 2019-11-11 18:25:03  
  • 如何实现three.js响应式设计(消除拉伸变形和锯齿)

    我们先创建一个基本的three.js场景,里面有一个cube对象。分三步,首先声明一个canvas的html元素并设置其样式:&canvas>id="c">>>width:>100%; >>>>height:>100%; >>>>display:>block; }第二步,使用three.js创建场景、光照、相机和立方体模型(cube):
    import>*>as>THREE>from>'//techbrood.com/thr...

    阅读全文 收藏 评论 (2) 阅读 (6712) 2019-11-09 15:26:43  
  • A-Frame WebVR(网页虚拟现实)快速开发入门教程

    WebVR和WebGL应用程序接口使得我们已经可以在浏览器上创建虚拟现实(VR)体验,但从工程化的角度而言,开发社区还需要更多方便强大的开发库来简化编程,Mozilla的>A-Frame>框架就是这样一个工具,提供了一个Web开发者所熟悉的标记语言来快速构...

    阅读全文 收藏 评论 (0) 阅读 (17966) 2017-04-06 21:26:31  
  • 计算WebGL中的uniforms变量使用数

    在使用Three.js为人体模型加载皮肤材料时,启用了skinning:true的参数。有时候会导致GL编译错误,提示“too many uniforms”。下面的文章有助于理解错误原因和检测uniforms的使用情况。For a recent consulting project I was attempting to render some fairly complex skeletal animations in WebGL on Firefox and Chrom...

    阅读全文 收藏 评论 (3) 阅读 (9420) 2016-09-02 23:36:38  
  • 深入理解Three.js(WebGL)贴图(纹理映射)和UV映射

    本文将详细描述如何使用Three.js给3D对象添加贴图(Texture Map,也译作纹理映射,“贴图”的翻译要更直观,而“纹理映射”更准确。)。为了能够查看在线演示效果,你需要有一个兼容WebGL的现代浏览器(最好是Chrome/FireFox/Safari/Edge/IE11+)。本文的在线演示结果和代码请点击这里:

    阅读全文 收藏 评论 (1) 阅读 (68865) 2016-08-12 09:14:18  
  • 深度贴图(depth map)概念简介和生成流程

    Depth map 深度图是一张2D图片,每个像素都记录了从视点(viewpoint)到遮挡物表面(遮挡物就是阴影生成物体)的距离,这些像素对应的顶点对于观察者而言是“可见的”。Depth map中像素点记录的深度值为lenth1;然后从视点出现,计算物体顶点v到视点的距离,记为lenth2;比较二者大小,来确定“v”是否被遮挡。该术语的同义...

    阅读全文 收藏 评论 (1) 阅读 (27980) 2016-07-25 08:58:42  
  • WebGL入门教程6 - 光照效果和Phong光照模型

    正是因为有了光,世界才能被我们看见,在3D的世界里,光照给物体带来真实的视觉感受。当光照射在某一表面上时,它可能被吸收、反射或投射。其中入射到表面上的一部分光能被吸收并转化为热,其余部分被反射或投射。正是反射和透射使得物体可见。如果入射光全部被吸收,物体将不可见,该物体称为黑体。光能中被吸收、反射或透...

    阅读全文 收藏 评论 (0) 阅读 (18832) 2016-06-11 12:10:49  
  • WebGL入门教程5 - 详解纹理滤镜(Texture Filter)

    WebGL中使用纹理贴图来实现细腻的物体表面观感,其中一个重要的参数是纹理滤镜(Texture Filter)。
    这个参数用来处理当对象出现缩放时,纹理如何处理中间点或被压缩的点。我们知道纹理在使用中一个经典问题是会出现走样,滤波器就是用来实现纹理反走样的技术。gl.bindTexture(gl.TEXTURE_2D,>textures[0]); gl.texIma...

    阅读全文 收藏 评论 (0) 阅读 (28418) 2016-06-10 10:25:38