自制 DX12 渲染器。
地形系统,采用流式加载。
整体思路基于 Terrain Rendering in 'Far Cry 5'。详见:https://gdcvault.com/play/1025480/Terrain-Rendering-in-Far-Cry
基于异步的流式加载器传输纹理,并基于GPU-Driven实现剔除优化。
并提供了一套从Houdini导入资源的完整流程
在AMD-Ryzen 5800X + RTX 4070Ti环境下,16384x16384的地形,可达720p 1k多帧(cpu瓶颈),2k 550帧,同时显存占用不到200M。并且考虑到代码并非彻底优化,在此基础上仍有不少提升空间。
这一部分基本是对 Ka Chen 《Adaptive Virtual Texture Rendering in Far Cry 4》 中所介绍功能的的落地。
提供了一个半自动的RenderGraph实现。
支持对导入资源自动估算生命周期,并整合同类型纹理实现资源复用,但不支持DAG剪枝优化和断环。
提供了可视化界面,可观察实际资源复用情况
延迟渲染管线(Deferred Pipeline)+ 漫反射 IBL(球谐,Spherical Harmonics)+ 预过滤贴图(PreFilter Map)
代码DX11时期编写,较老旧,没时间折腾,暂时停用
可编程材质 + HLSL 代码编辑器:https://github.com/moso31/DonoText
XAllocator 是 Nix DX12 使用的内存分配器,用于为 TextureResources / CBuffers / RTViews / DSViews / Descriptors 分配内存。
Wiki:https://github.com/moso31/Nix/wiki/XAllocator(还没写完……)
- 抗锯齿(TAA / SMAA / FXAA……)
- 屏幕空间环境光遮蔽(HBAO / GTAO……)
- SSR
- 更好的后处理(Post-Processing)



