- 【C++】 DirectX初心者質問スレ Part41 【C】
186 :デフォルトの名無しさん[]:2018/10/08(月) 01:17:59.94 ID:OIFhWgmg - ある画像を別に用意したマスク画像の形でリアルタイムでくり抜きたいです(マスク画像のフチのぼかされてる所も再現したい)。
ただしシェーダーは使わずやりたい。ステンシルとかブレンディングでどうにかなりますか? リアルタイムでやりたいのでロックして直接弄るとかは無しでお願いします。 フォトショの例ですがこんな事をリアルタイムでやりたい(くり抜かれた画像の余白の部分はアルファ値で透明になるように) https://helpx.adobe.com/jp/photoshop-elements/kb/cq07050438.html
|
- 【C++】 DirectX初心者質問スレ Part41 【C】
188 :デフォルトの名無しさん[sage]:2018/10/08(月) 02:02:38.28 ID:OIFhWgmg - >>187
(1)は、アルファチャンネルつきの画像を用意して描画するとして ARGBのうちAだけが反映されるように(2)でうまく合成するという事になりますかね? RenderStateはSRCがDESTALPHAにすると(1)の画像のアルファ値が上手く反映されますね。 ただDESTをどの値にしてもARGBのうちのRGBの部分も反映されてしまってフチが黒くなってしまいます(マスク画像が黒い為)。 ARGBのAだけ反映させるにはどうしたらいいでしょうか。
|
- 【C++】 DirectX初心者質問スレ Part41 【C】
190 :デフォルトの名無しさん[]:2018/10/08(月) 03:05:32.73 ID:OIFhWgmg - >>189
加算合成で黒が見えなくなるのは黒のピクセルのAが0になるからじゃないですかね? RGBはどうやってもなんらかの値を取らないといけないので… ブレンディングでやるのは無理なんでしょうか…
|
- 【C++】 DirectX初心者質問スレ Part41 【C】
191 :デフォルトの名無しさん[sage]:2018/10/08(月) 03:58:31.81 ID:OIFhWgmg - >>187
色々やってみたんですが、まずくり抜きたい画像を描画しておき そのあとにマスク画像として用意した全部黒で真ん中だけ丸くアルファ値ゼロの画像を 上から描画して、最後にその合成された画像を加算アルファで描画すると 余計な部分の黒が全部透明になって理想に近い形になりました。 ただ加算されるので真ん中の描画される部分がちょっとピカピカしてしまいますが。 もうちょっと試行錯誤してみます。
|
- 【C++】 DirectX初心者質問スレ Part41 【C】
193 :デフォルトの名無しさん[sage]:2018/10/08(月) 14:56:19.98 ID:OIFhWgmg - >>192
加算以外で綺麗に抜ける方法教えて頂けないでしょうか? ブレンディングカラーキーはハードが対応してなかったです。
|