XNA 4.0 プロジェクトにディファード シェーディングを実装しました。つまり、すべてのオブジェクトを同じシェーダー " RenderGBuffer.fx " で開始する必要があります。カスタム コンテンツ プロセッサを使用して次のことを行うにはどうすればよいですか。
- デフォルトではテクスチャを読み込まない (手動で行いたい)
- BasicEffect の代わりに" RenderGBuffer.fx " をデフォルトのシェーダとして使用します
以下、これまでの作業です。
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);
}
}