[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:00010] Re: DepthComponentFloat クラスについて



鈴村@広島市立大です。

ゼミでの中間発表の準備に追われていて返信が遅れてしまいました。
快く返答して頂いたのに返信遅れてしまってすいません。

以下、返信。

ifor さん wrote
> パースペクティブ投影を使用していると思うのですが。
> パースペクティブ投影により得られるデプスは線形ではないので
> 一次補間では求められないと思うのですが。

はい、パースペクティブ投影をしています。
なので、おっしゃる通りデプスは線形ではないです。
nearクリップ =  0.1
farクリップ  = 10.0
でビューボリュームを形成した時オブジェクトを2.0の位置に置いた場合、
返ってくるデプスは確か0.95〜0.97あたりの数字が返ってきました。
記憶が曖昧ですが、0.9 以上だったことは確かです。


えんどうさん wrote
> 具体的には、
> 
>  (1) [原点]→[farクリップ面上の特定ピクセル(に相当する点の)座標] の距離
>  (2) [原点]→[nearクリップ面上の特定ピクセル(に相当する点の)座標] の距離
> 
> を計算し、係数(0.0〜1.0にクリッピングされた値)を乗算するだけで良い気がします。

なるほど。ではそのようにやってみます。
今日は中間発表が終ったばかりで辛いので、明日あたりにでも・・・
(日曜日から4日ほど連続で学校で朝を迎えたりしたので(汗))


> このデプス値は何に使うのでしょうか。デプスソートですか?
デプスソートという用語を知らないのですが、
デプス値を元に近い順または遠い順にオブジェクトをソートするという意味でしょうか?

もしそういう意味なのであればそうではなくて、
可視領域内のある点のデプス値からその点がnearクリップからfarクリップの間の
どこに位置しているかが相対的にでも分かれば、その点が視点からどの距離に位置している
かも分かるだろうという目的でデプス値を使いたいのです。

デプス値がfloat[0,1]で線形に与えられるのであれば
nearクリップからfarクリップの間のどこに位置しているかは容易に分かりますが、
線形には与えられていない、かつどのような規則で与えられているのか分からないので、
nearクリップからfarクリップの間のどこに位置しているかを算出できない、
すなわち視点からの距離を算出できない、ということで質問した次第です。


+------------------------------------------
 広島市立大学大学院  情報科学研究科
 知能情報システム工学専攻  情報認識学講座

 鈴村 真治
 E-mail : suzu@xxxxxxxxxxxxxxxxxxxxxxxxx
+------------------------------------------