C# XNA延迟着色器,替换基本效果
我在我的XNA4.0项目中实现了延迟着色,这意味着我需要所有对象从同一着色器“RenderGBuffer.fx”开始。如何使用自定义内容处理器来:C# XNA延迟着色器,替换基本效果,c#,xna,xna-4.0,deferred-rendering,C#,Xna,Xna 4.0,Deferred Rendering,我在我的XNA4.0项目中实现了延迟着色,这意味着我需要所有对象从同一着色器“RenderGBuffer.fx”开始。如何使用自定义内容处理器来: 默认情况下不加载任何纹理(我想手动执行此操作) 使用“RenderGBuffer.fx”作为默认着色器,而不是基本效果 以下是迄今为止的工作: public class DeferredModelProcessor : ModelProcessor { EffectMaterialContent deferredShader; publ
public class DeferredModelProcessor : ModelProcessor
{
EffectMaterialContent deferredShader;
public DeferredModelProcessor()
{
}
protected override MaterialContent ConvertMaterial(MaterialContent material, ContentProcessorContext context)
{
deferredShader = new EffectMaterialContent();
deferredShader.Effect = new ExternalReference<EffectContent>("DeferredShading/RenderGBuffer.fx");
return context.Convert<MaterialContent, MaterialContent>(deferredShader, typeof(MaterialProcessor).Name);
}
}
公共类延迟ModelProcessor:ModelProcessor
{
有效材料含量;
公共延迟模型处理器()
{
}
受保护的替代MaterialContent ConvertMaterial(MaterialContent材质、ContentProcessor上下文)
{
deferredShader=新的EffectMaterialContent();
deferredShader.Effect=newexternalreference(“DeferredShading/RenderGBuffer.fx”);
返回context.Convert(deferredShader,typeof(MaterialProcessor).Name);
}
}
请显示一些代码。。。你试过什么?到底什么是不起作用的?我添加了一些代码,感谢您指出费率。我怀疑您的问题可能会在许多专家关注的地方得到更多的关注……感谢您的提示,我将在那里尝试。以下是未来读者的链接: