| Commit message (Collapse) | Author | Files | Lines |
|
master.
This reverts commit dfac269032300872c4d0dc507f4f9062d102b0f4, reversing
changes made to 619c39e5144f15aca129d6d999bcc5c34133ee64.
|
|
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.
|
|
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.
|
|
Remove mismatching ConvertStream() where there is no AsyncConvertStream and neither IDynamicTextureManager implementer implements this method.
|
|
|
|
|
|
|
|
This change addresses two issues:
[1] It adds a flag field to the blendface call which allows the
caller to indicate whether or not the generated asset is
temporary, and whether or not the asset being replaced should
be explicitly retired fromt the memory cache. The decimal
values correspond to:
0 - Permanent asset, do not expire old asset
1 - Permanent asset, expire old asset
2 - Temporary asset, do not expire old asset
3 - Temporary asset, expire old asset
'3' corresponds to the default behavior seen today, and is
the continued behavior of the non-blendface calls.
[2] The dynamic texture routines are highly-asynchronous and can
be scheduled simultaneously on a multi-core machine. The nature
of the texture management interfaece is such that updates may
be lost, and the nature of asynchornous operation means that
they may be processed out of order. A lock has been added to
ensure that updates are at least atomic. No attempt has been
made to enforce ordering. The lock applies to the SceneObjectPart
being updated and is held for the lifetime of the TextureEntry
used to carry texture updates (the one instance carries all
faces supported by the prim).
Users of these services should remember that the dynamic texture
call is asynchronous and control will be returned *before* the
texture update has actually occurred. As a result, a isubsequent
GetTexture call may not return the expected asset id. A script
must wait for the corresponding TEXTURE_CHANGED event before
retrieving any texture information.
|
|
LICENSE.txt.
|
|
Changes to support client-side image pre-caching in the region. This
commit adds an additional calling sequence to the DynamicTexture data
and URL calls. The new interface allows a dynamic image to be loaded
into a specific object face (rather than the mandatory ALL_SIDES
supported today.
This is in part fulfilment of ticket #458.
|
|
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.
|
|
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!
|
|
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle.
* This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big!
* Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
|
|
|
|
do some basic drawing onto textures. Currently the method the scripts have to use is most likely not the most user friendly, but this should improve soon. And hope to allow SVG files (either loaded from a web site, or even script created) to be used. I will add a page to the wiki tomorrow, until then http://www.pastebin.ca/934425 is a example c# script that can be used to get a bit of a idea.
Also added osSetDynamicTextureDataBlend and osSetDynamicTextureURLBlend that will allow the various textures to be blended together, but currently there are still a few bugs in them. So not ready for use yet.
|
|
|
|
* Shortened type references
* Removed redundant 'this' qualifier
|
|
|
|
|
|
* 'remove redundant this qualifier' ftw
|
|
|
|
Added AddDynamicTextureData() to DynamicTextureModule, so that a script (or another module even) can create a dynamic texture by passing a string with the data in, rather than a url. This could be used for anything from a script passing a basic text string (and having it rendered to a texture) or the script building its own html document.
|
|
Some more modules templates classes (hoping that someone will pick some of these and work on implementing them).
Early version of the "Dynamic Texture Module", although currently there are no render modules included (so not really functional without them).
Added osSetDynamicTextureURL script function, for attaching a dynamic texture to a prim.
Some work on the console command handling. Added "change-region <regionname>" and "exit-region" so that after the use of change-region, the commands entered will apply to that region only. Then use exit-region to return to the top level (so commands then function as they did before and either apply to all regions or to the first region) (Note: this hasn't been tested very much)
|