diff options
| author | Dave Parks <davep@lindenlab.com> | 2022-10-26 16:08:28 -0500 |
|---|---|---|
| committer | Dave Parks <davep@lindenlab.com> | 2022-10-26 16:08:28 -0500 |
| commit | 8f47657d646c06dbba8d44497c0f81fd00730cc8 (patch) | |
| tree | eec5702e7dc4d83a8bf00c0c7a87272870fcec42 /indra/newview/llviewerobject.cpp | |
| parent | ed1e5214cefc5f0aeb630bf2fbcda9dff9ed8d61 (diff) | |
SL-18443 Allow nulling out of override data and implement new override message protocol.
Diffstat (limited to 'indra/newview/llviewerobject.cpp')
| -rw-r--r-- | indra/newview/llviewerobject.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index ac519970b7..7dbe0652b1 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -7115,6 +7115,20 @@ const LLUUID& LLViewerObject::getRenderMaterialID(U8 te) const void LLViewerObject::setRenderMaterialID(U8 te, const LLUUID& id, bool update_server) { + if (update_server) + { + // clear out any existing override data and render material + getTE(te)->setGLTFMaterialOverride(nullptr); + getTE(te)->setGLTFRenderMaterial(nullptr); + + LLCoros::instance().launch("modifyMaterialCoro", + std::bind(&LLGLTFMaterialList::modifyMaterialCoro, + gAgent.getRegionCapability("ModifyMaterialParams"), + llsd::map( + "object_id", getID(), + "side", te))); + } + if (id.notNull()) { getTE(te)->setGLTFMaterial(gGLTFMaterialList.getMaterial(id)); |
