aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/TerrainChannel.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-04-25Fix issue where terrain height values > 327 caused chaotic spiked terrain.Justin Clark-Casey (justincc)1-2/+2
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
2014-03-10Change terrain update sending to be triggered by frame tick ratherRobert Adams1-11/+1
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.
2014-02-03Fix raw32 terrain heightmap reader so it estimates terrain size fromRobert Adams1-0/+4
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.
2014-02-02Implement terrain merging in TerrainChannel.Robert Adams1-0/+72
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.
2013-11-28varregion: add ITerrainChannel.GetHeightAtXYZ() for eventual mesh terrain.Robert Adams1-1/+13
Implementation of same in TerrainChannel.cs. Check for bounds in TerrainChannel[x,y] to prevent array access exceptions.
2013-11-08varregion: elimination of Constants.RegionSize from all over OpenSimulator.Robert Adams1-1/+1
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.
2013-11-01varregion: push TerrainData implementation up and down the database storage ↵Robert Adams1-6/+21
stack. Implement both LoadTerrain and StoreTerrain for all DBs. Move all database blob serialization/deserialization into TerrainData.
2013-10-31varregion: fix problem of X/Y dimensions swapped and incorrect terrainRobert Adams1-9/+11
compression base computation. Complete replacement of float[] for terrain heightmap with TerrainData instance.
2013-10-16varregion: move the compressed heighmap compression factor fromRobert Adams1-18/+6
Constants into TerrainData. Save compression factor with the terrain blob in the database.
2013-10-07varregion: plug in TerrainData class and modify TerrainModule and ↵Robert Adams1-89/+56
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).
2013-09-28varregion: serious rework of TerrainChannel:Robert Adams1-91/+189
-- 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.
2013-09-25varregion: serious rework of TerrainChannel:Robert Adams1-91/+189
-- 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.
2012-03-16Terrain: added [Terrain] section with an option to load an initial flat ↵Diva Canto1-16/+44
terrain. Default is still pinhead island. I much rather have a flat land in the beginning.
2009-10-02* Creates Util.UTF8 and switches some references of Encoding.UTF8 to ↵John Hurliman1-1/+1
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?
2009-06-01Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames1-1/+1
LICENSE.txt.
2009-02-06This changeset is the step 1 of 2 in refactoringDr Scofield1-2/+2
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!
2008-12-19* Commit patch from cmickeyb. #2871. Optimized float array for the terrain ↵Teravus Ovares1-5/+13
heightfield to reduce cpu usage on new client significantly. Thanks cmickeyb!
2008-08-07Minor formatting cleanup.Jeff Ames1-2/+2
2008-07-28* Added a check for Infinite or NaN values before updating a heightfield. ↵Adam Frisby1-0/+4
This may slow down terraforming when it debug mode - feedback appreciated.
2008-07-03* On client login, send only one terrain patch at a time (with pauses) ↵Justin Clarke Casey1-1/+1
instead of 4 at a time * Certain terrains which are fine went patches are sent singly cause a libsecondlife failure when patches are sent in batches * See http://opensimulator.org/mantis/view.php?id=1662 for more details
2008-06-25Added support for terrain map to be serialised to xml(as base64 binary). ↵MW1-0/+75
useful for places that the terrain map is needed in a serialised form. Also could add console commands to save and load from files, which should be faster than .raw files (these load/save commands are not included/implemented) Add util functions to compress and uncompress strings. Fixed a couple of modules so they use SceneCommunicationService rather than directly call functions on the CommsManager.
2008-05-09* Minor tweak to TerrainChannelAdam Frisby1-6/+7
* Minor tweak to Permissions/PermissionsModule.cs
2008-05-03* Cleaned up code in Terrain, Tree and Map modules.Adam Frisby1-5/+2
* Fixed a bug with Terragen loader where it would do bad things on a non 256x256 sized terrain. Now loads the array correctly. * Moved MapImageModule.cs to Modules/World/WorldMap * Changed Location.RegionHandle to use Helpers.GetUlong instead of doing it ourselves.
2008-05-01Update svn properties. Minor formatting cleanup.Jeff Ames1-156/+156
2008-04-30* Commiting a bunch of missed files.Adam Frisby1-0/+157