- 博客(54)
- 收藏
- 关注
原创 DeckGL MVTLayer+Mapbox注入shader实现简单效果
使用Mapbox+DeckGL MVTLayer加载带高度的矢量建筑物轮廓数据矢量切片,并扩展MVTLayer编写shader自定义简单效果
2023-10-05 14:42:01
595
原创 three.js后处理
最后一次通道不会绘制在一个渲染目标上,因为我们可以直接将其放在画布上,这样用户就可以看到最后的结果了。创建自定义通道类似于创建自定义着色器。
2023-08-12 11:13:47
1227
原创 常见三维数据模型梳理
3D Tiles 是 Cesium 于2016 年3月定义的一种三维模型瓦片数据结构。3DTiles 将海量三维数据以分块、分层的形式组织起来,这样就大大减轻了浏览器和图形处理单元(GPU)的负担。开放且灵活:作为一种开放式数据规范,3D Tiles 的切片方案灵活可变,三维模型的切片大小和覆盖范围可以人为设置。此外,3D Tiles 还能够适配三维空间中多种空间分区方案,包括KD树、四叉树、八叉树、普通网格,以及其他空间数据结构等。
2023-08-10 08:56:12
8940
原创 three.js修改内置材质着色器代码
通常我们是通过修改扩展three.js内置的材质来实现一些复杂的效果的,而不是使用shaderMaterial材质从零开始实现。比如说很满意(一种常规材质)的效果,但是我们希望在这个材质上添加一些顶点动画。如果我们打算从头开始写一个全新的,处理灯光、环境图、物理渲染、各种纹理等等就会耗费我们大量的时间。很明显第二种方式一般情况下并不太适合,因为需要花费的时间比较多。
2023-08-10 08:55:55
569
原创 three.js使用着色器绘制图案
除了通过加载纹理来给材质添加一些图案,我们还可以通过shader添加,这种方式添加更灵活,性能也更好些此篇的作用主要是提供一些设色器图案素材。
2023-08-09 11:28:34
864
原创 three.js着色器材质
当Three.js内置的材质不能满足需求时,就需要通过编写着色器来实现了也可能是出于性能原因。像MeshStandardMaterial这样的材料非常复杂,涉及大量的代码和计算。如果我们编写自己的着色器,我们可以将功能和计算保持在最低限度。我们可以更好地控制性能。编写指定要着色器也是向渲染结果添加后处理效果的绝佳方式。
2023-08-09 11:25:46
1271
原创 three.js项目的代码组织结构
通常对于稍微大些的项目或者demo,都需要对three.js的代码结构进行拆分,有利于复用、代码可读性、扩展性
2023-08-09 11:21:04
351
原创 three.js提升渲染效果
通常我们都希望渲染出更逼真的效果,有许多技术来改善模型在 Three.js 中渲染后的外观。但请注意,其中一些技术可能会影响性能,而某些技术则取决于您的模型。你必须根据情况进行调整。本文部分内容为Three.js Journey课程的学习笔记这里将采用使用了纹理、法线贴图等的逼真的模型。我们将使用 GLTF 示例模型存储库()中的飞行头盔(
2023-08-09 11:18:14
775
原创 three.js中加载模型与模型动画
本文部分内容为Three.js Journey课程的学习笔记。有些格式专用于一种软件。有些已知非常轻,但有时缺乏具体数据。众所周知,有些几乎包含您可能需要的所有数据,但它们很重。有些格式是开源的,有些格式不是,有些是二进制的,有些是 ASCII 的,等等。如果需要精确的数据并且无法找到软件支持的适当格式,您甚至可以轻松创建自己的格式。
2023-08-09 11:06:25
2450
原创 three.js光线投射
顾名思义,光线投射器(也算叫光线追踪吧)可以向特定方向投射(或发射)光线并测试哪些物体与其相交光线投射用于进行鼠标拾取(在三维空间中计算出鼠标移过了什么物体)。你可以使用该技术来检测玩家前面是否有一堵墙,测试激光枪是否击中了某物,测试当前是否有某物位于鼠标下方以模拟鼠标事件,以及许多其他事情。此文章为threejs-journey课程学习笔记。
2023-08-09 10:57:05
760
原创 Phong反射模型及glsl实现
Phong着色模型是早期的光照模型,由Bui Tuong Phong在1975年提出。它基于反射模型,将表面光照分为三个组成部分,并针对每个部分分别计算其对表面颜色的影响。Phong着色模型的计算相对简单,但是可能会产生明显的镜面高光过于突出的问题。
2023-08-09 10:39:21
389
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人