diff options
Diffstat (limited to 'indra/llprimitive')
| -rw-r--r-- | indra/llprimitive/llgltfmaterial.h | 17 | ||||
| -rw-r--r-- | indra/llprimitive/llprimitive.cpp | 13 | ||||
| -rw-r--r-- | indra/llprimitive/llprimitive.h | 3 | ||||
| -rw-r--r-- | indra/llprimitive/lltextureentry.cpp | 1 | ||||
| -rw-r--r-- | indra/llprimitive/lltextureentry.h | 2 | 
5 files changed, 32 insertions, 4 deletions
| diff --git a/indra/llprimitive/llgltfmaterial.h b/indra/llprimitive/llgltfmaterial.h index 9f817d6a19..9b50d16884 100644 --- a/indra/llprimitive/llgltfmaterial.h +++ b/indra/llprimitive/llgltfmaterial.h @@ -110,6 +110,17 @@ public:      static const char* const GLTF_FILE_EXTENSION_TRANSFORM_ROTATION;      static const LLUUID GLTF_OVERRIDE_NULL_UUID; +    // *TODO: If/when we implement additional GLTF extensions, they may not be +    // compatible with our GLTF terrain implementation. We may want to disallow +    // materials with some features from being set on terrain, if their +    // implementation on terrain is not compliant with the spec: +    //     - KHR_materials_transmission: Probably OK? +    //     - KHR_materials_ior: Probably OK? +    //     - KHR_materials_volume: Likely incompatible, as our terrain +    //       heightmaps cannot currently be described as finite enclosed +    //       volumes. +    // See also LLPanelRegionTerrainInfo::validateMaterials +      // get a UUID based on a hash of this LLGLTFMaterial      LLUUID getHash() const; @@ -257,10 +268,10 @@ public:      F32 mAlphaCutoff;      AlphaMode mAlphaMode; -    bool mDoubleSided; +    bool mDoubleSided = false;      // Override specific flags for state that can't use off-by-epsilon or UUID      // hack -    bool mOverrideDoubleSided; -    bool mOverrideAlphaMode; +    bool mOverrideDoubleSided = false; +    bool mOverrideAlphaMode = false;  }; diff --git a/indra/llprimitive/llprimitive.cpp b/indra/llprimitive/llprimitive.cpp index 8c9076bd8b..a4f9132ddd 100644 --- a/indra/llprimitive/llprimitive.cpp +++ b/indra/llprimitive/llprimitive.cpp @@ -1934,6 +1934,19 @@ void LLReflectionProbeParams::setIsDynamic(bool is_dynamic)      }  } + +void LLReflectionProbeParams::setIsMirror(bool is_mirror) +{ +    if (is_mirror) +    { +        mFlags |= FLAG_MIRROR; +    } +    else +    { +        mFlags &= ~FLAG_MIRROR; +    } +} +  //============================================================================  LLFlexibleObjectData::LLFlexibleObjectData()  { diff --git a/indra/llprimitive/llprimitive.h b/indra/llprimitive/llprimitive.h index 45307d567c..c4fe4fdf62 100644 --- a/indra/llprimitive/llprimitive.h +++ b/indra/llprimitive/llprimitive.h @@ -186,6 +186,7 @@ public:      {          FLAG_BOX_VOLUME     = 0x01, // use a box influence volume          FLAG_DYNAMIC        = 0x02, // render dynamic objects (avatars) into this Reflection Probe +		FLAG_MIRROR			= 0x04, // This probe is used for reflections on realtime mirrors.      };  protected: @@ -209,11 +210,13 @@ public:      void setClipDistance(F32 distance) { mClipDistance = llclamp(distance, REFLECTION_PROBE_MIN_CLIP_DISTANCE, REFLECTION_PROBE_MAX_CLIP_DISTANCE); }      void setIsBox(bool is_box);      void setIsDynamic(bool is_dynamic); +    void setIsMirror(bool is_mirror);      F32 getAmbiance() const { return mAmbiance; }      F32 getClipDistance() const { return mClipDistance; }      bool getIsBox() const { return (mFlags & FLAG_BOX_VOLUME) != 0; }      bool getIsDynamic() const { return (mFlags & FLAG_DYNAMIC) != 0; } +    bool getIsMirror() const { return (mFlags & FLAG_MIRROR) != 0; }  };  //------------------------------------------------- diff --git a/indra/llprimitive/lltextureentry.cpp b/indra/llprimitive/lltextureentry.cpp index 71caff1686..ee2a4c769a 100644 --- a/indra/llprimitive/lltextureentry.cpp +++ b/indra/llprimitive/lltextureentry.cpp @@ -685,6 +685,7 @@ S32 LLTextureEntry::setMaterialParams(const LLMaterialPtr pMaterialParams)  		mMaterialUpdatePending = true;  	}  	mMaterial = pMaterialParams; +      	return TEM_CHANGE_TEXTURE;  } diff --git a/indra/llprimitive/lltextureentry.h b/indra/llprimitive/lltextureentry.h index f5f2c0172d..0935147688 100644 --- a/indra/llprimitive/lltextureentry.h +++ b/indra/llprimitive/lltextureentry.h @@ -134,7 +134,7 @@ public:      S32  setGlow(F32 glow);  	S32  setMaterialID(const LLMaterialID& pMaterialID);  	S32  setMaterialParams(const LLMaterialPtr pMaterialParams); -	 +      	virtual const LLUUID &getID() const { return mID; }  	const LLColor4 &getColor() const { return mColor; }      const F32 getAlpha() const { return mColor.mV[VALPHA]; } | 
