延迟渲染 - 用单独的效果渲染模型

3
我已经阅读了一些关于在XNA中使用延迟渲染的教程(Catalin ZimaTheCansin)。它们似乎都使用延迟渲染管线来渲染模型。这很好,但它们只处理法线和高光贴图。
如果我的想法正确,假设我想要渲染一个带有发光效果的模型,并且我有一个发光着色器,那么延迟渲染管线就不会知道这个着色器?
如果我上面的问题是正确的,那么我需要在延迟渲染管线中渲染具有发光效果的模型,然后再使用发光着色器重新渲染吗?
1个回答

3
有很多不同的方法。我的建议是在流程中包含一个材质蒙版通道。例如:为您想要在场景中渲染的每种表面渲染一个纯色的目标。使用此蒙版目标在最终延迟光照通道中执行分支操作,并为不同材质进行表面计算(例如,用于Phong着色的纯红色,用于哑光表面的纯蓝色等)。您仍然像平常一样使用漫反射、法线和高光G缓冲通道。
特别地,对于发光效果,您还可以使用蒙版方法并将该目标带到您的后处理步骤中,以执行全屏模糊/发光,使用蒙版来确定应将哪些对象应用发光效果。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接