0

XNA 4.0 プロジェクトにディファード シェーディングを実装しました。つまり、すべてのオブジェクトを同じシェーダー " RenderGBuffer.fx " で開始する必要があります。カスタム コンテンツ プロセッサを使用して次のことを行うにはどうすればよいですか。

  1. デフォルトではテクスチャを読み込まない (手動で行いたい)
  2. 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);
   }
}
4

0 に答える 0