summaryrefslogtreecommitdiff
path: root/indra/llrender/llglslshader.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llrender/llglslshader.h')
-rw-r--r--indra/llrender/llglslshader.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/indra/llrender/llglslshader.h b/indra/llrender/llglslshader.h
index 75e1bdfd54..fa01d212e1 100644
--- a/indra/llrender/llglslshader.h
+++ b/indra/llrender/llglslshader.h
@@ -44,6 +44,7 @@ public:
bool hasTransport = false; // implies no lighting (it's possible to have neither though)
bool hasSkinning = false;
bool hasObjectSkinning = false;
+ bool mGLTF = false;
bool hasAtmospherics = false;
bool hasGamma = false;
bool hasShadows = false;
@@ -318,6 +319,22 @@ public:
// this pointer should be set to whichever shader represents this shader's rigged variant
LLGLSLShader* mRiggedVariant = nullptr;
+ // variants for use by GLTF renderer
+ // "this" is considered to be OPAQUE
+ enum GLTFVariant
+ {
+ STATIC_OPAQUE,
+ STATIC_BLEND,
+ RIGGED_OPAQUE,
+ RIGGED_BLEND,
+ NUM_GLTF_VARIANTS
+ };
+
+ std::vector<LLGLSLShader> mGLTFVariants;
+
+ //helper to bind GLTF variant
+ void bind(GLTFVariant variant);
+
// hacky flag used for optimization in LLDrawPoolAlpha
bool mCanBindFast = false;