半透明にしてみる~きれいなポリゴンは好きですか?~■今回のファイルは今回は、さらに、アルファブレンディングを用いて、半透明を実現します。次のソースを、ダウンロードしてください。■オブジェクト今回は、2枚のポリゴンを使います。そのために、オブジェクトを2倍、用意しました。書いた絵(test.bmp)を用意しました。■初期化とにかく、2倍2倍です。それぞれ、色分けしてみました。S_OK;}まさに、コピペの嵐ですね。きれいにまとめて初期化しましょう。この値がアルファ値で、合成する時の割合(濃さ)として用いられます。だいたい半分の値で、半分の強さで合成されることになります。今回は、ここが豊かです。);は、前回もやりましたが、ポリゴンの頂点フォーマットを設定します。lpD3DDEV->SetTextureStageState(....);は、アルファ合成する時に、どのような色を用いるか、指定します。今回の設定では、テクスチャーの色と、ポリゴン自体の色を掛けた値を使います。テクスチャーの画像でも、ポリゴンの色でも、どちらでも色の指定が可能になります。そのあと、桜の画像を描画します。ここは、前回やったとおりです。次に、いよいよ半透明の設定です。アルファ合成の切り替えをします。これで、半透明が使えるようになりました。どのように合成するかを設定します。下地の画像の合成法を設定します。上に描くポリゴンのアルファ値の濃さによって、下地の描画を薄くします。時は描きません(黒く描きます)。これで、透けた先の濃さが調整されます。上に書く画像の合成法を設定します。描くポリゴンのアルファ値の濃さで描きます。アルファ値の値が高ければ高いほど、濃く描きます。これで、透けるような描画ができる設定になりました。後で、設定を変えた場合に、どのようになるかお見せします。描画自体は、桜の画像を描画したのと変わりません。半透明画像の描画の肝になっています。最後に、この後のポリゴンが半透明で描画されないように、アルファ合成をオフします。■後片付け後片付けは、いつものように、使ったものを開放するだけです。変える事によって、様々な合成を行うことが出来ます。一例として、下に挙げてみました。内挿:色ガラスみたいに、後ろが透けて見える表現です。(0:透明~128:下の画像~255:不透明)。D3DBLEND_SRCALPHA);加算:ポリゴンが光り輝く表現をする時に使います。D3DBLEND_SRCALPHA);減算もどき(黒く乗算):色を沈ませたい時に使えます。下の画像では黄色いテクスチャーを張ったために青くなっていますが、白いテクスチャーを張ると、そこが黒くなります。切り替えをせずに、不透明のポリゴンを表示するのに使います。D3DBLEND_ONE);もどるimagire@gmail.com。