0

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

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

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

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

在过去的几周里,我一直在尝试找到一组相对基本的实现教程,希望能站稳脚跟——相对基本的意思是几何通道的漫反射和法线,以及照明通道的点光源。

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

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

非常感谢,我很感激。

4

2 回答 2

1

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

于 2015-04-08T00:50:16.517 回答
1

这里有一些资源,希望其中一些对你有用。

除此之外,我建议您开始实施。您提到您已经知道如何渲染到纹理。从您已经拥有的代码开始,即使没有直接的代码示例,迁移到延迟渲染也不应该太费力。一开始你不应该担心光照——只需将纹理颜色渲染到你的 g-buffer 并为你的延迟着色通道设置全屏四边形并将颜色输出到屏幕。一旦你有了它,你就可以顺利进入一个完整的延迟渲染器了。

于 2015-05-22T14:00:58.857 回答