Add support for both ies and cookie

Both ies and cookies can now exist on a light

We are still not using all the capabilities of an IES profile, such as candela and luminance values we are just using them as a mask for the moment

Issues compiling on mac and linux, will need to update the ies-loader to use torque methods instead of std::
This commit is contained in:
marauder2k7 2024-02-21 07:40:57 +00:00
parent a12d915180
commit 4417462499
10 changed files with 142 additions and 27 deletions

View file

@ -99,6 +99,7 @@ struct LightingShaderConstants
GFXShaderConstHandle* mShadowMapSizeSC;
GFXShaderConstHandle* mCookieMapSC;
GFXShaderConstHandle* mIesProfileSC;
GFXShaderConstHandle* mRandomDirsConst;
GFXShaderConstHandle* mShadowSoftnessConst;
@ -289,11 +290,14 @@ public:
LightShadowMap* getOrCreateShadowMap();
bool hasCookieTex() const { return cookie != StringTable->EmptyString(); }
bool hasIesProfile() const { return iesProfile != StringTable->EmptyString(); }
GFXOcclusionQuery* getOcclusionQuery() const { return mQuery; }
GFXTextureObject* getCookieTex();
GFXTextureObject* getIesProfileTex();
GFXCubemap* getCookieCubeTex();
// Validates the parameters after a field is changed.
@ -313,6 +317,8 @@ protected:
GFXCubemapHandle mCookieCubeTex;
GFXTexHandle mIesTex;
public:
// We're leaving these public for easy access
@ -326,6 +332,7 @@ public:
///
StringTableEntry cookie;
StringTableEntry iesProfile;
/// @}