aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/TerrainData.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix issue where terrain height values > 327 caused chaotic spiked terrain.Justin Clark-Casey (justincc)2014-04-251-17/+17
| | | | | | | | | | | 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
* Change terrain update sending to be triggered by frame tick ratherRobert Adams2014-03-101-5/+46
| | | | | | | | | 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.
* clear land tainting when tested. Then testing, pass scene to LandObject as ↵Robert Adams2014-01-281-1/+5
| | | | now needed to get region size
* Fix terrain tests by properly initializing low detail terrain to zero height.Robert Adams2014-01-281-0/+1
| | | | Also remove PI heightmap test as new heightmaps only have two significant digits.
* varregion: fix GetLandObject error return and initialization of squareRobert Adams2013-11-101-2/+4
| | | | | | land object bitmaps. This fixes creation of child presences and the editing of parcels. Also lots of commented out debugging messages.
* varregion: elimination of Constants.RegionSize from all over OpenSimulator.Robert Adams2013-11-081-2/+2
| | | | | | | 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.
* varregion: properly sense size of terrain heightmap and store asRobert Adams2013-11-051-4/+15
| | | | compressed 2D database blob if a varregion.
* varregion: fix lawn-mower terrain fill so it works for non-square regions.Robert Adams2013-11-011-2/+2
| | | | Add some debugging logs on region creation to report region size.
* varregion: push TerrainData implementation up and down the database storage ↵Robert Adams2013-11-011-24/+169
| | | | | | | stack. Implement both LoadTerrain and StoreTerrain for all DBs. Move all database blob serialization/deserialization into TerrainData.
* varregion: fix problem of X/Y dimensions swapped and incorrect terrainRobert Adams2013-10-311-1/+1
| | | | | compression base computation. Complete replacement of float[] for terrain heightmap with TerrainData instance.
* varregion: move the compressed heighmap compression factor fromRobert Adams2013-10-161-13/+30
| | | | | Constants into TerrainData. Save compression factor with the terrain blob in the database.
* varregion: plug in TerrainData class and modify TerrainModule and ↵Robert Adams2013-10-071-11/+102
| | | | 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).
* varregion: add new TerrainData and TerrainCompressor routines. ↵Robert Adams2013-10-071-0/+152
TerrainCompressor needed to replace the one in libopenmetaverse that doesn't know about the larger terrain packets.