読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

レイヤードウィンドウ - 2通りの方法

Direct2D によるレイヤード ウィンドウを読んでいた。

記事の内容はDCをインターフェースとしてやり取りし、Direct2Dで描画時にハードウェアアクセラレーションを効かせながら最小コストでレイヤードウィンドウに画面転送する方法を解説しているものであった。正確にはDirect2D -> Direct3D/DXGI -> レイヤードウィンドウという描画の流れだが。

気づいたのはレイヤードウィンドウは2通りの利用方法があるということだ。

1つめは今まで試してきたウィンドウ全体に半透明処理やカラーキーによる透明化処理の方法(SetLayeredWindowAttributes )である。もう1つはUpdateLayeredWindowによる方法である。UpdateLayeredWindowはバックバッファの内容を画面転送するとともに半透明処理と透明化処理を行うAPIなのであった。