レンダリングの設定

レンダリングの設定は、DeviceクラスのRenderStateプロパティから設定できます。

カリング (culling)

描画のパフォーマンスを向上させるため、見えないものを描画対象から除外します。

device.RenderState.CullMode = Cull.CounterClockwise;
Cull列挙型
定数 説明 表示される面
None NONE カリングをしない 両面
CounterClockwise CCW 背面を回りでカリングする
Clockwise CW 背面を回りでカリングする

Zバッファ (Z Buffer) [ 深度バッファ (Depth Buffer) ]

レンダリングのときの「奥行き (depth)」を定義します。

これを有効にすることで後方にあるものが前方にあるものに隠されるようになり、3Dオブジェクトが正しく描画されるようになります。

device.RenderState.ZBufferEnable = true;

Zバッファの有効化

Zバッファを有効とするためには、デバイスの作成時にプレゼンテーション パラメータの設定でZバッファを有効としておく必要があります。

Zバッファのフォーマットは、DepthFormat列挙型から選択して指定します。

// Zバッファを有効
presentParameters.EnableAutoDepthStencil = true;

// Zバッファのフォーマット
presentParameters.AutoDepthStencilFormat = DepthFormat.D16;

Zバッファのクリア

またZバッファを有効としたときには、デバイスをクリアするときにZバッファもクリアする必要があります。

device.Clear( ClearFlags.Target | ClearFlags.ZBuffer, Color.Blue, 1.0f, 0 );

半透明の物体の描画

 

シェーディング・モード