godai-kaihatsu / gondwana

https://gondwana.godai.co.jp/
2 stars 0 forks source link

注視点の標高が 0 m 以下の場合に地形の LOD レベルが最大値と最小値の間で振動し実質操作不能に陥る #78

Closed usagi closed 6 years ago

usagi commented 6 years ago

4.0.0.17 では 4.0.0.18 で変更した注視点の標高処理とは別の標高処理を行っているため状況の再現には最大LODを低く設定した上で粗い頂点間で恐らく #53 と同様の状況を発生させた上で云々必要となるが、状況を再現さえすれば100%発生し、この問題は処理を変更した 4.0.0.18 ではより明瞭に単純に注視点を 0m 以下(つまり 0 も含む)とする事で容易に再現できるようになった。

状況が発生すると、例えば、最小LOD=0、最大LOD=8の設定で動作させている場合は、本来地上付近では LOD=8 となるべきところで、 0 と 8 をミリ秒程度のオーダーと思われるごく短い間隔で振動し、都度地形が再生成される負荷のため、事実上操作不能に陥る。

恐らくaltitude等のパラメーターを元に最適なLODレベルを計算する処理に数学的に単純なバグが入り込んでいるのではないか、と推量している。

usagi commented 6 years ago

標高の入力値によって除算と対数の計算に NaN が発生する可能性を排除しない実装が見つかり修正した。