Foundation 施工笔记 【1】- Mesh Shader 自适应 LOD
Preface 预谋多时而虽迟但到的 Foundation 博文系列。 特别中二的名字以外,项(天)目(坑)并非最近开始的工作(开始于约莫 ~2023)。期间诸多内容,如各类无锁 (Lock-free) 数据结构、RHI、RenderGraph细节、Shader 反射等,也都是实现期间相当想留一笔的工作… 嘛、反正也是后期也不得不记的事,不如梭哈开篇为好——那么就开始吧? 注: Foundation 文档:https://mos9527.com/Foundation/ Mesh Shader? 注: 参考性内容 - 酌情跳过。 深入了解,还请参阅以下文档: Introduction to Turing Mesh Shaders - NVIDIA 【技术精讲】AMD RDNA™ 显卡上的Mesh Shaders(一): 从 vertex shader 到 mesh shader 脱离 Fixed Function 的整套Input Assembler/Vertex+Geometry管线,繁而就简:Fragment/Pixel之前,Compute模式的Mes 足矣且充分地代替这些功能。 额外的,前置还可以有Task/Amplification环节生成 Mesh Shader WorkGroup(同时,Task Shader 也支持 Indirect Dispatch)。很显然,这样的架构是相当适合当代 GPU-Driven 渲染器的实现的。 最小单元(Primitive)仍然还是三角形 - 为饱和CS单元利用率,Mesh Shader同时引入了Meshlet - 依据一定指标对Mesh进行分区 - 直接地减小overhead, 间接的提供压缩(index buffer压到N个micro buffer/uint8),剔除机会,和… Enter Nanite 作为 UE5 的招牌特性,Nanite 利用新管线的高粒度与可控性实现了消除 LOD 过渡的任务。...