diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-07-02 13:36:43 +0000 |
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-12-10 23:17:07 +0200 |
| commit | 5691d302ef876a7e6fb6861441f14e5e7f0c7735 (patch) | |
| tree | a87a93f40ca50645a194931c3bf641f01bcaf3f5 /indra/newview/llviewerobject.h | |
| parent | bb4d02446fa215520a11f219ebca453d2dea0388 (diff) | |
SL-12069 Issues with bakes-on-mesh and alpha modes
Diffstat (limited to 'indra/newview/llviewerobject.h')
| -rw-r--r-- | indra/newview/llviewerobject.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/indra/newview/llviewerobject.h b/indra/newview/llviewerobject.h index 250c4ac328..9444c4f788 100644 --- a/indra/newview/llviewerobject.h +++ b/indra/newview/llviewerobject.h @@ -768,7 +768,12 @@ protected: void unpackParticleSource(LLDataPacker &dp, const LLUUID& owner_id, bool legacy); void deleteParticleSource(); void setParticleSource(const LLPartSysData& particle_parameters, const LLUUID& owner_id); - + + // Helper function to modify alpha mask provided to render according to image (ex: RGB image will drop alpha mask) + void updateDiffuseMatParams(const U8 te, LLMaterial* mat, LLViewerTexture *imagep, bool baked_texture); + // Shared part of code from setTEImage and setTETextureCore + S32 setDiffuseImageAndParams(const U8 te, LLViewerTexture *imagep); + private: void setNameValueList(const std::string& list); // clears nv pairs and then individually adds \n separated NV pairs from \0 terminated string void deleteTEImages(); // correctly deletes list of images @@ -901,10 +906,27 @@ public: LLJointRiggingInfoTab mJointRiggingInfoTab; + bool notifyAboutCreatingTexture(LLViewerTexture *texture); + bool notifyAboutMissingAsset(LLViewerTexture *texture); + private: LLUUID mAttachmentItemID; // ItemID of the associated object is in user inventory. EObjectUpdateType mLastUpdateType; BOOL mLastUpdateCached; + + struct material_info + { + LLRender::eTexIndex map; + U8 te; + + material_info(LLRender::eTexIndex map_, U8 te_) + : map(map_) + , te(te_) + {} + }; + + typedef std::multimap<LLUUID, material_info> uuid_material_mmap_t; + uuid_material_mmap_t mWaitingTextureInfo; }; /////////////////// |
