一个演示使用 D3D12 的无绑定延迟纹理的渲染示例
此项目是一个 D3D12 渲染示例,它使用无绑定延迟纹理实现了延迟渲染器。延迟纹理与正常的延迟渲染类似,唯一的区别是,在几何图形传递中不会采样纹理。相反,采样后的 UV 会写入 G 缓冲区,以便在延迟传递期间采样材质纹理。为了支持从任意材质采样纹理,此示例利用了动态纹理描述符索引。此示例还实现了一个延迟贴图系统,使用一种兼容延迟纹理和聚类前向渲染(该示例中也实现了聚类前向渲染,用作比较基准)的聚类技术。
请参阅完整的博客文章以了解更多信息: https://therealmjp.github.io/posts/bindless-texturing-for-deferred-rendering-and-decals/ # 构建说明 仓库中包含一个 Visual Studio 2015 项目和解决方案文件,可在 Windows 上进行构建。所有外部依赖都包含在仓库中,因此无需下载其他库。运行演示应用程序需要 Windows 10 以及支持 Feature Level 11_1 的 GPU。 # 使用演示应用程序 要移动摄像机,请按下 W/S/A/D/Q/E 键。也可以右键单击窗口并拖动鼠标来旋转摄像机。要放置新的贴花,请单击中键。其他所有操作都通过应用程序中的设置 UI 进行控制。 # 使用新的 DirectX 着色器编译器
本项目支持使用新的 开源 HLSL 编译器 (也称为 DXC),支持 Shader Model 6.0+。对新编译器的使用由 AppConfig.h 中定义的 "EnableShaderModel6_" 宏控制。如果您启用此标志,请确保您使用的是 Windows 10 版本 1803 或更高版本,以便启用加载 DXIL 的零售支持。如果您使用的是较早的 Win10 版本或旧版驱动程序,可能需要启用 D3D12ExperimentalShaderModels 的实验性功能支持(请参阅 DX1
暂无开放 Issues,或尚未同步最近议题。