tuan kuranes
18-09-2006 12:49:30
Discusion continued from here
The problem with the "PageUpdate" method as I understand if is that it seems it cannot handle multiple changed pages (if you edit a height point that borders on four pages for example).
Ember uses it's own copy of the PLSM2 manager ( http://purple.worldforge.org/cvs/forge/ ... neManager/ ), since I needed to patch it to fix
1) ray queries on the terrain not having the distance set, so that they cannot be eaily sorted ( http://purple.worldforge.org/cvs/forge/ ... eQuery.cpp , line 111)
2) since we don't know anything about the terrain until it is sent from the server, there's a big probability for tiles that are uninitialized (with the height of 0). Since these unilitialized tiles borders on tiles that are initialized, and which might have arbitrary heights, this will make almost all of these bordering tiles having max LOD all the time. Thus I added a check for the absolute 0 value in the algorithm and skipped those cases ( http://purple.worldforge.org/cvs/forge/ ... erable.cpp line 936).
The problem with the "PageUpdate" method as I understand if is that it seems it cannot handle multiple changed pages (if you edit a height point that borders on four pages for example).
Ember uses it's own copy of the PLSM2 manager ( http://purple.worldforge.org/cvs/forge/ ... neManager/ ), since I needed to patch it to fix
1) ray queries on the terrain not having the distance set, so that they cannot be eaily sorted ( http://purple.worldforge.org/cvs/forge/ ... eQuery.cpp , line 111)
2) since we don't know anything about the terrain until it is sent from the server, there's a big probability for tiles that are uninitialized (with the height of 0). Since these unilitialized tiles borders on tiles that are initialized, and which might have arbitrary heights, this will make almost all of these bordering tiles having max LOD all the time. Thus I added a check for the absolute 0 value in the algorithm and skipped those cases ( http://purple.worldforge.org/cvs/forge/ ... erable.cpp line 936).