輪っかをだんだん細くする

衝撃波のようなエフェクトって単に輪っかを拡大していけばいいんだと思ってたが、なんかそれだけじゃ今ひとつよろしくない。そこでいろいろと観察してみたところ、輪の輪郭をだんだん細くしていくと見栄えがよくなるようだ。
で、細くしていく方法として考えられるのは二つ。

  1. 太さの違うテクスチャを用意してアニメーション
  2. プログラムで細く見えるようにする

世の中がどっちでやってんのかわからないが、1じゃアレなので2に挑戦。
輪っかの外縁は色成分が最大で、内側に行くほど小さくなって行く。
となれば、同じテクスチャを乗算で重ねていけばいいんじゃね。
外縁は色成分最大、つまりfloatなら1.0なので、何度乗算しても1.0のまま。内側は1.0未満なので乗算すると減衰していく。しかもこの減衰の度合いは内側になるほど強いので、何回か乗算すると中心に近いところからどんどん0になっていく。外縁だけがくっきりと残るので、細くなっていく様が表現できるはず。


でもこれって細さが乗算回数だけで決まるから細かい制御とかできなそうだよなー。
あと乗算するのにテクスチャステージを何段も重ねるなんてわけにはいかないから、テクスチャにレンダリングしてそれを保存しておいて、次の乗算の元テクスチャに使う、というのを繰り返していく感じか?
なんかもっと簡単な方法がある気がしてならない・・・。


つーか今思ったんだけど、この方法、輪っかが白以外の色だと駄目じゃね?