任意の透明度でテクスチャを描画するにはどうすればいいのでしょうか?
(例えば、フェードイン、フェードアウトなど)
ID3D11Device::CreateBlendStateや
ID3D11DeviceContext::OMSetBlendStateを調べてみましたが、あくまで元の画像にアルファ値が設定されている場合のみアルファブレンドが行われるだけで、その透明度を操作出来るようなパラメータ等はありませんでした。
DirectX11でテクスチャを任意の透明度で描画したい。(DxライブラリのSetDrawBlendModeのような処理がしたい)
Re: DirectX11でテクスチャを任意の透明度で描画したい。(DxライブラリのSetDrawBlendModeのような処理がしたい)
実際にやっていないのでうまくいくかわかりません、参考まで。
①自前でテクスチャに半透明情報を書き込む
下記では"//テクスチャ書き替え"とある箇所で、α値を書き込んでいます。
http://dioltista.blogspot.com/2019/06/c ... 11_16.html
書き込みは1回だけ行い、あとはOMSetBlendStateで透明度を係数で調節するイメージです。
②半透明用ピクセルシェーダーを使う
PSSetConstantBuffersでα値をシェーダーに渡してカラーの計算をするイメージです。
①自前でテクスチャに半透明情報を書き込む
下記では"//テクスチャ書き替え"とある箇所で、α値を書き込んでいます。
http://dioltista.blogspot.com/2019/06/c ... 11_16.html
書き込みは1回だけ行い、あとはOMSetBlendStateで透明度を係数で調節するイメージです。
②半透明用ピクセルシェーダーを使う
PSSetConstantBuffersでα値をシェーダーに渡してカラーの計算をするイメージです。
Re: DirectX11でテクスチャを任意の透明度で描画したい。(DxライブラリのSetDrawBlendModeのような処理がしたい)
ありがとうございます!!一回やってみます!!