RenderPassManager::RenderPassManager() { mSceneManager = NULL; VECTOR_SET_ASSOCIATION( mRenderBins ); mMatrixSet = reinterpret_cast<MatrixSet *>(dMalloc_aligned(sizeof(MatrixSet), 16)); constructInPlace(mMatrixSet); }
SkyBox::SkyBox() { mTypeMask |= EnvironmentObjectType | StaticObjectType; mNetFlags.set(Ghostable | ScopeAlways); mMatName = ""; mMatInstance = NULL; mIsVBDirty = false; mDrawBottom = true; mPrimCount = 0; mFogBandHeight = 0; mMatrixSet = reinterpret_cast<MatrixSet *>(dMalloc_aligned(sizeof(MatrixSet), 16)); constructInPlace(mMatrixSet); mFogBandMat = NULL; mFogBandMatInst = NULL; }
Sun::Sun() { mNetFlags.set(Ghostable | ScopeAlways); mTypeMask = EnvironmentObjectType | LightObjectType | StaticObjectType; mLightColor.set(0.7f, 0.7f, 0.7f); mLightAmbient.set(0.3f, 0.3f, 0.3f); mBrightness = 1.0f; mSunAzimuth = 0.0f; mSunElevation = 35.0f; mCastShadows = true; mStaticRefreshFreq = 250; mDynamicRefreshFreq = 8; mAnimateSun = false; mTotalTime = 0.0f; mCurrTime = 0.0f; mStartAzimuth = 0.0f; mEndAzimuth = 0.0f; mStartElevation = 0.0f; mEndElevation = 0.0f; mLight = LightManager::createLightInfo(); mLight->setType( LightInfo::Vector ); mFlareData = NULL; mFlareState.clear(); mFlareScale = 1.0f; mCoronaEnabled = true; mCoronaScale = 0.5f; mCoronaTint.set( 1.0f, 1.0f, 1.0f, 1.0f ); mCoronaUseLightColor = true; mCoronaMatInst = NULL; mMatrixSet = reinterpret_cast<MatrixSet *>(dMalloc_aligned(sizeof(MatrixSet), 16)); constructInPlace(mMatrixSet); mCoronaWorldRadius = 0.0f; mLightWorldPos = Point3F::Zero; }
ScatterSky::ScatterSky() { mPrimCount = 0; mVertCount = 0; // Rayleigh scattering constant. mRayleighScattering = 0.0035f; mRayleighScattering4PI = mRayleighScattering * 4.0f * M_PI_F; // Mie scattering constant. mMieScattering = 0.0045f; mMieScattering4PI = mMieScattering * 4.0f * M_PI_F; // Overall scatter scalar. mSkyBrightness = 25.0f; // The Mie phase asymmetry factor. mMiePhaseAssymetry = -0.75f; mSphereInnerRadius = 1.0f; mSphereOuterRadius = 1.0f * 1.025f; mScale = 1.0f / (mSphereOuterRadius - mSphereInnerRadius); // 650 nm for red // 570 nm for green // 475 nm for blue mWavelength.set( 0.650f, 0.570f, 0.475f, 0 ); mWavelength4[0] = mPow(mWavelength[0], 4.0f); mWavelength4[1] = mPow(mWavelength[1], 4.0f); mWavelength4[2] = mPow(mWavelength[2], 4.0f); mRayleighScaleDepth = 0.25f; mMieScaleDepth = 0.1f; mAmbientColor.set( 0, 0, 0, 1.0f ); mAmbientScale.set( 1.0f, 1.0f, 1.0f, 1.0f ); mSunColor.set( 0, 0, 0, 1.0f ); mSunScale = ColorF::WHITE; mFogColor.set( 0, 0, 0, 1.0f ); mFogScale = ColorF::WHITE; mExposure = 1.0f; mNightInterpolant = 0; mShader = NULL; mTimeOfDay = 0; mSunAzimuth = 0.0f; mSunElevation = 35.0f; mMoonAzimuth = 0.0f; mMoonElevation = 45.0f; mBrightness = 1.0f; mCastShadows = true; mDirty = true; mLight = LightManager::createLightInfo(); mLight->setType( LightInfo::Vector ); mFlareData = NULL; mFlareState.clear(); mFlareScale = 1.0f; mMoonEnabled = true; mMoonScale = 0.2f; mMoonTint.set( 0.192157f, 0.192157f, 0.192157f, 1.0f ); MathUtils::getVectorFromAngles( mMoonLightDir, 0.0f, 45.0f ); mMoonLightDir.normalize(); mMoonLightDir = -mMoonLightDir; mNightCubemap = NULL; mNightColor.set( 0.0196078f, 0.0117647f, 0.109804f, 1.0f ); mNightFogColor = mNightColor; mUseNightCubemap = false; mSunSize = 1.0f; mMoonMatInst = NULL; mNetFlags.set( Ghostable | ScopeAlways ); mTypeMask |= EnvironmentObjectType | LightObjectType | StaticObjectType; _generateSkyPoints(); mMatrixSet = reinterpret_cast<MatrixSet *>(dMalloc_aligned(sizeof(MatrixSet), 16)); constructInPlace(mMatrixSet); mColorizeAmt = 0; mColorize.set(0,0,0); }
WaterObject::WaterObject() : mViscosity( 1.0f ), mDensity( 1.0f ), mReflectivity( 0.5f ), mReflectNormalUp( true ), mDistortStartDist( 0.1f ), mDistortEndDist( 20.0f ), mDistortFullDepth( 3.5f ), mUndulateMaxDist(50.0f), mOverallFoamOpacity( 1.0f ), mFoamMaxDepth( 2.0f ), mFoamAmbientLerp( 0.5f ), mFoamRippleInfluence( 0.05f ), mUnderwaterPostFx( NULL ), mLiquidType( "Water" ), mFresnelBias( 0.3f ), mFresnelPower( 6.0f ), mClarity( 0.5f ), mBasicLighting( false ), mMiscParamW( 0.0f ), mOverallWaveMagnitude( 1.0f ), mOverallRippleMagnitude( 0.1f ), mCubemap( NULL ), mSoundAmbience( NULL ), mSpecularPower( 48.0f ), mSpecularColor( 1.0f, 1.0f, 1.0f, 1.0f ), mDepthGradientMax( 50.0f ), mEmissive( false ), mUnderwaterColor(9, 6, 5, 240) { mTypeMask = WaterObjectType | StaticObjectType; for( U32 i=0; i < MAX_WAVES; i++ ) { mRippleDir[i].set( 0.0f, 0.0f ); mRippleSpeed[i] = 0.0f; mRippleTexScale[i].set( 0.0f, 0.0f ); mWaveDir[i].set( 0.0f, 0.0f ); mWaveSpeed[i] = 0.0f; mWaveMagnitude[i] = 0.0f; } for ( U32 i = 0; i < MAX_FOAM; i++ ) { mFoamDir[i].set( 0.0f, 0.0f ); mFoamSpeed[i] = 0.0f; mFoamTexScale[i].set( 0.0f, 0.0f ); mFoamOpacity[i] = 0.0f; } mFoamDir[0].set( 1, 0 ); mFoamDir[1].set( 0, 1 ); mFoamTexScale[0].set( 1, 1 ); mFoamTexScale[1].set( 3, 3 ); mRippleMagnitude[0] = 1.0f; mRippleMagnitude[1] = 1.0f; mRippleMagnitude[2] = 0.3f; mWaterFogData.density = 0.1f; mWaterFogData.densityOffset = 1.0f; mWaterFogData.wetDepth = 1.5f; mWaterFogData.wetDarkening = 0.2f; mWaterFogData.color = ColorI::BLUE; mSurfMatName[WaterMat] = "WaterMat"; mSurfMatName[UnderWaterMat] = "UnderWaterMat"; mSurfMatName[BasicWaterMat] = "WaterBasicMat"; mSurfMatName[BasicUnderWaterMat] = "UnderWaterBasicMat"; dMemset( mMatInstances, 0, sizeof(mMatInstances) ); mWaterPos.set( 0,0,0 ); mWaterPlane.set( mWaterPos, Point3F(0,0,1) ); mGenerateVB = true; mMatrixSet = reinterpret_cast<MatrixSet *>(dMalloc_aligned(sizeof(MatrixSet), 16)); constructInPlace(mMatrixSet); }