| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\ |
|
| |
| |
| |
| |
| | |
sl terrain, but may break existent terrain and that may cost a lot more
than the cost of memory
|
| | |
|
| |
| |
| |
| |
| | |
suporte height from 0 to 655.53m that includes SL limits ( still need to
add code to trap eventual negative values from dbs or user input)
|
| |
| |
| |
| | |
does not compress well on island?
|
| | |
|
| |
| |
| |
| |
| |
| | |
class TerrainData
and push the implementation from Scene into the database readers and writers.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Per http://wiki.secondlife.com/wiki/Tips_for_Creating_Heightfields_and_Details_on_Terrain_RAW_Files#Notes_for_Creating_Height_Field_Maps_for_Second_Life
terrain heights up to 508 are possible on the LL grid (and were available on previous releases of OpenSimulator).
The obvious way to allow both this and equivalent -z values, is to rewiden the internal terrain height storage from short to int.
The memory tradeoff is most noticeable on the maximum 8192x8192 var region (equiv to 1024 normal regions), where it adds 128mb to resident use (128k on a normal region)
This is still better than the double used in previous releases.
This does not affect physics or data storage since they already use float and double respectively.
This may not be the final solution if we actually want to sacrifice -z, >327 or something else.
Relates to http://opensimulator.org/mantis/view.php?id=7076
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
than everytime terrain is changed.
The TerrainModule now hooks the frame event and, if terrain has changed,
sends terrain updates to the clients. This polling pattern replaces
the previous push on change pattern and will make it easier to do per
client throttling and per scene presence terrain update ordering.
|
| |
| |
| |
| |
| |
| | |
the size of the input stream. This is required since the raw heightmap
format (.r32) does not contain any size information.
The estimation relies on terrain being square.
|
| |
| |
| |
| |
| |
| | |
Modify archiver to use terrain merging when loading oars.
This makes displacement AND rotation properly work on terrain when loading oars.
Especially useful when loading legacy region oars into large varregions.
|
| |
| |
| |
| |
| | |
Implementation of same in TerrainChannel.cs.
Check for bounds in TerrainChannel[x,y] to prevent array access exceptions.
|
| |
| |
| |
| |
| |
| |
| | |
Routines in Util to compute region world coordinates from region coordinates
as well as the conversion to and from region handles. These routines have
replaced a lot of math scattered throughout the simulator.
Should be no functional changes.
|
| |
| |
| |
| |
| |
| |
| | |
stack.
Implement both LoadTerrain and StoreTerrain for all DBs.
Move all database blob serialization/deserialization into TerrainData.
|
| |
| |
| |
| |
| | |
compression base computation.
Complete replacement of float[] for terrain heightmap with TerrainData instance.
|
| |
| |
| |
| |
| | |
Constants into TerrainData.
Save compression factor with the terrain blob in the database.
|
| |
| |
| |
| | |
LLClientView to use same. This passes a terrain info class around rather than passing a one dimensional array thus allowing variable regions. Update the database storage for variable region sizes. This should be downward compatible (same format for 256x256 regions).
|
|/
|
|
|
|
|
|
|
| |
-- addition of varaible region size in X and Y
-- internal storage of heightmap changed from double[] to short[]
-- helper routines for handling internal structure while keeping existing API
-- to and from XML that adds region size information (for downward compatibility,
output in the legacy XML format if X and Y are 256)
Updated and commented Constants.RegionSize but didn't change the name for compatibility.
|
|
|
|
| |
terrain. Default is still pinhead island. I much rather have a flat land in the beginning.
|
|
|
|
|
|
| |
Util.UTF8 (not all references were switched since not all OpenSim libraries reference OpenSim.Framework)
* Shrinks the largest in-memory object, the LLRAW.HeightmapLookupValue struct (only used for exporting to LLRAW terrain files), to the minimum possible size. This seems to have the odd side effect of cutting the size of the two double[256,256] terrain objects in half. Possibly an alignment optimization?
|
|
|
|
| |
LICENSE.txt.
|
|
OpenSim.Region.Environment into a "framework" part and a modules only
part. This first changeset refactors OpenSim.Region.Environment.Scenes,
OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces
into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region
modules in OpenSim.Region.Environment.
The next step will be to move region modules up from
OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and
then sort out which modules are really core modules and which should
move out to forge.
I've been very careful to NOT BREAK anything. i hope i've
succeeded. as this is the work of a whole week i hope i managed to
keep track with the applied patches of the last week --- could any of
you that did check in stuff have a look at whether it survived? thx!
|