c++ - DirectX 11 延迟渲染

标签 c++ directx-11 deferred-rendering

我一直在尝试使用 DirectX 11 制作延迟渲染器大约一个月,但没有成功。

我遇到的大多数白皮书都描述了总体实现,但没有描述实际实现(这有道理,但实际实现很糟糕——无论如何对我来说)。

我看过几个完整的引擎实现,例如来自“Practical Rendering & Computation Direct3D 11”的源代码,https://hieroglyph3.codeplex.com/ ,但发现它们极其繁琐和/或极其复杂(涉及计算着色器)。

虽然我查看了 http://rastertek.com/教程,它们已经有一段时间没有更新了(据我所知,作者永久中断),并使用 DirectX 9/10 的主题。

在过去的几周里,我一直在努力寻找一组相对基本的实现教程,希望能有所帮助——相对基本的意思是几何 channel 的漫反射和法线,以及照明 channel 的点光源.

所以提出一个问题,是否有一套教程和/或示例项目来完成我上面描述的基本实现?

我对 XNA 或 OpenGL 不太感兴趣,考虑到前者是 c# 而后者不是 DirectX 或 RasterTek 教程,因为正如我所说,它们已经过时了。

非常感谢,我很感激。

最佳答案

强烈建议您购买这本书:“Practical Rendering & Computation Direct3D 11”。有一整章专门介绍延迟渲染,详细解释了它的工作原理、优缺点,以及如何解决延迟渲染的典型问题。

关于c++ - DirectX 11 延迟渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29483949/

相关文章:

c++ - 计算一个点号的校验和

c++ - DirectX 11 着色器资源管理

c++ - OpenGL 延迟渲染不工作

c++ - OpenGL 延迟渲染静态?

css - Google PageSpeed 相互矛盾的建议

c++ - 使用 ctypes.cdll.LoadLibrary 从 Python 加载库时 ELF header 无效

c++ - 将 STL map 打印为表格

c++ - DirectX 11 调试层捕获错误字符串

c++ - Open()、Close() 和 Read() 应用于 Linux 管道文件描述符

c++ - TGA 文件头在 Windows 上不正确