- 简介先前的研究表明,小三角形可借助计算着色器(compute shader)高效地进行光栅化。受此启发,我们进一步探索:在无需预先构建加速结构的前提下,该方法究竟能否扩展应用于海量三角形数据集? 方法:本方案采用三级光栅化流水线:第一阶段直接对小三角形进行光栅化,并利用原子最小值操作(atomicMin)存储最近的片元(fragment);较大的三角形则被转发至第二和第三阶段处理。 结果:CuRast 渲染包含数亿个三角形的模型时,速度较 Vulkan 提升达 2–5 倍(针对唯一实例)或最高达 12 倍(针对实例化渲染)。但对于低多边形(low-poly)网格,Vulkan 仍快一个数量级。 局限性:当前实现主要面向高密度、不透明的网格模型——这类模型通常由摄影测量法(photogrammetry)或三维重建技术生成;暂未支持混合(blending)与透明度(transparency),且对包含数千个低多边形网格的复杂场景尚缺乏高效处理能力。 未来工作:为使该技术适用于游戏开发及更广泛的应用场景,后续研究需重点开展以下三方面工作:(1)优化对包含数万个节点/网格的超大规模场景的处理性能;(2)支持分层聚类式细节层次(hierarchical clustered LOD),例如 Meshoptimizer 所生成的 LOD 结构;(3)增加对透明度的支持——该功能将单独置于一个独立阶段实现,以确保不干扰原有不透明物体光栅化的性能与效率。 源代码地址:https://github.com/m-schuetz/CuRast
-
- 图表
- 解决问题如何在不预先构建加速结构(如BVH)的前提下,高效光栅化海量三角形(数亿级)——尤其针对来自摄影测量/三维重建的密集不透明网格,突破传统图形API(如Vulkan)在极端三角形数量下的性能瓶颈。
- 关键思路提出三级计算着色器光栅化流水线:Stage 1 用atomicMin直接光栅化小三角形(避免分支与负载不均);大三角形分发至Stage 2(分块光栅化)和Stage 3(细粒度覆盖测试),全程无CPU干预、无加速结构构建开销;核心创新在于将‘规模扩展性’从几何处理阶段(传统管线瓶颈)转移到纯GPU计算光栅化阶段。
- 其它亮点在数百兆三角形模型上实现比Vulkan快2–12×(取决于实例化程度);开源完整CUDA实现(CuRast);实验基于真实摄影测量数据集(如Sanctuary, M60 Tank);未优化低多边形场景(<100K三角形),凸显其‘为超密网格而生’的设计定位;未来方向明确:多节点场景管理、Meshopt集群LOD集成、透明度分阶段处理。
- Rasterization without Acceleration Structures (SIGGRAPH Asia 2021); Vulkan Ray Tracing and Rasterization Interop (ACM TOG 2022); Mesh Shading in DirectX 12 (Microsoft GDC 2023); GPU-Accelerated Triangle Culling via Hierarchical Z-Buffering (Eurographics 2020); CuRaster: A CUDA-Based Rasterizer for Massive Point Clouds (IEEE Vis 2021)
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流