トップページ > プログラム > 2018年10月08日 > OIFhWgmg

書き込み順位&時間帯一覧

19 位/207 ID中時間01234567891011121314151617181920212223Total
書き込み数0112000000000010000000005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【C++】 DirectX初心者質問スレ Part41 【C】

書き込みレス一覧

【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
加算以外で綺麗に抜ける方法教えて頂けないでしょうか?
ブレンディングカラーキーはハードが対応してなかったです。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。