- 博客(239)
- 资源 (1)
- 收藏
- 关注
原创 three.js 性能对比 babylon.js
babylon.js pbr 材质, 27帧。three.js pbr 材质, 26 帧。6172 个mesh.
2024-05-21 14:41:04 159
原创 ClassificationPrimitive 内部原理
其原理是利用 webgl 的模板缓冲区实现。渲染两次, 首先是绘制模板, 然后绘制真正的内容。
2024-05-15 17:41:29 302
原创 Cesium 3DTileset Style 原理简析
如果 tileset 可以存储一些属性信息, 比如。应用层会看到这样的使用。那么原理是什么, 为啥写。属性, 然后判断条件, 如果满足条件,传入到shader中。就会将该颜色值写入到。, 除了这个还有啥?
2024-05-14 16:13:59 221
原创 WebGL/Cesium 大空间相机抖动 RTE(Relative to Eye)实现原理简析
正常的矩阵变换过程, 模型顶点都是是基于原点(0,0,0)进行的变换。但是大场景会出现抖动情况。于是将顶点位置改为基于相机位置进行后面的变换。那么每个顶点都应该减去相机位置。但是这个工作完全可以在顶点着色器中完成, 于是将该操作延迟。那么这里假设已经完成了。但是因为模型顶点已经是相对于相机位置了(该操作被延迟执行), 因此不需要再进行平移操作。的平移操作延迟到顶点着色器中执行。顶点的变换流程依然满足这个流程。
2024-04-26 11:19:07 798
原创 1_Scene渲染流程分析
globeDepth._colorTexture,绑定在GlobeDepth中,而之前的FBO的过程正是对这张纹理的渲染。
2023-11-28 12:34:30 67
原创 Three.js 材质的 blending
混合公式确定如何将新像素与 中 WebGLFramebuffer 已有的像素组合。: RGB 混合方程和 alpha 混合方程设置为单个方程。: 用于分别设置 RGB 混合方程和 alpha 混合方程。: 分别混合 RGB 和 alpha 分量的混合函数。destination: 已经画在了帧缓冲区中的颜色。: RGB 和 alpha 设置为单个混合函数。, destination 的 RGBA.source: 接下来要画的颜色。, source 的 RGBA.用于混合像素算法的函数。
2023-10-26 11:46:39 630
原创 Canvas的缓冲区
在传统的 canvas 绘图中,绘制操作是即时执行的,意味着一旦调用绘图 API 绘制图形,绘制指令就会立即发送到绘图设备进行处理,然后绘制缓冲区的内容会被复制到显示缓冲区并进行显示。canvas的绘制缓冲区和显示缓冲区理解为两个容器,它们用于存储绘制结果。绘制缓冲区是用于存储渲染管线生成的像素数据,而显示缓冲区是绘制缓冲区最终的存储位置。,绘制缓冲区的内容一般会被复制到显示缓冲区中,并在屏幕上进行显示。,是指所有的绘制指令已经被发送到绘图设备(如 GPU)进行处理,并且绘制缓冲区中的图像已经被更新。
2023-10-25 17:52:26 167
原创 Cesium 地球(1)-概览
CesiumJS 2022^ 源码解读[4] - 最复杂的地球皮肤 影像与地形的渲染与下载过程](https://zhuanlan.zhihu.com/p/511339180)调用`QuadtreePrimitive`的同名函数实现。地球由 `影像数据`,和`地形数据`共同组成。// ④ 加载影像数据和地形数据,进行绘制。### Cesium 地球(1)-概览。// ③ 渲染需要渲染的tile。// ① 更新影像图层的可见性。// ② 将房间打扫干净。
2023-09-20 15:18:00 93
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人