随笔分类 -  WebGL

摘要:three.js常用材质:基本材质、兰伯特材质、冯氏材质、标准材质。 我们可以自己使用着色器实现这些材质,用于批量渲染等用途。 为了简单,假设物体只有一张漫反射贴图,场景中只存在一个环境光和一个平行光。 一、基本材质(MeshBasicMaterial) 基本材质不对光源产生反应。 顶点着色器 va 阅读全文
posted @ 2019-12-13 22:22 超腾开源 阅读(3541) 评论(1) 推荐(1)
摘要:使用three.js创建大小不随着场景变化的文字,需要以下两步: 1、将文字绘制到画布上。 2、创建着色器材质,把文字放到三维场景中。 优点: 1、跟用html实现文字相比,这些文字可以被模型遮挡,更具有三维效果。 2、不会随着场景旋转缩放改变尺寸,不存在远处看不清的情况,适用于三维标注。 效果图: 阅读全文
posted @ 2019-12-03 22:03 超腾开源 阅读(5535) 评论(1) 推荐(3)
摘要:光线投射法 使用three.js自带的光线投射器(Raycaster)选取物体非常简单,代码如下所示: var raycaster = new THREE.Raycaster(); var mouse = new THREE.Vector2(); function onMouseMove(event 阅读全文
posted @ 2019-11-25 06:28 超腾开源 阅读(3504) 评论(3) 推荐(0)
摘要:法线延展法 网上使用法线延展法实现物体描边效果的文章比较多,这里不再描述。 但是这种方法有个缺点:当两个面的法线夹角差别较大时,两个面的描边无法完美连接。如下图所示: 卷积法 这里使用另一种方法卷积法实现物体描边效果,一般机器学习使用该方法比较多。先看效果图: 使用three.js具体的实现方法如下 阅读全文
posted @ 2019-11-24 20:07 超腾开源 阅读(6858) 评论(3) 推荐(2)