数字孪生开发之 Three.js 插件资源库(8)

欢迎关注公众号:【sky的数孪技术】

本期为大家分享Three.js开发中的相关资源代码,希望能对正在探索或从事这一领域的朋友们有所帮助。对于之前分享的插件,可以关注公众号,后台回复相关信息(如“threejs加载3dtiles的插件”)即可获取相应信息。

本期整理出关于轮廓渲染的插件库。

webgl-outlines

在 ThreeJS 和 PlayCanvas 中实现后期处理轮廓着色器。通过后处理着色器,结合深度缓冲区和表面法线缓冲区,可以渲染出轮廓效果。

GitHub源码地址:https://github.com/OmarShehata/webgl-outlines

在线示例地址:https://threejs-outlines-postprocess.glitch.me

基础使用方式:

// 初始化RenderPass.
const composer = new EffectComposer(renderer, renderTarget);
const pass = new RenderPass(scene, camera);
composer.addPass(pass);

// 外轮廓pass.
const customOutline = new CustomOutlinePass(
  new THREE.Vector2(window.innerWidth, window.innerHeight),
  scene,
  camera
);
composer.addPass(customOutline);

three-line-outline

这是一个用于three.js的几何轮廓实现,但是它是运行在顶点着色器中,而不是像素着色器。当一个相邻面背向相机而另一个面朝向时,它会显示或隐藏几何线条。这在渲染机械零件的CAD查看器时非常有用。

GitHub源码地址:https://github.com/pailhead/three-line-outline

在线示例地址:https://dusanbosnjak.com/test/outline/

基础使用方式:

const myMesh = new Mesh(new CylinderGeometry)
const myOutline = new OutlineMesh(myMesh)

outline-effect

使用 threejs 的后处理库制作的轮廓效果,它使用 sobel 边缘检测来验证场景的深度和法线纹理中的边缘。

GitHub源码地址:https://github.com/roombawulf/outline-effect

在线示例地址:https://outline-effect.vercel.app/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搞GIS图形的sky.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值