none
Direct2Dでの加算合成の仕方 RRS feed

  • 質問

  • 最近、Direct2Dを試しています。

     

    Bitmapを読み込み、表示することは出来ましたが、いわゆる、加算合成のさせ方がわかりません。

    半透明合成はDrawBitmapの不透明度をいじるだけで簡単なのですが……

     

    どなたかご存じの方がいらっしゃいましたら、ご教示ください。

     

    2010年11月9日 16:26

回答

すべての返信

  • 残念ながらないようです。Direct 3DやGDI+と連携するという手がありますが、後者の場合は少し制限があります。

    以下が参考になります。

    [Interoperability]

      http://msdn.microsoft.com/en-us/library/dd756743(v=VS.85).aspx

    • 回答としてマーク 山本春海 2010年12月1日 7:32
    2010年11月17日 14:48
  • ありがとうございます。

    示されたサイトを見て、Direct3Dと連携する方向で試行錯誤してみます。

     

    2010年11月17日 15:40
  • こんにちは、星くず彼方に さん。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。

    kozz さんからの情報が参考になったようですので、勝手ながら回答としてマークさせていただきました。
    kozz さん、情報ありがとうございます。

    同じ問題でこのスレッドを参照される方のためにも、参考になった情報が分かりやすくなるよう、回答としてマークすることをお願いしていますので、ご協力をお願いいたします。
    また、何か参考になる情報などありましたら、是非情報共有くださいね。よろしくお願いいたします。

    他の方でも、この件でもし何か情報をお持ちの方は、是非投稿をお願いいたします。
                                                                           
    マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2010年12月1日 7:40
  • 初めまして、白根と申します。

    1年以上前の記事に対する返信という事で、大変恐縮ですが、

    未だ解決策がなかなか見つからない状況という事を察し、再度ご質問させていただきます。

    私も最近Direct2Dを試していて、

    ビットマップを加算合成で描画する方法を試行錯誤していたのですが、

    やはりDirect3Dと連携するような遠回しな方法しか無いように思えます。

    ( "プリマルチプライ済みアルファモード の上で、 プリマルチプライ後のカラーチャネルをアルファチャネルより大きい値にする"

      という方法を見出しましたが、Direct2DAPI上ではこれを実現する方法が見つかりませんでした。 )

    その後、Direct3Dとの連携がうまく行ったようであれば、その方法を具体的にお聞かせ頂ければ幸いです。


    また、個人的な意見として、

    (演出面で特に重要な)加算合成がサポートされていない現状は、"柔軟な描画をサポートするAPI"としては大変致命的と思い、

    この先、この事を原因にDirect2Dの利用を諦める技術者も、多く現れる事を予想せざるを得ません。

    という事で、もし連携がうまく行ってない場合であっても、このような方法しか残されてない現状については解決を求めたいと思うので、

    "Direct2Dの仕様追加について要望を出す場合はどういうアクションを取ればいいのか"

    という点についても、

    もし、よくご存じの方がおりましたら、お教え頂ければ幸いです。

    2012年5月4日 17:11
  • スレッドを分けましょう。
    解決済みとついていると見ない人もいるので。

    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。

    2012年5月4日 23:07
    モデレータ
  • この場における質問のノウハウの理解が不足していて申し訳ございません。

    この度は、

    スレッドを分けた所でほぼ同じタイトルになり、さらにこのスレッドの延長という質問形式なので、

    やむを得ずこのスレッドに返信するという形で投稿させてもらいましたが、

    この場合もやはりスレッドを分ける事がベストなのでしょうか。

    ・追記

    分けて再投稿してみようと思います。ご誘導ありがとうございました。

    • 編集済み 白根 2012年5月5日 10:17 追記
    2012年5月5日 9:59
  • 分けるべきだと思う理由は以下の通りです。

    • 「回答としてマーク」ができるのはスレッドを立てた人だけになるため、状態がわかりづらくなるし、より有益な回答がついた場合でもそれに対してマークすることができない。
      → 後から見る人にとっても手間。(回答としてマークされている投稿が先頭に表示されるため)
    • 同じ話題でもすでに休眠したスレッドを活用するメリットが少ない。よりよい解決策が新しいスレッドで出たのなら、そのスレッドへのリンクを古いスレッドに書き足せばよい。
    • 回答できる人であっても、回答としてマークされている場合は解決済みとして、スレッドを開かないこともあり、解決の可能性を下げるかもしれない。
    • 単純に質問だけにとどまらず、別の要求(要望先を知りたい)も付与されている。

    確かに同一内容を改めて説明することになるかもしれません。
    必要に応じて、新しいスレッドにこのスレッドへのリンクを貼り付ければよいと思いますよ。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。

    2012年5月5日 10:25
    モデレータ