光源数の制限 その1

VoidLing

2007年06月23日 04:45


一週間ほど「FaceLight ver.03」というアイテムをFree配布していたのですが
このフェイスライトが5つの光源となるプリムを使用していることの問題点を指摘して
いただいたので、現在配布を中止しています。

問題点とは、「表示できる光源数に制限がある(=自分以外のフェイスライト等の照明表現が
無効になってしまう)」というもので、私の不勉強が原因です^^;
いろいろWEBや知人に聞いて調べてみたところ、SLで3D表示をおこなうために利用している
OpenGLの技術的な制限によるものだということで、現在あると言われている「光源バグ」と
あわせて、これは由々しき問題だと再確認しました。
(この情報は、現在「移転のため閉鎖」しているSLwikiに書かれていたようです。)

ここで気になるのは、どのような状況で「光源数による表示の制限」が発生するのかという点です。
例えば、「6個の光源までしか効果が発揮できない」とした場合、その6個がどのような優先順位で
選ばれるのか? ・・・非常に気になります。

そこで、いくつかの仮説を立て、それに基づいて検証を行いたいと思います。

 仮説1) 自分(アバター)から光源(プリムの軸)までの距離で優先順位が決まる

   少し離れた場所に一個の光源とそれが照らされたプリムAを置き、その光源と自分との間に
   複数の光源となるプリムを追加し、プリムAが暗くなる(照明効果が無効になる)ことを
   確認できれば、制限が発生する光源数も判明します。

 仮説2) 自分(アバター)に影響を及ぼす照明の強度によって優先順位が決まる。

   自分(アバター)が受ける照明効果は、光源との距離、照明半径、強度、減衰によって
   異なります。自分(アバター)の近距離に照明効果が微弱な光源が複数あった場合、
   距離は少し離れているが照明効果の強力な光源は無効になってしまうのか?

検証でき次第、このブログで報告します。
Prim&Object