SlimDX Direct3d9デバイスに状態を設定したい。SlimDX - 状態ブロックを設定する
私はframeRender関数のビギニングでそのコードを持っています。私はそれらの何百万行を取得してい
Object of type SlimDX.Direct3D9.StateBlock was not disposed. Stack trace of object creation:
:
device.BeginStateBlock();
device.SetRenderState(RenderState.ZEnable, false);
device.SetRenderState(RenderState.Lighting, false);
device.SetRenderState(RenderState.CullMode, Cull.None);
device.EndStateBlock();
しかし、私は、デバッグウィンドウで、このエラーを取得しています。彼らのすべては同じことを言う。 これらの州をどのように処分すればよいですか?どのように適切な方法でそれを作る?
どうすれば使用できますか?どこにcreatethemとそれらを適用する方法?私はそれらをフレームごとに適用しますか?私はそれらをフレームごとに処分すべきですか? – Hooch
私はその地域の専門家ではないと言わなければならないので、私は多かれ少なかれ推測することができます。あなたが必要とするユニークな状態ブロックごとに1つずつ、あなたのアプリケーションの始めに状態ブロックを作成します。次に、Applyメソッドを使用してブロックを使用し、そのブロックで描画する必要があるすべてを描画します。 DirectXは、設定されていないか、または何か他のものが設定されていない限り、設定された状態のマスキンであることに注意してください。それ以外の処理は、デバイスを紛失したときにリセットするか、アプリケーションをシャットダウンするときに実行してください。残念ながら、これは私が言うことができるすべてであり、私はそれをそのように試みるでしょう。 – dowhilefor