DirectX11でテクスチャを任意の透明度で描画したい。(DxライブラリのSetDrawBlendModeのような処理がしたい)

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
tettyA
記事: 6
登録日時: 1年前

DirectX11でテクスチャを任意の透明度で描画したい。(DxライブラリのSetDrawBlendModeのような処理がしたい)

#1

投稿記事 by tettyA » 1年前

任意の透明度でテクスチャを描画するにはどうすればいいのでしょうか?
(例えば、フェードイン、フェードアウトなど)

ID3D11Device::CreateBlendStateや
ID3D11DeviceContext::OMSetBlendStateを調べてみましたが、あくまで元の画像にアルファ値が設定されている場合のみアルファブレンドが行われるだけで、その透明度を操作出来るようなパラメータ等はありませんでした。

参照魚
記事: 109
登録日時: 6年前

Re: DirectX11でテクスチャを任意の透明度で描画したい。(DxライブラリのSetDrawBlendModeのような処理がしたい)

#2

投稿記事 by 参照魚 » 1年前

実際にやっていないのでうまくいくかわかりません、参考まで。

①自前でテクスチャに半透明情報を書き込む
下記では"//テクスチャ書き替え"とある箇所で、α値を書き込んでいます。
http://dioltista.blogspot.com/2019/06/c ... 11_16.html

書き込みは1回だけ行い、あとはOMSetBlendStateで透明度を係数で調節するイメージです。

②半透明用ピクセルシェーダーを使う
PSSetConstantBuffersでα値をシェーダーに渡してカラーの計算をするイメージです。


返信

“C言語何でも質問掲示板” へ戻る