ページ 1 / 1
3Dポイントライトの仕組みについて
Posted: 2014年2月11日(火) 21:50
by 勉強中
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=3226
こちらでも質問を行っています通り、DXライブラリのライト設定についてお尋ねします。
ライトをポイントライトに設定
SetLightPosition(VAdd(vPos,VGet( 0,50,0)));
(vPosは自キャラ座標)
ライトの位置は常に自キャラの腰くらいという設定をしているつもりです。
この状態で自キャラを中心として光ってくれれば成功なのですが、地面だけが光りません。
壁に対してはしっかりライトが当たり、壁際のみうっすらと地面も光っている状態です。
光の減衰距離が原因かと思い、かなり少なくしてみた所全て光る状態になりました。
その状態から少しづつ値を大きくすると遠い壁よりも真っ先に地面が光らなくなります。
遠い壁の方が地面よりも距離が遠いため、原因が皆目検討付かず困ってまして、質問しました。
Re: 3Dポイントライトの仕組みについて
Posted: 2014年2月11日(火) 22:05
by みけCAT
マルチポストをする際は、「相互」リンクをお願いします。
Re: 3Dポイントライトの仕組みについて
Posted: 2014年2月11日(火) 22:09
by coc
すみません、うっかりしておりました。
相互リンクはこれで問題無いでしょうか?
Re: 3Dポイントライトの仕組みについて
Posted: 2014年2月11日(火) 22:12
by みけCAT
相互リンクは問題ないと思いますが、この掲示板で使用する名前は統一してください。
Re: 3Dポイントライトの仕組みについて
Posted: 2014年2月11日(火) 22:52
by coc
あぁすみません・・・あちらで別の名前にて質問してしまっていたのでこちらでも同じ名前にとしましたが、またうっかりしてしまい申し訳御座いませんorz
cocで統一させて下さい。
Re: 3Dポイントライトの仕組みについて
Posted: 2014年2月11日(火) 23:06
by softya(ソフト屋)
見解としては地面の三角ポリゴンの頂点が遠いのではないでしょうか?
ライトを頂点カラーとして実装していると思います。
Re: 3Dポイントライトの仕組みについて
Posted: 2014年2月11日(火) 23:48
by coc
あぁなるほど、まさしくそれが原因です。
地面はかなり広いポリゴン平面の集合にしているため、自キャラと頂点間の距離が開き過ぎたんですね・・・。
ライトの頂点カラー?設定などは何処で行えば宜しいのでしょうか。
リファレンスにあるアンビエントカラー設定を高めに設定する事で間違いないでしょうか。
(しかしこれでは距離によらず一定の明るさになるため光の距離減衰が表現出来なさそうですが・・・。)
あるいは地面ポリゴンを細分化する事になりそうですが、これは厳しいです・・。
Re: 3Dポイントライトの仕組みについて
Posted: 2014年2月11日(火) 23:51
by softya(ソフト屋)
coc さんが書きました:あぁなるほど、まさしくそれが原因です。
地面はかなり広いポリゴン平面の集合にしているため、自キャラと頂点間の距離が開き過ぎたんですね・・・。
ライトの頂点カラー?設定などは何処で行えば宜しいのでしょうか。
リファレンスにあるアンビエントカラー設定を高めに設定する事で間違いないでしょうか。
(しかしこれでは距離によらず一定の明るさになるため光の距離減衰が表現出来なさそうですが・・・。)
あるいは地面ポリゴンを細分化する事になりそうですが、これは厳しいです・・。
頂点あるいはピクセルシェーダを使うぐらいしか思いつかないですね。
Re: 3Dポイントライトの仕組みについて
Posted: 2014年2月11日(火) 23:54
by h2so5
Re: 3Dポイントライトの仕組みについて
Posted: 2014年2月11日(火) 23:55
by softya(ソフト屋)
探そうかと思ってたところでした。やはり、ありましたね。
Re: 3Dポイントライトの仕組みについて
Posted: 2014年2月12日(水) 00:05
by coc
お二方とも有り難う御座います!
サンプルは全て目を通したつもりでしたが、なるほどピクセルシェーダーはこういう用途があったんですね。
描画処理がどうなるか少し不安ですが、試してみたいと思います。
ご回答感謝致します!