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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: DirectX11でテクスチャを任意の透明度で描画したい。(DxライブラリのSetDrawBlendModeのような処理がしたい)

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

#3

by tettyA » 2年前

ありがとうございます!!一回やってみます!!

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

#2

by 参照魚 » 2年前

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

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

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

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

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

#1

by tettyA » 2年前

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

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

ページトップ