diff --git a/Engine/source/lighting/advanced/advancedLightBinManager.h b/Engine/source/lighting/advanced/advancedLightBinManager.h index aca1d2024..8b256f533 100644 --- a/Engine/source/lighting/advanced/advancedLightBinManager.h +++ b/Engine/source/lighting/advanced/advancedLightBinManager.h @@ -70,7 +70,7 @@ protected: GFXStateBlockRef mLitState[NUM_LIT_STATES][2]; public: - LightMatInstance(Material &mat) : Parent(mat), mLightMapParamsSC(NULL), mInternalPass(false) {} + LightMatInstance(Material &mat) : Parent(mat), mLightMapParamsSC(NULL), mInternalPass(false), mSpecialLight(NULL) {} virtual bool init( const FeatureSet &features, const GFXVertexFormat *vertexFormat ); virtual bool setupPass( SceneRenderState *state, const SceneData &sgData ); diff --git a/Engine/source/lighting/advanced/advancedLightManager.cpp b/Engine/source/lighting/advanced/advancedLightManager.cpp index bc16efe7a..00704c2bc 100644 --- a/Engine/source/lighting/advanced/advancedLightManager.cpp +++ b/Engine/source/lighting/advanced/advancedLightManager.cpp @@ -63,6 +63,9 @@ AdvancedLightManager::AdvancedLightManager() { mLightBinManager = NULL; mLastShader = NULL; + mLastConstants = NULL; + mSpherePrimitiveCount = 0; + mConePrimitiveCount = 0; mAvailableSLInterfaces = NULL; } diff --git a/Engine/source/lighting/common/blobShadow.cpp b/Engine/source/lighting/common/blobShadow.cpp index f0d87be28..34da7fcb4 100644 --- a/Engine/source/lighting/common/blobShadow.cpp +++ b/Engine/source/lighting/common/blobShadow.cpp @@ -55,7 +55,7 @@ BlobShadow::BlobShadow(SceneObject* parentObject, LightInfo* light, TSShapeInsta mRadius = 0.0f; mLastRenderTime = 0; mDepthBias = -0.0002f; - + mInvShadowDistance = 1.0f; generateGenericShadowBitmap(smGenericShadowDim); setupStateBlocks(); } diff --git a/Engine/source/lighting/common/sceneLighting.cpp b/Engine/source/lighting/common/sceneLighting.cpp index cdaf4a2b8..afc83f9ba 100644 --- a/Engine/source/lighting/common/sceneLighting.cpp +++ b/Engine/source/lighting/common/sceneLighting.cpp @@ -440,7 +440,8 @@ SceneLighting::SceneLighting(AvailableSLInterfaces* lightingInterfaces) mStartTime = 0; mFileName[0] = '\0'; mSceneManager = NULL; - + sgTimeTemp = 0; + sgTimeTemp2 = 0; // Registering vars more than once doesn't hurt anything. Con::addVariable("$sceneLighting::terminateLighting", TypeBool, &gTerminateLighting); Con::addVariable("$sceneLighting::lightingProgress", TypeF32, &gLightingProgress); @@ -1084,4 +1085,4 @@ bool SceneLighting::ObjectProxy::setPersistInfo(PersistInfo::PersistChunk * chun { mChunkCRC = chunk->mChunkCRC; return(true); -} \ No newline at end of file +} diff --git a/Engine/source/lighting/shadowMap/pssmLightShadowMap.cpp b/Engine/source/lighting/shadowMap/pssmLightShadowMap.cpp index 3bdf6a8b7..86e4bc6bc 100644 --- a/Engine/source/lighting/shadowMap/pssmLightShadowMap.cpp +++ b/Engine/source/lighting/shadowMap/pssmLightShadowMap.cpp @@ -64,8 +64,12 @@ F32 PSSMLightShadowMap::smSmallestVisiblePixelSize = 25.0f; PSSMLightShadowMap::PSSMLightShadowMap( LightInfo *light ) : LightShadowMap( light ), - mNumSplits( 1 ) -{ + mNumSplits( 1 ), + mLogWeight(0.91f) +{ + for (U32 i = 0; i <= MAX_SPLITS; i++) //% depth distance + mSplitDist[i] = mPow(F32(i/MAX_SPLITS),2.0f); + mIsViewDependent = true; } diff --git a/Engine/source/lighting/shadowMap/shadowMapPass.h b/Engine/source/lighting/shadowMap/shadowMapPass.h index d860da79b..8e1fa0ef5 100644 --- a/Engine/source/lighting/shadowMap/shadowMapPass.h +++ b/Engine/source/lighting/shadowMap/shadowMapPass.h @@ -52,7 +52,7 @@ class ShadowMapPass { public: - ShadowMapPass() {} // Only called by ConsoleSystem + ShadowMapPass() : mTimer(NULL), mLightManager(NULL), mShadowManager(NULL), mActiveLights(0), mPrevCamFov(90.0f) {} // Only called by ConsoleSystem ShadowMapPass(LightManager* LightManager, ShadowMapManager* ShadowManager); virtual ~ShadowMapPass();