Xna 延迟渲染-渲染具有单个效果的模型

Xna 延迟渲染-渲染具有单个效果的模型,xna,deferred-rendering,Xna,Deferred Rendering,我已经阅读了一些关于XNA中延迟渲染的教程(,)。它们似乎都使用延迟渲染管道来渲染模型。这很好,但它们只处理法线贴图和镜面反射贴图 如果我的想法是正确的,如果我想渲染一个模型,例如,其中有一个辉光效果,并且我有一个辉光着色器,那么延迟渲染管道不会知道这个着色器 如果我上面的问题是正确的,我是否需要在延迟渲染管道中使用光晕渲染模型,然后使用光晕着色器重新渲染?实际上有很多不同的方法。我的建议是在你们的管道中加入一个材料面具通行证。对于要在场景中渲染的每种类型的曲面,渲染仅为纯色的目标。使用此遮罩目

我已经阅读了一些关于XNA中延迟渲染的教程(,)。它们似乎都使用延迟渲染管道来渲染模型。这很好,但它们只处理法线贴图和镜面反射贴图

如果我的想法是正确的,如果我想渲染一个模型,例如,其中有一个辉光效果,并且我有一个辉光着色器,那么延迟渲染管道不会知道这个着色器


如果我上面的问题是正确的,我是否需要在延迟渲染管道中使用光晕渲染模型,然后使用光晕着色器重新渲染?

实际上有很多不同的方法。我的建议是在你们的管道中加入一个材料面具通行证。对于要在场景中渲染的每种类型的曲面,渲染仅为纯色的目标。使用此遮罩目标可在最终延迟照明过程中执行分支操作,并对不同材质进行曲面计算(例如,纯红色表示phong着色,纯蓝色表示无光曲面等)。仍将漫反射、法线和镜面反射gbuffer过程用作法线

特别是对于辉光效果,您还可以使用遮罩方法,将该目标向前推进到后处理步骤,以执行全屏模糊/辉光,使用遮罩确定应应用辉光的对象