aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Scripting/VectorRender (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Dump OpenSim 0.9.0.1 into it's own branch.onefang2019-05-192-74/+96
|
* Initial update to OpenSim 0.8.2.1 source code.David Walter Seikel2016-11-032-9/+17
|
* Fix issues with the DynamicTextureModule and corresponding unit tests.Diva Canto2012-11-111-16/+14
|
* One more module converted: VectorRenderModule.Diva Canto2012-11-111-27/+41
|
* Revert "Added request.Proxy=null everywhere, as discussed in ↵Diva Canto2012-09-301-1/+0
| | | | | | | | http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow." But the patch is here, in case anyone wants to try it. This reverts commit 531edd51d82ecd6a842a2611c99e9919634491ef.
* Added request.Proxy=null everywhere, as discussed in ↵Diva Canto2012-09-301-0/+1
| | | | | | http://stackoverflow.com/questions/2519655/httpwebrequest-is-extremely-slow. Thanks R.Gunther (rigun@rigutech.nl) https://lists.berlios.de/pipermail/opensim-users/2012-September/010986.html
* Lock GDI+ portion og VectorRenderModule.GetDrawStringSize() to prevent ↵Justin Clark-Casey (justincc)2012-09-281-6/+11
| | | | | | concurrent thread use provoking mono crashes. Same rationale as commit 13690582.
* If reusing dynamic textures, do not reuse small data length textures that ↵Justin Clark-Casey (justincc)2012-09-062-15/+51
| | | | | | | | | fall below current viewer discard level 2 thresholds. Viewer LL 3.3.4 and before sometimes fail to properly redisplay dynamic textures that have a small data length compared to pixel size when pulled from cache. This appears to happen when the data length is smaller than the estimate discard level 2 size the viewer uses when making this GetTexture request. This commit works around this by always regenerating dynamic textures that fall below this threshold rather than reusing them if ReuseDynamicTextures = true This can be controlled by the [Textures] ReuseDynamicLowDataTextures config setting which defaults to false.
* If the GetTexture capability receives a request for a range of data beyond ↵Justin Clark-Casey (justincc)2012-09-061-0/+20
| | | | | | | | | | that of an otherwise valid asset, return HTTP PartialContent rather than RequestedRangeNotSatisfiable. This is because recent viewers (3.2.1, 3.3.4) and probably earlier ones using the http GetTexture capability will sometimes make such invalid range requests. This appears to happen if the viewer's estimate of texture sizes at discard levels > 0 (chiefly 2) exceeds the total texture size. I believe this does not normally happen but can occur for dynamic textures with are large but mainly blank. If this happens, returning a RequestedRangeNotSatisfiable will cause the viewer to not render the texture at the final resolution. However, returning a PartialContent (or OK) even with 0 data will allow the viewer to render the final texture.
* Add experimental DynamicTextureModule.ReuseTextures flag, currently only ↵Justin Clark-Casey (justincc)2012-08-282-10/+163
| | | | | | | | | | | configurable on compile. Disabled (status quo) by default. This flag makes the dynamic texture module reuse cache previously dynamically generated textures given the same input commands and extra params for 24 hours. This occurs as long as those commands would always generate the same texture (e.g. they do not contain commands to fetch data from the web). This makes texture changing faster as a viewer-cached texture uuid is sent and may reduce simulator load in regions with generation of lots of dynamic textures. A downside is that this stops expiry of old temporary dynamic textures from the cache, Another downside is that a jpeg2000 generation that partially failed is currently not regenerated until restart or after 24 hours.
* Add IDynamicTextureManager.ConvertData() to match AsyncConvertData(). ↵Justin Clark-Casey (justincc)2012-08-281-5/+6
| | | | Remove mismatching ConvertStream() where there is no AsyncConvertStream and neither IDynamicTextureManager implementer implements this method.
* minor: Simplify return of vector render module name and some very minor ↵Justin Clark-Casey (justincc)2012-08-271-4/+3
| | | | removal of unncessary syntax clutter
* Add VectorRenderModule.TestRepeatSameDrawDifferentExtraParams()Justin Clark-Casey (justincc)2012-08-271-2/+32
|
* Add VectorRenderModuleTests.TestRepeatDrawContainingImage()Justin Clark-Casey (justincc)2012-08-271-0/+31
|
* Add VectorRenderModuleTests.TestRepeatDraw()Justin Clark-Casey (justincc)2012-08-271-11/+48
|
* Lock disposal of separate gdi+ objects under different threads since this ↵Justin Clark-Casey (justincc)2012-08-221-26/+42
| | | | | | | | | | prevents malloc heap corruption seen under Ubuntu 10.04.1 and 11.04 - probably a libcairo issue In testing, it appears that if multiple threads dispose of separate GDI+ objects simultaneously, the native malloc heap can become corrupted, possibly due to a double free(). This may be due to bugs in the underlying libcairo used by mono's libgdiplus.dll on Linux/OSX. These problems were seen with both libcario 1.10.2-6.1ubuntu3 and 1.8.10-2ubuntu1. They go away if disposal is perfomed under lock.
* Fix the recent windows compile error by putting newFont for case "R" in ↵Justin Clark-Casey (justincc)2012-08-031-3/+8
| | | | VectorRenderModule inside its own context, rather than disposing of the old font before using it as a prototype for the new.
* attempting to fix a build issueSignpostMarv2012-08-031-2/+2
| | | | Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* Properly dispose of all GDI+ entities used in VectorRenderModule for dynamic ↵Justin Clark-Casey (justincc)2012-08-031-253/+316
| | | | | | | textures. The convention is that if an object implements IDiposable() the code must explicitly call Dispose() or call it via the using statement. This may be particularly important for GDI+ objects since they encapsulate native code entities.
* Add simple draw test for the VectorRenderModuleJustin Clark-Casey (justincc)2012-08-021-0/+75
|
* Get some hopefully more useful exception information when ↵Justin Clark-Casey (justincc)2011-11-021-3/+4
| | | | OpenJPEG.EncodeFromImage() fails in VectorRender and DynamicTexture modules
* Normalization of OSSL function names.Marck2010-12-101-11/+12
| | | | | | | | | | | | | | | | | Added the following replacement functions for compliance to the OSSL standards stated on the wiki: osGetTerrainHeight osSetTerrainHeight osGetSunParam osSetSunParam osSetPenColor The functions that do not comply to the standard give a warning when used but work normally otherwise. The graphics primitive drawing command "PenColor" has also been added as well as dynamic texture parameter "bgcolor" as an alternative to "bgcolour". The following two functions have been renamed because they are not enabled yet aynway: osWindParamSet => osSetWindParam osWindParamGet => osGetWindParam
* minor: one method docJustin Clark-Casey (justincc)2010-02-041-0/+1
|
* Revert "Updates all IRegionModules to the new style region modules."Melanie2010-01-291-27/+14
| | | | This reverts commit ec3c31e61e5e540f822891110df9bc978655bbaf.
* Updates all IRegionModules to the new style region modules.Revolution2010-01-231-14/+27
| | | | Signed-off-by: Melanie <melanie@t-data.com>
* Formatting cleanup.Jeff Ames2009-10-011-4/+4
|
* oops. fixing missing argument.dr scofield (aka dirk husemann)2009-08-311-1/+1
|
* adding log message to vector render to inform about default font being useddr scofield (aka dirk husemann)2009-08-311-0/+1
|
* - making font name used by VectorRenderModule configurable: can be setdr scofield (aka dirk husemann)2009-08-311-3/+12
| | | | | | | | | | | via [VectorRender] font_name = "Comic Sans MS" in OpenSim.ini - adding osSetFontName OSSL function
* Implements osDrawPolygon, similar to already implemented osDrawFilledPolygonArthur Valadares2009-08-281-0/+6
|
* Implemented osPenCap, that sets EndCap and StartCap to Pen. This allows ↵Arthur Valadares2009-08-251-7/+70
| | | | | | using arrow, diamond, round and flat caps. * Made image request safer, if it can't find an image for any reason, draws a square where the image should be and a message alerting the user.
* Adds osDrawPolygon to OSSL. Works a little different then other OS Drawing ↵Arthur Valadares2009-08-211-11/+37
| | | | | | functions, this one has no start and end point, but a number of points that will form the desired polygon. Only FilledPolygon implemented so far. * Also added some LSL transparent type conversion, as it's done in LSL scripting (string to integer, float to string, etc)
* From: Chris Yeoh <yeohc@au1.ibm.com>Dr Scofield2009-06-031-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - fixes wild swings in memory usage related to usage of GetDrawStringSize() We've been seeing wild swings in memory usage and a large chunk of memory leak. From analysing this it's pretty clear that the mono garbage collector is rather buggy! When exercised heavily it looks like it frees more than its meant to resulting in crashes. GetDrawStringSize() measures the size in pixels of text. To do this memory for an image is allocated and used to call the GDI text measure functions. Although no reference to the temporary memory for the measuring is kept, it takes quite a while for the mono garbage collector to clean up - so if lots calls to GetDrawStringSize() are made at once there can be a spike in memory usage. If the garbage collector is not fast enough then the GDI layer runs out of memory. It also looks like the garbage collector is not always reclaiming all of the memory. I've attached an OpenSim patch which works around the garbage collector issues. Instead of dynamically allocating memory for measuring text sizes, it serialises (on a per region basis) access to a single block of memory. The effect of this is to be nicer to the garbage collector as it has a lot less work to do, at the cost of some theoretical loss in performance (nothing noticeable with our tests which hit it pretty hard). OpenSim still does leak memory slowly, but it is a lot more stable with this patch. I suspect that either the garbage collector misses bits of freed memory or the GDI/cairo layer leaks a bit each time a texture is created. Thats going to be a lot harder to hunt down, but for reference if someone has OpenSim running on Windows it would be interesting to see if it has the same problem as it would tell us if its a mono/GDI problem or an OpenSim problem.
* Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames2009-06-011-1/+1
| | | | LICENSE.txt.
* Thank you kindly, StrawberryFride, for a patch that:Charles Krinke2009-04-181-5/+10
| | | | | | | | Adds a test to see if the first option on osDynamicTextureData is "AltDelim", then picks up the first character after the whitespace and uses as a delimiter instead of ;. If this string does not appear at the start of the data, the default ; will be used, hence this should not break existing code.
* Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:Charles Krinke2009-02-221-2/+6
| | | | | | | | | * Added log4net dependency to physxplugin in prebuild.xml. * Added missing m_log fields to classes. * Replaced Console.WriteLine with appropriate m_log.Xxxx * Tested that nant test target runs succesfully. * Tested that local opensim sandbox starts up without errors.
* Update svn properties, add copyright headers, minor formatting cleanup.Jeff Ames2009-02-221-21/+21
|
* Applied patch from mantis #3217, which allows Dynamic Images of type RGB (so ↵MW2009-02-211-7/+23
| | | | with no alpha value). Thanks BlueWall.
* Update svn properties, add copyright headers, minor formatting cleanup.Jeff Ames2009-02-201-49/+43
|
* Mantis#3188. Thank you kindly, BlueWall, for a patch that:Charles Krinke2009-02-191-3/+49
| | | | | Adding the ability to set the background color for osSetDynamicTextureData in the extra data: bgcolour:value (see http://msdn.microsoft.com/en-us/library/aa358802.aspx [^] for color names)
* From: Christopher Yeoh <yeohc@au1.ibm.com>Sean Dague2009-02-181-0/+14
| | | | | | | | | | | | | | The attached patch implements osGetDrawStringSize that looks like: vector osGetDrawStringSize(string contentType, string text, string fontName, int fontSize) in LSL. It is meant to be used in conjunction with the osDraw* functions. It returns accurate information on the size that a given string will be rendered given the specified font and font size. This allows for nicely formatted and positioned text on the generated image.
* large scale fix for svn props after "the great refactor"Sean Dague2009-02-121-12/+12
|
* * optimized usings.lbsa712009-02-121-12/+12
|
* this is step 2 of 2 of the OpenSim.Region.Environment refactor.Dr Scofield2009-02-101-0/+515
NOTHING has been deleted or moved off to forge at this point. what has happened is that OpenSim.Region.Environment.Modules has been split in two: - OpenSim.Region.CoreModules: all those modules that are either directly or indirectly referenced from other OpenSim packages, or that provide functionality that the OpenSim developer community considers core functionality: CoreModules/Agent/AssetTransaction CoreModules/Agent/Capabilities CoreModules/Agent/TextureDownload CoreModules/Agent/TextureSender CoreModules/Agent/TextureSender/Tests CoreModules/Agent/Xfer CoreModules/Avatar/AvatarFactory CoreModules/Avatar/Chat/ChatModule CoreModules/Avatar/Combat CoreModules/Avatar/Currency/SampleMoney CoreModules/Avatar/Dialog CoreModules/Avatar/Friends CoreModules/Avatar/Gestures CoreModules/Avatar/Groups CoreModules/Avatar/InstantMessage CoreModules/Avatar/Inventory CoreModules/Avatar/Inventory/Archiver CoreModules/Avatar/Inventory/Transfer CoreModules/Avatar/Lure CoreModules/Avatar/ObjectCaps CoreModules/Avatar/Profiles CoreModules/Communications/Local CoreModules/Communications/REST CoreModules/Framework/EventQueue CoreModules/Framework/InterfaceCommander CoreModules/Hypergrid CoreModules/InterGrid CoreModules/Scripting/DynamicTexture CoreModules/Scripting/EMailModules CoreModules/Scripting/HttpRequest CoreModules/Scripting/LoadImageURL CoreModules/Scripting/VectorRender CoreModules/Scripting/WorldComm CoreModules/Scripting/XMLRPC CoreModules/World/Archiver CoreModules/World/Archiver/Tests CoreModules/World/Estate CoreModules/World/Land CoreModules/World/Permissions CoreModules/World/Serialiser CoreModules/World/Sound CoreModules/World/Sun CoreModules/World/Terrain CoreModules/World/Terrain/DefaultEffects CoreModules/World/Terrain/DefaultEffects/bin CoreModules/World/Terrain/DefaultEffects/bin/Debug CoreModules/World/Terrain/Effects CoreModules/World/Terrain/FileLoaders CoreModules/World/Terrain/FloodBrushes CoreModules/World/Terrain/PaintBrushes CoreModules/World/Terrain/Tests CoreModules/World/Vegetation CoreModules/World/Wind CoreModules/World/WorldMap - OpenSim.Region.OptionalModules: all those modules that are not core modules: OptionalModules/Avatar/Chat/IRC-stuff OptionalModules/Avatar/Concierge OptionalModules/Avatar/Voice/AsterixVoice OptionalModules/Avatar/Voice/SIPVoice OptionalModules/ContentManagementSystem OptionalModules/Grid/Interregion OptionalModules/Python OptionalModules/SvnSerialiser OptionalModules/World/NPC OptionalModules/World/TreePopulator