◎レンダーステートの状態をコンソールに出力するプログラム(デバッグ用) −−−−−−−−−−−−− ・ゲームクラスに下記メンバを追加すること bool renderStateWrited = false; −−−−−−−−−−−−− ・出力プログラム本体 void WriteRenderState() { if (renderStateWrited == false) { RenderState renderState = GraphicsDevice.RenderState; Console.WriteLine("----- WriteRenderState Start -----"); // アルファ関連 Console.WriteLine("AlphaBlendEnable = " + renderState.AlphaBlendEnable); Console.WriteLine("AlphaBlendOperation = " + renderState.AlphaBlendOperation); Console.WriteLine("AlphaDestinationBlend = " + renderState.AlphaDestinationBlend); Console.WriteLine("AlphaFunction = " + renderState.AlphaFunction); Console.WriteLine("AlphaSourceBlend = " + renderState.AlphaSourceBlend); Console.WriteLine("AlphaTestEnable = " + renderState.AlphaTestEnable); Console.WriteLine("BlendFactor = " + renderState.BlendFactor); Console.WriteLine("BlendFunction = " + renderState.BlendFunction); Console.WriteLine("DestinationBlend = " + renderState.DestinationBlend); Console.WriteLine("ReferenceAlpha = " + renderState.ReferenceAlpha); Console.WriteLine("SeparateAlphaBlendEnabled = " + renderState.SeparateAlphaBlendEnabled); Console.WriteLine("SourceBlend = " + renderState.SourceBlend); // カラーバッファーチャンネル関連 Console.WriteLine("ColorWriteChannels = " + renderState.ColorWriteChannels); Console.WriteLine("ColorWriteChannels1 = " + renderState.ColorWriteChannels1); Console.WriteLine("ColorWriteChannels2 = " + renderState.ColorWriteChannels2); Console.WriteLine("ColorWriteChannels3 = " + renderState.ColorWriteChannels3); // ステンシル/ステンシルテスト関連 Console.WriteLine("CounterClockwiseStencilDepthBufferFail = " + renderState.CounterClockwiseStencilDepthBufferFail); Console.WriteLine("CounterClockwiseStencilFail = " + renderState.CounterClockwiseStencilFail); Console.WriteLine("CounterClockwiseStencilFunction = " + renderState.CounterClockwiseStencilFunction); Console.WriteLine("CounterClockwiseStencilPass = " + renderState.CounterClockwiseStencilPass); Console.WriteLine("ReferenceStencil = " + renderState.ReferenceStencil); Console.WriteLine("StencilDepthBufferFail = " + renderState.StencilDepthBufferFail); Console.WriteLine("StencilEnable = " + renderState.StencilEnable); Console.WriteLine("StencilFail = " + renderState.StencilFail); Console.WriteLine("StencilFunction = " + renderState.StencilFunction); Console.WriteLine("StencilMask = " + renderState.StencilMask); Console.WriteLine("StencilPass = " + renderState.StencilPass); Console.WriteLine("StencilWriteMask = " + renderState.StencilWriteMask); Console.WriteLine("TwoSidedStencilMode = " + renderState.TwoSidedStencilMode); // カリング モード Console.WriteLine("CullMode = " + renderState.CullMode); // 深度バイアス/深度バッファ関連 Console.WriteLine("DepthBias = " + renderState.DepthBias); Console.WriteLine("DepthBufferEnable = " + renderState.DepthBufferEnable); Console.WriteLine("DepthBufferFunction = " + renderState.DepthBufferFunction); Console.WriteLine("DepthBufferWriteEnable = " + renderState.DepthBufferWriteEnable); Console.WriteLine("SlopeScaleDepthBias = " + renderState.SlopeScaleDepthBias); // 塗りつぶしモード Console.WriteLine("FillMode = " + renderState.FillMode); // フォグ関連 Console.WriteLine("FogColor = " + renderState.FogColor); Console.WriteLine("FogDensity = " + renderState.FogDensity); Console.WriteLine("FogEnable = " + renderState.FogEnable); Console.WriteLine("FogEnd = " + renderState.FogEnd); Console.WriteLine("FogStart = " + renderState.FogStart); Console.WriteLine("FogTableMode = " + renderState.FogTableMode); Console.WriteLine("FogVertexMode = " + renderState.FogVertexMode); Console.WriteLine("RangeFogEnable = " + renderState.RangeFogEnable); // マルチサンプリング関連 Console.WriteLine("MultiSampleAntiAlias = " + renderState.MultiSampleAntiAlias); Console.WriteLine("MultiSampleMask = " + renderState.MultiSampleMask); // ポイントサイズ関連 Console.WriteLine("PointSize = " + renderState.PointSize); Console.WriteLine("PointSizeMax = " + renderState.PointSizeMax); Console.WriteLine("PointSizeMin = " + renderState.PointSizeMin); // 完全テクスチャ マッピング Console.WriteLine("PointSpriteEnable = " + renderState.PointSpriteEnable); // シザー テスト Console.WriteLine("ScissorTestEnable = " + renderState.ScissorTestEnable); // テクスチャラッピング関連 Console.WriteLine("Wrap0 = " + renderState.Wrap0); Console.WriteLine("Wrap1 = " + renderState.Wrap1); Console.WriteLine("Wrap10 = " + renderState.Wrap10); Console.WriteLine("Wrap11 = " + renderState.Wrap11); Console.WriteLine("Wrap12 = " + renderState.Wrap12); Console.WriteLine("Wrap13 = " + renderState.Wrap13); Console.WriteLine("Wrap14 = " + renderState.Wrap14); Console.WriteLine("Wrap15 = " + renderState.Wrap15); Console.WriteLine("Wrap2 = " + renderState.Wrap2); Console.WriteLine("Wrap3 = " + renderState.Wrap3); Console.WriteLine("Wrap4 = " + renderState.Wrap4); Console.WriteLine("Wrap5 = " + renderState.Wrap5); Console.WriteLine("Wrap6 = " + renderState.Wrap6); Console.WriteLine("Wrap7 = " + renderState.Wrap7); Console.WriteLine("Wrap8 = " + renderState.Wrap8); Console.WriteLine("Wrap9 = " + renderState.Wrap9); Console.WriteLine("----- End -----"); renderStateWrited = true; } } −−−−−−−−−−−−− ◎実行結果 ----- WriteRenderState Start ----- AlphaBlendEnable = False AlphaBlendOperation = Add AlphaDestinationBlend = Zero AlphaFunction = Always AlphaSourceBlend = One AlphaTestEnable = False BlendFactor = {R:255 G:255 B:255 A:255} BlendFunction = Add DestinationBlend = Zero ReferenceAlpha = 0 SeparateAlphaBlendEnabled = False SourceBlend = One ColorWriteChannels = All ColorWriteChannels1 = All ColorWriteChannels2 = All ColorWriteChannels3 = All CounterClockwiseStencilDepthBufferFail = Keep CounterClockwiseStencilFail = Keep CounterClockwiseStencilFunction = Always CounterClockwiseStencilPass = Keep ReferenceStencil = 0 StencilDepthBufferFail = Keep StencilEnable = False StencilFail = Keep StencilFunction = Always StencilMask = -1 StencilPass = Keep StencilWriteMask = -1 TwoSidedStencilMode = False CullMode = CullCounterClockwiseFace DepthBias = 0 DepthBufferEnable = True DepthBufferFunction = LessEqual DepthBufferWriteEnable = True SlopeScaleDepthBias = 0 FillMode = Solid FogColor = {R:0 G:0 B:0 A:0} FogDensity = 1 FogEnable = False FogEnd = 1 FogStart = 0 FogTableMode = None FogVertexMode = None RangeFogEnable = False MultiSampleAntiAlias = True MultiSampleMask = -1 PointSize = 1 PointSizeMax = 256 PointSizeMin = 1 PointSpriteEnable = False ScissorTestEnable = False Wrap0 = None Wrap1 = None Wrap10 = None Wrap11 = None Wrap12 = None Wrap13 = None Wrap14 = None Wrap15 = None Wrap2 = None Wrap3 = None Wrap4 = None Wrap5 = None Wrap6 = None Wrap7 = None Wrap8 = None Wrap9 = None ----- End ----- ※上記は筆者メインPCの実行結果 ※PC環境によって初期値が異なるものもあるので注意すること!