次はポストエフェクトのグローをやります。
グーロじゃないですよ。グローです。
指定した部分が発光してぼやける効果です。
ネオンライトとか未来服?の模様とかに使います。
この前はオートマチックにするって書いてましたが
ちょっと考えてみたらそうするとパラメータが非常にたくさんになって
かえってわかりづらくなるようでした。
そんで15分くらいで考えたところでは
次のようなスクリプトで実行することになるのでは?という感じです。
E3DCreateRenderTargetTexture 512, 512, scid1, texid1, okflag, D3DFMT_A8R8G8B8
E3DCreateRenderTargetTexture 128, 128, scid2, texid2, okflag, D3DFMT_A8R8G8B8
E3DCreateRenderTargetTexture 128, 128, scid3, texid3, okflag, D3DFMT_A8R8G8B8
E3DCreateRenderTargetTexture 512, 512, scid4, texid4, okflag, D3DFMT_A8R8G8B8
//最終結果のテクスチャをスプライトに設定
E3DCreateSprite "dummy512.bmp", 0, spid4
E3DGetSpriteSize spid4, spw4, sph4
E3DSetTextureToDispObj -2, spid4, texid4
//テクスチャ1への通常レンダー
E3DBeginScene scid1
E3DRender 地面
E3DRender キャラ1
E3DRender キャラ2
E3DEndScene
//グローのレンダー
E3DBeginScene scid2, 1
E3DClearRTTexture scid2, 0, 0, 0, 0, 0.0
E3DRenderGlow 地面
E3DRenderGlow キャラ1
E3DRenderGlow キャラ2
E3DEndScene
//グローをぼかし
E3DShadeOffTexture scid3, texid2, SHADEOFF_GAUSS
//ぼかしたグローと通常レンダーを合成
E3DBlendRTTexture scid4, texid1, texid3, D3DBLENDOP_ADD, D3DBLEND_SRC, D3DBLEND_ONE
//最終画面への描画
E3DBeginScene scid0
E3DBeginSprite
E3DRenderSprite spid4
E3DEndSprite
E3DEndScene
まだこれから変更があると思いますが大まかにはこんな感じだと思います。
スクリプトを見ると分かる通り
グローをやるにはまずぼかしの機能とテクスチャの合成の機能を作らないといけません。
ひょっとしたらこれらが出来た段階でグロー実装の前に一度リリースするかもです。
あ、それとおちゃっこLAB掲示板ですが
エロ業者のスパム書き込み防止のためアドレスを変更しました。
ブックマークしてた方はトップページからリンクをたどりなおして
ブックマークしなおしてください。
テーマ : プログラミング - ジャンル : コンピュータ