DirectXを使い16ビットモードでアルファブレンドを使い、フェードインフェードアウト処理をするにはどうしたらいいんでしょうか?


守護  2003-08-04 22:07:40  No: 51903  IP: [192.*.*.*]

DirectDraw7.0のSDKを使い16ビットモードでアルファブレンドを使い、フェードインフェードアウト処理をするにはどうしたらいいんでしょうか?
ちなみに開発環境はVisual C++ 6.0で、OSは98とXPの二つを使っています。

いろいろサイト等を見て回ったのですが。なかなか分かりやすいサンプルがなかったのでここに質問させていただきました。
勿論、サンプルプログラムが載っているサイトの紹介や、
この本読めばわかるよって言うのがありましたら
それでも全然助かります。
ゲーム作成をしているのですが、その上で欠かすことの出来ない処理なので
知っている方がいらしたらぜひお願いします。

編集 削除
ボコノン教徒  2003-08-05 09:18:35  No: 51904  IP: [192.*.*.*]

この辺かな?

http://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=14&vew=5159

ここで「アルファ」で検索すると結構いろいろ出てきますよ。

編集 削除
ボコノン教徒  2003-08-05 09:20:41  No: 51905  IP: [192.*.*.*]

うっ、リンクが無効になっちゃってる。

http://bbx.hp.infoseek.co.jp  から入ってください。

編集 削除
守護  2003-08-10 09:44:14  No: 51906  IP: [192.*.*.*]

ボコノン教徒様お返事ありがとうございます。
さっそく拝見させていただいたのですが、ちょっと私にはイマイチ
内容が理解できないのです・・・。部分的な解説は大変詳しくて分かりやすかったのですが、その仮定までいくやり方や、根本的なことがよくわかっていないのでちょっと理解しにくくて(ホントにすいません)
よろしければ、もう少し情報等をお願いします。

編集 削除
INI  2003-08-11 07:56:38  No: 51907  IP: [192.*.*.*]

どうもはじめまして^^
守護さんへ、ひとまず何が理解できていて
何処がわからないかを、まとめてみてはどうでしょう
根本的なといわれてもアドバイスしにくい^^;
私も(自称)ゲーム系専門分野なのでアドバイスしてあげたいです

編集 削除
ハリィ  2003-08-11 13:36:39  No: 51908  IP: [192.*.*.*]

私はこちらがオススメです。

http://www.sun-inet.or.jp/~yaneurao/
「BM98'S ROOM つう」

このサイトの、【Road To Super-Programmer】 というコーナーがすごく参考
になります。過去ログから読むと DirectDraw や画像処理について詳しくなれ
ると思います。

編集 削除
ボコノン教徒  2003-08-11 14:00:03  No: 51909  IP: [192.*.*.*]

16ビットということは、RGB555 or RGB565ですよね。
自前で計算するとすれば、フェードイン時のRed値は
以下のように計算すればよいのでは。Green、Blueも同様

int n = 2の5乗;
for (int i=0 ; i<n ; i++){
    int 新しいRed値 = ObjectのRed値*i + 背景のRed値*(n-i);
}

編集 削除