summaryrefslogtreecommitdiff
path: root/indra/newview/llface.h
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2022-03-24 14:48:06 -0500
committerDave Parks <davep@lindenlab.com>2022-03-24 14:48:06 -0500
commit41cf9fcb050b682ea8f9a855da33a246b5e169c4 (patch)
tree67d35741cb149885d30d17191a447307290cfc95 /indra/newview/llface.h
parent1d79d101ecaa0a4b365e7f28ca022c1e19a43108 (diff)
SL-17028 Fix for inconsistent ordering of transparent rigged meshes and removal of glow-only rigged meshes from depth buffer.
Diffstat (limited to 'indra/newview/llface.h')
-rw-r--r--indra/newview/llface.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/indra/newview/llface.h b/indra/newview/llface.h
index 79f50f2273..aa00c9d052 100644
--- a/indra/newview/llface.h
+++ b/indra/newview/llface.h
@@ -143,7 +143,7 @@ public:
LLViewerObject* getViewerObject() const { return mVObjp; }
S32 getLOD() const { return mVObjp.notNull() ? mVObjp->getLOD() : 0; }
void setPoolType(U32 type) { mPoolType = type; }
- S32 getTEOffset() { return mTEOffset; }
+ S32 getTEOffset() const { return mTEOffset; }
LLViewerTexture* getTexture(U32 ch = LLRender::DIFFUSE_MAP) const;
void setViewerObject(LLViewerObject* object);
@@ -233,6 +233,12 @@ public:
void notifyAboutCreatingTexture(LLViewerTexture *texture);
void notifyAboutMissingAsset(LLViewerTexture *texture);
+ // used to preserve draw order of faces that are batched together.
+ // Allows content creators to manipulate linked sets and face ordering
+ // for consistent alpha sorting results, particularly for rigged attachments
+ void setDrawOrderIndex(U32 index) { mDrawOrderIndex = index; }
+ U32 getDrawOrderIndex() const { return mDrawOrderIndex; }
+
public: //aligned members
LLVector4a mExtents[2];
@@ -305,6 +311,7 @@ private:
bool mHasMedia ;
bool mIsMediaAllowed;
+ U32 mDrawOrderIndex = 0; // see setDrawOrderIndex
protected:
static BOOL sSafeRenderSelect;