http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=3226
こちらでも質問を行っています通り、DXライブラリのライト設定についてお尋ねします。
ライトをポイントライトに設定
SetLightPosition(VAdd(vPos,VGet( 0,50,0)));
(vPosは自キャラ座標)
ライトの位置は常に自キャラの腰くらいという設定をしているつもりです。
この状態で自キャラを中心として光ってくれれば成功なのですが、地面だけが光りません。
壁に対してはしっかりライトが当たり、壁際のみうっすらと地面も光っている状態です。
光の減衰距離が原因かと思い、かなり少なくしてみた所全て光る状態になりました。
その状態から少しづつ値を大きくすると遠い壁よりも真っ先に地面が光らなくなります。
遠い壁の方が地面よりも距離が遠いため、原因が皆目検討付かず困ってまして、質問しました。
3Dポイントライトの仕組みについて
-
coc
Re: 3Dポイントライトの仕組みについて
あぁすみません・・・あちらで別の名前にて質問してしまっていたのでこちらでも同じ名前にとしましたが、またうっかりしてしまい申し訳御座いませんorz
cocで統一させて下さい。
cocで統一させて下さい。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 3Dポイントライトの仕組みについて
見解としては地面の三角ポリゴンの頂点が遠いのではないでしょうか?
ライトを頂点カラーとして実装していると思います。
ライトを頂点カラーとして実装していると思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
coc
Re: 3Dポイントライトの仕組みについて
あぁなるほど、まさしくそれが原因です。
地面はかなり広いポリゴン平面の集合にしているため、自キャラと頂点間の距離が開き過ぎたんですね・・・。
ライトの頂点カラー?設定などは何処で行えば宜しいのでしょうか。
リファレンスにあるアンビエントカラー設定を高めに設定する事で間違いないでしょうか。
(しかしこれでは距離によらず一定の明るさになるため光の距離減衰が表現出来なさそうですが・・・。)
あるいは地面ポリゴンを細分化する事になりそうですが、これは厳しいです・・。
地面はかなり広いポリゴン平面の集合にしているため、自キャラと頂点間の距離が開き過ぎたんですね・・・。
ライトの頂点カラー?設定などは何処で行えば宜しいのでしょうか。
リファレンスにあるアンビエントカラー設定を高めに設定する事で間違いないでしょうか。
(しかしこれでは距離によらず一定の明るさになるため光の距離減衰が表現出来なさそうですが・・・。)
あるいは地面ポリゴンを細分化する事になりそうですが、これは厳しいです・・。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 3Dポイントライトの仕組みについて
頂点あるいはピクセルシェーダを使うぐらいしか思いつかないですね。coc さんが書きました:あぁなるほど、まさしくそれが原因です。
地面はかなり広いポリゴン平面の集合にしているため、自キャラと頂点間の距離が開き過ぎたんですね・・・。
ライトの頂点カラー?設定などは何処で行えば宜しいのでしょうか。
リファレンスにあるアンビエントカラー設定を高めに設定する事で間違いないでしょうか。
(しかしこれでは距離によらず一定の明るさになるため光の距離減衰が表現出来なさそうですが・・・。)
あるいは地面ポリゴンを細分化する事になりそうですが、これは厳しいです・・。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 3Dポイントライトの仕組みについて
シェーダーを使う方法が公式に紹介されています。
http://homepage2.nifty.com/natupaji/DxL ... .html#R4N2
http://homepage2.nifty.com/natupaji/DxL ... .html#R4N2
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 3Dポイントライトの仕組みについて
探そうかと思ってたところでした。やはり、ありましたね。h2so5 さんが書きました:シェーダーを使う方法が公式に紹介されています。
http://homepage2.nifty.com/natupaji/DxL ... .html#R4N2
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
coc
Re: 3Dポイントライトの仕組みについて
お二方とも有り難う御座います!
サンプルは全て目を通したつもりでしたが、なるほどピクセルシェーダーはこういう用途があったんですね。
描画処理がどうなるか少し不安ですが、試してみたいと思います。
ご回答感謝致します!
サンプルは全て目を通したつもりでしたが、なるほどピクセルシェーダーはこういう用途があったんですね。
描画処理がどうなるか少し不安ですが、試してみたいと思います。
ご回答感謝致します!