Răsfoiți Sursa

Fixes linker errors when Basic Lighting is removed

chaigler 7 ani în urmă
părinte
comite
37b0ec68f7

+ 3 - 0
Engine/source/lighting/advanced/advancedLightManager.cpp

@@ -39,6 +39,9 @@
 #include "gfx/gfxCardProfile.h"
 #include "gfx/gfxTextureProfile.h"
 
+#ifndef TORQUE_BASIC_LIGHTING
+F32 AdvancedLightManager::smProjectedShadowFilterDistance = 40.0f;
+#endif
 
 ImplementEnumType( ShadowType,
    "\n\n"

+ 10 - 0
Engine/source/lighting/advanced/advancedLightManager.h

@@ -97,6 +97,10 @@ public:
 
    LightShadowMap* findShadowMapForObject( SimObject *object );
 
+#ifndef TORQUE_BASIC_LIGHTING
+   static F32 getShadowFilterDistance() { return smProjectedShadowFilterDistance; }
+#endif
+
 protected:   
 
    // LightManager
@@ -138,6 +142,12 @@ protected:
 
    LightingShaderConstants* getLightingShaderConstants(GFXShaderConstBuffer* shader);
    
+#ifndef TORQUE_BASIC_LIGHTING
+   /// This is used to determine the distance  
+   /// at which the shadow filtering PostEffect  
+   /// will be enabled for ProjectedShadow.  
+   static F32 smProjectedShadowFilterDistance;
+#endif
 };
 
 #endif // _ADVANCEDLIGHTMANAGER_H_

+ 11 - 3
Engine/source/lighting/common/projectedShadow.cpp

@@ -43,7 +43,11 @@
 #include "materials/materialFeatureTypes.h"
 #include "console/console.h"
 #include "postFx/postEffect.h"
-#include "lighting/basic/basicLightManager.h"
+#ifdef TORQUE_BASIC_LIGHTING  
+#include "lighting/basic/basicLightManager.h"  
+#else  
+#include "lighting/advanced/advancedLightManager.h"  
+#endif 
 #include "lighting/shadowMap/shadowMatHook.h"
 #include "materials/materialManager.h"
 #include "lighting/shadowMap/lightShadowMap.h"
@@ -529,8 +533,12 @@ void ProjectedShadow::_renderToTexture( F32 camDist, const TSRenderState &rdata
    mRenderTarget->resolve();
    GFX->popActiveRenderTarget();
 
-   // If we're close enough then filter the shadow.
-   if ( camDist < BasicLightManager::getShadowFilterDistance() )
+   // If we're close enough then filter the shadow.  
+#ifdef TORQUE_BASIC_LIGHTING  
+   if (camDist < BasicLightManager::getShadowFilterDistance())
+#else  
+   if (camDist < AdvancedLightManager::getShadowFilterDistance())
+#endif  
    {
       if ( !smShadowFilter )
       {