テクスチャステージステートの設定について
DirectXにて、3D空間に以下のオブジェクトを描画しています。
・2Dのテクスチャ
・3Dモデル
・3Dポリゴン
・Live2D(2D描画、ソースコードはウェブのマニュアルを参照)
ここで、2Dモデルにテクスチャを貼ってアルファ値を入れて透過処理をしていました。
ですが、Live2Dモデルを一緒に描画するとアルファ値が1フレーム目だけ適用され、2フレーム目以降は適用されません。
レンダラーステート、テクスチャステージステートの設定は(Live2DのDrawを処理しないと適用されるので)間違ってないです。
Live2D内で描画関係の設定を変更されたままになっているのでしょうか?
・2Dのテクスチャ
・3Dモデル
・3Dポリゴン
・Live2D(2D描画、ソースコードはウェブのマニュアルを参照)
ここで、2Dモデルにテクスチャを貼ってアルファ値を入れて透過処理をしていました。
ですが、Live2Dモデルを一緒に描画するとアルファ値が1フレーム目だけ適用され、2フレーム目以降は適用されません。
レンダラーステート、テクスチャステージステートの設定は(Live2DのDrawを処理しないと適用されるので)間違ってないです。
Live2D内で描画関係の設定を変更されたままになっているのでしょうか?
0

コメント
上記、お問合せに関してですが、DirectXのSDKは、Live2Dの描画により内部で状態の変更を行います。
現状、Live2Dの描画後には状態を戻す処理をしておりませんので
アプリ側でLive2Dの描画前に事前に状態を保持しておきLive2D描画後に復元するか、
アプリ側の描画前に明示的に必要な状態になるよう設定をしていただく必要があります。
SDK内部で変更している具体的なステートは下記になります。
・SetSamplerState()
Stage 0~1
D3DSAMP_MINFILTER
D3DSAMP_MAGFILTER
D3DSAMP_MIPFILTER
D3DSAMP_MAXANISOTROPY
・SetTexture
Stage 0~1
・SetRenderState()
D3DRS_SEPARATEALPHABLENDENABLE
D3DRS_SRCBLENDALPHA
D3DRS_DESTBLENDALPHA
D3DRS_SRCBLEND
D3DRS_DESTBLEND
D3DRS_CULLMODE
ありがとうございます
早速試してみます!