These changes are only enabled if RenderNsightDebugSupport is true and eliminate use of
some OpenGL legacy functionality which is incompatible with nSight capture
(mostly glReadPixels and other fixed-function pipe rendering calls).
When wearing multiple layers of pants, the morph masks for all layers would be composited,
resulting in the smallest intersection of all layers. Instead we should only be applying the
top layer. This change will affect all consumers of the llappearance library.
Looks like we were caching bad morph masks that were generated on login. Adjusting
algorithms to always replace the cache when we have invalidated the other channels
of the baked texture.
consolidated most indra-specific constants in llcommon under indra_constants.h
fixed issues with operations on mixed unit types (implicit and explicit)
made LL_INFOS() style macros variadic in order to subsume other logging methods
such as ll_infos
added optional tag output to error recorders
Despite incrementing the COF version, beard edits were not updating the head hash.
We were not applying layers/parameters to the baked texture hashes for
layers that did not contain a user-defined image. However, many layers have standard
morph masks, etc that are affected by wearable parameters.
Edited the LLTexLayerInterface::getWearable() method to return the proper wearable type
if there is no associated local texture index, and all parameters in the wearable
refer to a particular wearable type. Should be safe even if some (but not all) params
have no wearable type defined.
moved over:
isWearingWearableType
wearable::writeToAvatar
wearable::mTEMap (stores LocalTextureObject*)
more from wearable::import/export
wearable::createVisualParams, etc