レンダリングの設定は、DeviceクラスのRenderStateプロパティから設定できます。
描画のパフォーマンスを向上させるため、見えないものを描画対象から除外します。
device.RenderState.CullMode = Cull.CounterClockwise;
定数 | 説明 | 表示される面 | |
---|---|---|---|
None | NONE | カリングをしない | 両面 |
CounterClockwise | CCW | 背面を左回りでカリングする | 表 |
Clockwise | CW | 背面を右回りでカリングする | 裏 |
レンダリングのときの「奥行き (depth)」を定義します。
これを有効にすることで後方にあるものが前方にあるものに隠されるようになり、3Dオブジェクトが正しく描画されるようになります。
device.RenderState.ZBufferEnable = true;
Zバッファを有効とするためには、デバイスの作成時にプレゼンテーション パラメータの設定でZバッファを有効としておく必要があります。
Zバッファのフォーマットは、DepthFormat列挙型から選択して指定します。
// Zバッファを有効 presentParameters.EnableAutoDepthStencil = true; // Zバッファのフォーマット presentParameters.AutoDepthStencilFormat = DepthFormat.D16;
またZバッファを有効としたときには、デバイスをクリアするときにZバッファもクリアする必要があります。
device.Clear( ClearFlags.Target | ClearFlags.ZBuffer, Color.Blue, 1.0f, 0 );