This commit is contained in:
zzzisfunnyboy
2025-11-28 08:44:02 +08:00
parent 9e523b971a
commit ab75441581
6 changed files with 155 additions and 1 deletions

View File

@@ -0,0 +1,26 @@
### 优化带宽(减少储存数据量
- 一块地形为128个三角形每个三角形包含三个位置
- 每个位置包含位置Vec3,法线Vec3,UV Vec2
- 计算得出每个网格是12kb整个场景为192M
- 优化uv储存
- uv可以直接去掉使用网格模型空间下的坐标 / 8来代替
- ![[Pasted image 20251111231745.png]]
- 位置信息,可以优化掉position.xz只保留高度(没懂
- 使用gl_VertexID(顶点索引)来生成位置
- 使用floor和mod来确定x,z
- position.x = flooar(gl_VertexID / 2.0);
- position.z = mod(gl_VertexID, 2.0);
- 去掉法线改为两个16整数使用俯仰角和偏航角来确定法线方向。虽然精度只有原来的一半但是对于法线来说足够了
- 这些做完之后由12.9kb=>3kb
- 使用三角形条带,除了第一个三角形之外,之后的每个三角形都可以较少两个顶点信息
- 但只适合规整的网格
---
着色器执行很快,但是一直等待从内存读取更多的数据,所以造成瓶颈
### 使用批处理
### LOD
### 使用foliage来掩盖每个细节层次的起始位置

View File

@@ -0,0 +1 @@
[[基于GPU动画和ComputeShader的大批量动画渲染Demo之GPU顶点动画]]