RayTracedShadows:该演示实现了BVH构造和GPU遍历以渲染硬阴影

时间:2024-06-19 16:29:59
【文件属性】:

文件名称:RayTracedShadows:该演示实现了BVH构造和GPU遍历以渲染硬阴影

文件大小:117KB

文件格式:ZIP

更新时间:2024-06-19 16:29:59

vulkan raytracing bvh C

光线追踪阴影 该演示实现了用于渲染硬阴影的 BVH 构造和 GPU 遍历。 BVH 建设和布局 BVH 是在 CPU 上构建的。 构建过程相当简单,但会生成快速遍历的高质量层次结构。 该树使用自上而下的策略构建,使用表面积启发式 (SAH) 在每个级别找到最佳分割点。 使用深度优先遍历顺序将节点布置在内存中。 具有较大表面积的子节点始终位于左侧。 这种启发式方法旨在以缓存一致的方式为光线找到相交的原语。 每个中间 BVH 节点被打包成 32 个字节: struct BVHNode { vec3 bboxMin; uint primitiveId; vec3 bboxMax; uint next; }; 叶 BVH 节点被打包成 48 个字节: struct BVHNodeLeaf { vec3 edge0; uint padding0; vec3 edge1;


【文件预览】:
RayTracedShadows-master
----.gitmodules(100B)
----LICENSE(1KB)
----External()
--------librush()
--------stb()
--------CMakeLists.txt(201B)
--------tiny_obj_loader()
--------zeux_objparser()
----Scripts()
--------cmake-xcode-mtl.sh(83B)
--------cmake-vs2019-vk.cmd(77B)
--------cmake-vs2017-vk.cmd(83B)
--------cmake-vs2015-vk.cmd(83B)
----.gitignore(86B)
----CMakeLists.txt(403B)
----Source()
--------Shaders()
--------RayTracedShadows.h(3KB)
--------VkRaytracing.cpp(3KB)
--------BVHBuilder.cpp(8KB)
--------RayTracedShadows.cpp(28KB)
--------VkRaytracing.h(770B)
--------BaseApplication.h(1020B)
--------MovingAverage.h(423B)
--------BaseApplication.cpp(3KB)
--------BVHBuilder.h(558B)
--------CMakeLists.txt(2KB)
----README.md(2KB)

网友评论