Windlight/water parameter managers now derived from standard LLSingleton instead of using some silly redundant clone.
This commit is contained in:
@@ -1387,8 +1387,6 @@ bool LLAppViewer::cleanup()
|
||||
|
||||
LLViewerObject::cleanupVOClasses();
|
||||
|
||||
LLWaterParamManager::cleanupClass();
|
||||
LLWLParamManager::cleanupClass();
|
||||
LLPostProcess::cleanupClass();
|
||||
|
||||
LLTracker::cleanupInstance();
|
||||
|
||||
@@ -114,7 +114,7 @@ void LLDrawPoolWater::prerender()
|
||||
|
||||
// got rid of modulation by light color since it got a little too
|
||||
// green at sunset and sl-57047 (underwater turns black at 8:00)
|
||||
sWaterFogColor = LLWaterParamManager::instance()->getFogColor();
|
||||
sWaterFogColor = LLWaterParamManager::getInstance()->getFogColor();
|
||||
sWaterFogColor.mV[3] = 0;
|
||||
|
||||
}
|
||||
@@ -532,7 +532,7 @@ void LLDrawPoolWater::shade()
|
||||
//bind normal map
|
||||
S32 bumpTex = shader->enableTexture(LLViewerShaderMgr::BUMP_MAP);
|
||||
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::getInstance();
|
||||
|
||||
// change mWaterNormp if needed
|
||||
if (mWaterNormp->getID() != param_mgr->getNormalMapID())
|
||||
|
||||
@@ -87,7 +87,7 @@ LLDrawPoolWLSky::LLDrawPoolWLSky(void) :
|
||||
}
|
||||
}
|
||||
|
||||
LLWLParamManager::instance()->propagateParameters();
|
||||
LLWLParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
LLDrawPoolWLSky::~LLDrawPoolWLSky()
|
||||
@@ -202,7 +202,7 @@ void LLDrawPoolWLSky::renderStars(void) const
|
||||
// clamping and allow the star_alpha param to brighten the stars.
|
||||
bool error;
|
||||
LLColor4 star_alpha(LLColor4::black);
|
||||
star_alpha.mV[3] = LLWLParamManager::instance()->mCurParams.getFloat("star_brightness", error) / 2.f;
|
||||
star_alpha.mV[3] = LLWLParamManager::getInstance()->mCurParams.getFloat("star_brightness", error) / 2.f;
|
||||
llassert_always(!error);
|
||||
|
||||
// gl_FragColor.rgb = gl_Color.rgb;
|
||||
@@ -316,7 +316,7 @@ void LLDrawPoolWLSky::renderDeferred(S32 pass)
|
||||
}
|
||||
LLFastTimer ftm(LLFastTimer::FTM_RENDER_WL_SKY);
|
||||
|
||||
const F32 camHeightLocal = LLWLParamManager::instance()->getDomeOffset() * LLWLParamManager::instance()->getDomeRadius();
|
||||
const F32 camHeightLocal = LLWLParamManager::getInstance()->getDomeOffset() * LLWLParamManager::getInstance()->getDomeRadius();
|
||||
|
||||
LLGLSNoFog disableFog;
|
||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
|
||||
@@ -363,7 +363,7 @@ void LLDrawPoolWLSky::render(S32 pass)
|
||||
}
|
||||
LLFastTimer ftm(LLFastTimer::FTM_RENDER_WL_SKY);
|
||||
|
||||
const F32 camHeightLocal = LLWLParamManager::instance()->getDomeOffset() * LLWLParamManager::instance()->getDomeRadius();
|
||||
const F32 camHeightLocal = LLWLParamManager::getInstance()->getDomeOffset() * LLWLParamManager::getInstance()->getDomeRadius();
|
||||
|
||||
LLGLSNoFog disableFog;
|
||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
|
||||
|
||||
@@ -160,7 +160,7 @@ BOOL LLDriverParam::parseData(LLXmlTreeNode* node)
|
||||
}
|
||||
#endif
|
||||
|
||||
void LLDriverParam::setWeight(F32 weight, BOOL set_by_user)
|
||||
void LLDriverParam::setWeight(F32 weight, BOOL upload_bake)
|
||||
{
|
||||
F32 min_weight = getMinWeight();
|
||||
F32 max_weight = getMaxWeight();
|
||||
@@ -219,7 +219,7 @@ void LLDriverParam::setWeight(F32 weight, BOOL set_by_user)
|
||||
driven_weight = driven_min;
|
||||
}
|
||||
|
||||
driven->mParam->setWeight( driven_weight, set_by_user );
|
||||
setDrivenWeight(driven,driven_weight,upload_bake);
|
||||
continue;
|
||||
}
|
||||
else
|
||||
@@ -243,13 +243,13 @@ void LLDriverParam::setWeight(F32 weight, BOOL set_by_user)
|
||||
driven_weight = driven_min;
|
||||
}
|
||||
|
||||
driven->mParam->setWeight( driven_weight, set_by_user );
|
||||
setDrivenWeight(driven,driven_weight,upload_bake);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
driven_weight = getDrivenWeight(driven, mCurWeight);
|
||||
driven->mParam->setWeight( driven_weight, set_by_user );
|
||||
setDrivenWeight(driven,driven_weight,upload_bake);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -379,9 +379,9 @@ const LLVector3* LLDriverParam::getNextDistortion(U32 *index, LLPolyMesh **poly_
|
||||
//-----------------------------------------------------------------------------
|
||||
// setAnimationTarget()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLDriverParam::setAnimationTarget( F32 target_value, BOOL set_by_user )
|
||||
void LLDriverParam::setAnimationTarget( F32 target_value, BOOL upload_bake )
|
||||
{
|
||||
LLVisualParam::setAnimationTarget(target_value, set_by_user);
|
||||
LLVisualParam::setAnimationTarget(target_value, upload_bake);
|
||||
|
||||
for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ )
|
||||
{
|
||||
@@ -390,16 +390,16 @@ void LLDriverParam::setAnimationTarget( F32 target_value, BOOL set_by_user )
|
||||
|
||||
// this isn't normally necessary, as driver params handle interpolation of their driven params
|
||||
// but texture params need to know to assume their final value at beginning of interpolation
|
||||
driven->mParam->setAnimationTarget(driven_weight, set_by_user);
|
||||
driven->mParam->setAnimationTarget(driven_weight, upload_bake);
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// stopAnimating()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLDriverParam::stopAnimating(BOOL set_by_user)
|
||||
void LLDriverParam::stopAnimating(BOOL upload_bake)
|
||||
{
|
||||
LLVisualParam::stopAnimating(set_by_user);
|
||||
LLVisualParam::stopAnimating(upload_bake);
|
||||
|
||||
for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ )
|
||||
{
|
||||
@@ -464,3 +464,19 @@ F32 LLDriverParam::getDrivenWeight(const LLDrivenEntry* driven, F32 input_weight
|
||||
|
||||
return driven_weight;
|
||||
}
|
||||
|
||||
void LLDriverParam::setDrivenWeight(LLDrivenEntry *driven, F32 driven_weight, bool upload_bake)
|
||||
{
|
||||
/*if(isAgentAvatarValid() &&
|
||||
mWearablep &&
|
||||
driven->mParam->getCrossWearable() &&
|
||||
mWearablep->isOnTop())
|
||||
{
|
||||
// call setWeight through LLVOAvatarSelf so other wearables can be updated with the correct values
|
||||
gAgentAvatarp->setVisualParamWeight( (LLVisualParam*)driven->mParam, driven_weight, upload_bake );
|
||||
}
|
||||
else*/
|
||||
{
|
||||
driven->mParam->setWeight( driven_weight, upload_bake );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,9 +92,9 @@ public:
|
||||
// LLVisualParam Virtual functions
|
||||
///*virtual*/ BOOL parseData(LLXmlTreeNode* node);
|
||||
/*virtual*/ void apply( ESex sex ) {} // apply is called separately for each driven param.
|
||||
/*virtual*/ void setWeight(F32 weight, BOOL set_by_user);
|
||||
/*virtual*/ void setAnimationTarget( F32 target_value, BOOL set_by_user );
|
||||
/*virtual*/ void stopAnimating(BOOL set_by_user);
|
||||
/*virtual*/ void setWeight(F32 weight, BOOL upload_bake);
|
||||
/*virtual*/ void setAnimationTarget( F32 target_value, BOOL upload_bake );
|
||||
/*virtual*/ void stopAnimating(BOOL upload_bake);
|
||||
|
||||
// LLViewerVisualParam Virtual functions
|
||||
/*virtual*/ F32 getTotalDistortion();
|
||||
@@ -103,8 +103,10 @@ public:
|
||||
/*virtual*/ LLVector3 getVertexDistortion(S32 index, LLPolyMesh *poly_mesh);
|
||||
/*virtual*/ const LLVector3* getFirstDistortion(U32 *index, LLPolyMesh **poly_mesh);
|
||||
/*virtual*/ const LLVector3* getNextDistortion(U32 *index, LLPolyMesh **poly_mesh);
|
||||
|
||||
protected:
|
||||
F32 getDrivenWeight(const LLDrivenEntry* driven, F32 input_weight);
|
||||
void setDrivenWeight(LLDrivenEntry *driven, F32 driven_weight, bool upload_bake);
|
||||
|
||||
|
||||
LLVector3 mDefaultVec; // temp holder
|
||||
|
||||
@@ -77,9 +77,9 @@ LLFloaterDayCycle::LLFloaterDayCycle() : LLFloater(std::string("Day Cycle Floate
|
||||
|
||||
if(keyCombo != NULL)
|
||||
{
|
||||
std::map<std::string, LLWLParamSet>::iterator mIt =
|
||||
LLWLParamManager::instance()->mParamList.begin();
|
||||
for(; mIt != LLWLParamManager::instance()->mParamList.end(); mIt++)
|
||||
std::map<std::string, LLWLParamSet>::const_iterator mIt =
|
||||
LLWLParamManager::getInstance()->getPresets().begin();
|
||||
for(; mIt != LLWLParamManager::getInstance()->getPresets().end(); mIt++)
|
||||
{
|
||||
keyCombo->add(std::string(mIt->first));
|
||||
}
|
||||
@@ -181,11 +181,11 @@ void LLFloaterDayCycle::initCallbacks(void)
|
||||
|
||||
void LLFloaterDayCycle::syncMenu()
|
||||
{
|
||||
// std::map<std::string, LLVector4> & currentParams = LLWLParamManager::instance()->mCurParams.mParamValues;
|
||||
// std::map<std::string, LLVector4> & currentParams = LLWLParamManager::getInstance()->mCurParams.mParamValues;
|
||||
|
||||
// set time
|
||||
LLMultiSliderCtrl* sldr = LLFloaterDayCycle::sDayCycle->getChild<LLMultiSliderCtrl>("WLTimeSlider");
|
||||
sldr->setCurSliderValue((F32)LLWLParamManager::instance()->mAnimator.getDayTime() * sHoursPerDay);
|
||||
sldr->setCurSliderValue((F32)LLWLParamManager::getInstance()->mAnimator.getDayTime() * sHoursPerDay);
|
||||
|
||||
LLSpinCtrl* secSpin = sDayCycle->getChild<LLSpinCtrl>("WLLengthOfDaySec");
|
||||
LLSpinCtrl* minSpin = sDayCycle->getChild<LLSpinCtrl>("WLLengthOfDayMin");
|
||||
@@ -195,7 +195,7 @@ void LLFloaterDayCycle::syncMenu()
|
||||
F32 hours, min, sec;
|
||||
|
||||
// get the current rate
|
||||
curRate = LLWLParamManager::instance()->mDay.mDayRate;
|
||||
curRate = LLWLParamManager::getInstance()->mDay.mDayRate;
|
||||
hours = (F32)((int)(curRate / 60 / 60));
|
||||
curRate -= (hours * 60 * 60);
|
||||
min = (F32)((int)(curRate / 60));
|
||||
@@ -207,7 +207,7 @@ void LLFloaterDayCycle::syncMenu()
|
||||
secSpin->setValue(sec);
|
||||
|
||||
// turn off Use Estate Time button if it's already being used
|
||||
if( LLWLParamManager::instance()->mAnimator.mUseLindenTime == true)
|
||||
if( LLWLParamManager::getInstance()->mAnimator.mUseLindenTime == true)
|
||||
{
|
||||
LLFloaterDayCycle::sDayCycle->childDisable("WLUseLindenTime");
|
||||
}
|
||||
@@ -227,8 +227,8 @@ void LLFloaterDayCycle::syncSliderTrack()
|
||||
|
||||
// add sliders
|
||||
std::map<F32, std::string>::iterator mIt =
|
||||
LLWLParamManager::instance()->mDay.mTimeMap.begin();
|
||||
for(; mIt != LLWLParamManager::instance()->mDay.mTimeMap.end(); mIt++)
|
||||
LLWLParamManager::getInstance()->mDay.mTimeMap.begin();
|
||||
for(; mIt != LLWLParamManager::getInstance()->mDay.mTimeMap.end(); mIt++)
|
||||
{
|
||||
addSliderKey(mIt->first * sHoursPerDay, mIt->second);
|
||||
}
|
||||
@@ -252,22 +252,22 @@ void LLFloaterDayCycle::syncTrack()
|
||||
"WLTimeSlider");
|
||||
|
||||
// create a new animation track
|
||||
LLWLParamManager::instance()->mDay.clearKeys();
|
||||
LLWLParamManager::getInstance()->mDay.clearKeys();
|
||||
|
||||
// add the keys one by one
|
||||
std::map<std::string, LLWLSkyKey>::iterator mIt = sSliderToKey.begin();
|
||||
for(; mIt != sSliderToKey.end(); mIt++)
|
||||
{
|
||||
LLWLParamManager::instance()->mDay.addKey(mIt->second.time / sHoursPerDay,
|
||||
LLWLParamManager::getInstance()->mDay.addKey(mIt->second.time / sHoursPerDay,
|
||||
mIt->second.presetName);
|
||||
}
|
||||
|
||||
// set the param manager's track to the new one
|
||||
LLWLParamManager::instance()->resetAnimator(
|
||||
LLWLParamManager::getInstance()->resetAnimator(
|
||||
tSldr->getCurSliderValue() / sHoursPerDay, false);
|
||||
|
||||
LLWLParamManager::instance()->mAnimator.update(
|
||||
LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->mAnimator.update(
|
||||
LLWLParamManager::getInstance()->mCurParams);
|
||||
}
|
||||
|
||||
// static
|
||||
@@ -339,7 +339,7 @@ void LLFloaterDayCycle::onSavePreset(void* userData)
|
||||
return;
|
||||
}
|
||||
|
||||
LLWLParamManager::instance()->mCurParams.mName =
|
||||
LLWLParamManager::getInstance()->mCurParams.mName =
|
||||
comboBox->getSelectedItemLabel();
|
||||
|
||||
LLNotifications::instance().add("WLSavePresetAlert", LLSD(), LLSD(), saveAlertCallback);
|
||||
@@ -353,7 +353,7 @@ bool LLFloaterDayCycle::saveAlertCallback(const LLSD& notification, const LLSD&
|
||||
{
|
||||
LLComboBox* combo_box = sDayCycle->getChild<LLComboBox>("DayCyclePresetsCombo");
|
||||
// comment this back in to save to file
|
||||
LLWLParamManager::instance()->mDay.saveDayCycle(combo_box->getSelectedValue().asString());
|
||||
LLWLParamManager::getInstance()->mDay.saveDayCycle(combo_box->getSelectedValue().asString());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -483,7 +483,7 @@ bool LLFloaterDayCycle::newPromptCallback(const LLSD& notification, const LLSD&
|
||||
keyCombo->add(text);
|
||||
keyCombo->sortByName();
|
||||
}
|
||||
LLWLParamManager::instance()->mDay.saveDayCycle(text);
|
||||
LLWLParamManager::getInstance()->mDay.saveDayCycle(text);
|
||||
|
||||
// otherwise, send a message to the user
|
||||
}
|
||||
@@ -505,7 +505,7 @@ void LLFloaterDayCycle::onChangePresetName(LLUICtrl* ctrl, void * userData)
|
||||
return;
|
||||
}
|
||||
|
||||
LLWLParamManager::instance()->mDay.loadDayCycle(combo_box->getSelectedValue().asString());
|
||||
LLWLParamManager::getInstance()->mDay.loadDayCycle(combo_box->getSelectedValue().asString());
|
||||
gSavedSettings.setString("AscentActiveDayCycle", combo_box->getSelectedValue().asString());
|
||||
// sync it all up
|
||||
syncSliderTrack();
|
||||
@@ -515,12 +515,12 @@ void LLFloaterDayCycle::onChangePresetName(LLUICtrl* ctrl, void * userData)
|
||||
LLMultiSliderCtrl* tSldr;
|
||||
tSldr = sDayCycle->getChild<LLMultiSliderCtrl>(
|
||||
"WLTimeSlider");
|
||||
LLWLParamManager::instance()->resetAnimator(
|
||||
LLWLParamManager::getInstance()->resetAnimator(
|
||||
tSldr->getCurSliderValue() / sHoursPerDay, false);
|
||||
|
||||
// and draw it
|
||||
LLWLParamManager::instance()->mAnimator.update(
|
||||
LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->mAnimator.update(
|
||||
LLWLParamManager::getInstance()->mCurParams);
|
||||
}
|
||||
|
||||
void LLFloaterDayCycle::onRunAnimSky(void* userData)
|
||||
@@ -539,13 +539,13 @@ void LLFloaterDayCycle::onRunAnimSky(void* userData)
|
||||
tSldr = sDayCycle->getChild<LLMultiSliderCtrl>("WLTimeSlider");
|
||||
|
||||
// turn off linden time
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
|
||||
// set the param manager's track to the new one
|
||||
LLWLParamManager::instance()->resetAnimator(
|
||||
LLWLParamManager::getInstance()->resetAnimator(
|
||||
tSldr->getCurSliderValue() / sHoursPerDay, true);
|
||||
|
||||
llassert_always(LLWLParamManager::instance()->mAnimator.mTimeTrack.size() == sldr->getValue().size());
|
||||
llassert_always(LLWLParamManager::getInstance()->mAnimator.mTimeTrack.size() == sldr->getValue().size());
|
||||
}
|
||||
|
||||
void LLFloaterDayCycle::onStopAnimSky(void* userData)
|
||||
@@ -556,8 +556,8 @@ void LLFloaterDayCycle::onStopAnimSky(void* userData)
|
||||
}
|
||||
|
||||
// turn off animation and using linden time
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
}
|
||||
|
||||
void LLFloaterDayCycle::onUseLindenTime(void* userData)
|
||||
@@ -566,13 +566,13 @@ void LLFloaterDayCycle::onUseLindenTime(void* userData)
|
||||
LLComboBox* box = dc->getChild<LLComboBox>("DayCyclePresetsCombo");
|
||||
box->selectByValue("");
|
||||
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = true;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = true;
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = true;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = true;
|
||||
}
|
||||
|
||||
void LLFloaterDayCycle::onLoadDayCycle(void* userData)
|
||||
{
|
||||
//LLWLParamManager::instance()->mDay.loadDayCycle("Default.xml");
|
||||
//LLWLParamManager::getInstance()->mDay.loadDayCycle("Default.xml");
|
||||
|
||||
// sync it all up
|
||||
syncSliderTrack();
|
||||
@@ -582,17 +582,17 @@ void LLFloaterDayCycle::onLoadDayCycle(void* userData)
|
||||
LLMultiSliderCtrl* tSldr;
|
||||
tSldr = sDayCycle->getChild<LLMultiSliderCtrl>(
|
||||
"WLTimeSlider");
|
||||
LLWLParamManager::instance()->resetAnimator(
|
||||
LLWLParamManager::getInstance()->resetAnimator(
|
||||
tSldr->getCurSliderValue() / sHoursPerDay, false);
|
||||
|
||||
// and draw it
|
||||
LLWLParamManager::instance()->mAnimator.update(
|
||||
LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->mAnimator.update(
|
||||
LLWLParamManager::getInstance()->mCurParams);
|
||||
}
|
||||
|
||||
void LLFloaterDayCycle::onSaveDayCycle(void* userData)
|
||||
{
|
||||
//LLWLParamManager::instance()->mDay.saveDayCycle("Default.xml");
|
||||
//LLWLParamManager::getInstance()->mDay.saveDayCycle("Default.xml");
|
||||
}
|
||||
|
||||
|
||||
@@ -605,13 +605,13 @@ void LLFloaterDayCycle::onTimeSliderMoved(LLUICtrl* ctrl, void* userData)
|
||||
F32 val = sldr->getCurSliderValue() / sHoursPerDay;
|
||||
|
||||
// set the value, turn off animation
|
||||
LLWLParamManager::instance()->mAnimator.setDayTime((F64)val);
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.setDayTime((F64)val);
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
|
||||
// then call update once
|
||||
LLWLParamManager::instance()->mAnimator.update(
|
||||
LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->mAnimator.update(
|
||||
LLWLParamManager::getInstance()->mCurParams);
|
||||
}
|
||||
|
||||
void LLFloaterDayCycle::onKeyTimeMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -736,7 +736,7 @@ void LLFloaterDayCycle::onTimeRateChanged(LLUICtrl* ctrl, void* userData)
|
||||
if(time <= 0) {
|
||||
time = 1;
|
||||
}
|
||||
LLWLParamManager::instance()->mDay.mDayRate = time;
|
||||
LLWLParamManager::getInstance()->mDay.mDayRate = time;
|
||||
|
||||
syncTrack();
|
||||
}
|
||||
|
||||
@@ -79,11 +79,11 @@ void LLFloaterEnvSettings::initCallbacks(void)
|
||||
childSetCommitCallback("EnvTimeSlider", onChangeDayTime, NULL);
|
||||
childSetCommitCallback("EnvCloudSlider", onChangeCloudCoverage, NULL);
|
||||
childSetCommitCallback("EnvWaterFogSlider", onChangeWaterFogDensity,
|
||||
&LLWaterParamManager::instance()->mFogDensity);
|
||||
&LLWaterParamManager::getInstance()->mFogDensity);
|
||||
|
||||
// color picker
|
||||
childSetCommitCallback("EnvWaterColor", onChangeWaterColor,
|
||||
&LLWaterParamManager::instance()->mFogColor);
|
||||
&LLWaterParamManager::getInstance()->mFogColor);
|
||||
|
||||
// WL Top
|
||||
childSetAction("EnvAdvancedSkyButton", onOpenAdvancedSky, NULL);
|
||||
@@ -102,7 +102,7 @@ void LLFloaterEnvSettings::syncMenu()
|
||||
sldr = sEnvSettings->getChild<LLSliderCtrl>("EnvTimeSlider");
|
||||
|
||||
// sync the clock
|
||||
F32 val = (F32)LLWLParamManager::instance()->mAnimator.getDayTime();
|
||||
F32 val = (F32)LLWLParamManager::getInstance()->mAnimator.getDayTime();
|
||||
std::string timeStr = timeToString(val);
|
||||
|
||||
LLTextBox* textBox;
|
||||
@@ -120,9 +120,9 @@ void LLFloaterEnvSettings::syncMenu()
|
||||
|
||||
// sync cloud coverage
|
||||
bool err;
|
||||
childSetValue("EnvCloudSlider", LLWLParamManager::instance()->mCurParams.getFloat("cloud_shadow", err));
|
||||
childSetValue("EnvCloudSlider", LLWLParamManager::getInstance()->mCurParams.getFloat("cloud_shadow", err));
|
||||
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::getInstance();
|
||||
// sync water params
|
||||
LLColor4 col = param_mgr->getFogColor();
|
||||
LLColorSwatchCtrl* colCtrl = sEnvSettings->getChild<LLColorSwatchCtrl>("EnvWaterColor");
|
||||
@@ -133,7 +133,7 @@ void LLFloaterEnvSettings::syncMenu()
|
||||
param_mgr->setDensitySliderValue(param_mgr->mFogDensity.mExp);
|
||||
|
||||
// turn off Use Estate Time button if it's already being used
|
||||
if(LLWLParamManager::instance()->mAnimator.mUseLindenTime)
|
||||
if(LLWLParamManager::getInstance()->mAnimator.mUseLindenTime)
|
||||
{
|
||||
childDisable("EnvUseEstateTimeButton");
|
||||
} else {
|
||||
@@ -218,8 +218,8 @@ void LLFloaterEnvSettings::onChangeDayTime(LLUICtrl* ctrl, void* userData)
|
||||
sldr = sEnvSettings->getChild<LLSliderCtrl>("EnvTimeSlider");
|
||||
|
||||
// deactivate animator
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
|
||||
F32 val = sldr->getValueF32() + 0.25f;
|
||||
if(val > 1.0)
|
||||
@@ -227,9 +227,9 @@ void LLFloaterEnvSettings::onChangeDayTime(LLUICtrl* ctrl, void* userData)
|
||||
val--;
|
||||
}
|
||||
|
||||
LLWLParamManager::instance()->mAnimator.setDayTime((F64)val);
|
||||
LLWLParamManager::instance()->mAnimator.update(
|
||||
LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->mAnimator.setDayTime((F64)val);
|
||||
LLWLParamManager::getInstance()->mAnimator.update(
|
||||
LLWLParamManager::getInstance()->mCurParams);
|
||||
}
|
||||
|
||||
void LLFloaterEnvSettings::onChangeCloudCoverage(LLUICtrl* ctrl, void* userData)
|
||||
@@ -238,11 +238,11 @@ void LLFloaterEnvSettings::onChangeCloudCoverage(LLUICtrl* ctrl, void* userData)
|
||||
sldr = sEnvSettings->getChild<LLSliderCtrl>("EnvCloudSlider");
|
||||
|
||||
// deactivate animator
|
||||
//LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
//LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
//LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
//LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
|
||||
F32 val = sldr->getValueF32();
|
||||
LLWLParamManager::instance()->mCurParams.set("cloud_shadow", val);
|
||||
LLWLParamManager::getInstance()->mCurParams.set("cloud_shadow", val);
|
||||
}
|
||||
|
||||
void LLFloaterEnvSettings::onChangeWaterFogDensity(LLUICtrl* ctrl, void* userData)
|
||||
@@ -259,10 +259,10 @@ void LLFloaterEnvSettings::onChangeWaterFogDensity(LLUICtrl* ctrl, void* userDat
|
||||
|
||||
F32 val = sldr->getValueF32();
|
||||
expFloatControl->mExp = val;
|
||||
LLWaterParamManager::instance()->setDensitySliderValue(val);
|
||||
LLWaterParamManager::getInstance()->setDensitySliderValue(val);
|
||||
|
||||
expFloatControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
expFloatControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterEnvSettings::onChangeWaterColor(LLUICtrl* ctrl, void* userData)
|
||||
@@ -271,8 +271,8 @@ void LLFloaterEnvSettings::onChangeWaterColor(LLUICtrl* ctrl, void* userData)
|
||||
WaterColorControl * colorControl = static_cast<WaterColorControl *>(userData);
|
||||
*colorControl = swatch->get();
|
||||
|
||||
colorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
colorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
|
||||
@@ -290,7 +290,7 @@ void LLFloaterEnvSettings::onSubmitWindlight(void* userData)
|
||||
{
|
||||
Meta7WindlightPacket * wl = new Meta7WindlightPacket();
|
||||
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::getInstance();
|
||||
wl->reflectionWaveletScale.X = param_mgr->mNormalScale.mX;
|
||||
wl->reflectionWaveletScale.Y = param_mgr->mNormalScale.mY;
|
||||
wl->reflectionWaveletScale.Z = param_mgr->mNormalScale.mZ;
|
||||
@@ -311,8 +311,8 @@ void LLFloaterEnvSettings::onUseEstateTime(void* userData)
|
||||
box->selectByValue("");
|
||||
}
|
||||
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = true;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = true;
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = true;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = true;
|
||||
}
|
||||
|
||||
std::string LLFloaterEnvSettings::timeToString(F32 curTime)
|
||||
|
||||
@@ -74,9 +74,9 @@ LLFloaterWater::LLFloaterWater() : LLFloater(std::string("water floater"))
|
||||
|
||||
if(comboBox != NULL) {
|
||||
|
||||
std::map<std::string, LLWaterParamSet>::iterator mIt =
|
||||
LLWaterParamManager::instance()->mParamList.begin();
|
||||
for(; mIt != LLWaterParamManager::instance()->mParamList.end(); mIt++)
|
||||
std::map<std::string, LLWaterParamSet>::const_iterator mIt =
|
||||
LLWaterParamManager::getInstance()->getPresets().begin();
|
||||
for(; mIt != LLWaterParamManager::getInstance()->getPresets().end(); mIt++)
|
||||
{
|
||||
comboBox->add(mIt->first);
|
||||
}
|
||||
@@ -123,7 +123,7 @@ void LLFloaterWater::initCallbacks(void) {
|
||||
initHelpBtn("WaterWave1Help", "HelpWaterWave1");
|
||||
initHelpBtn("WaterWave2Help", "HelpWaterWave2");
|
||||
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::getInstance();
|
||||
|
||||
childSetCommitCallback("WaterFogColor", onWaterFogColorMoved, ¶m_mgr->mFogColor);
|
||||
|
||||
@@ -197,15 +197,15 @@ bool LLFloaterWater::newPromptCallback(const LLSD& notification, const LLSD& res
|
||||
if(option == 0) {
|
||||
LLComboBox* comboBox = sWaterMenu->getChild<LLComboBox>( "WaterPresetsCombo");
|
||||
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::getInstance();
|
||||
|
||||
// add the current parameters to the list
|
||||
// see if it's there first
|
||||
std::map<std::string, LLWaterParamSet>::iterator mIt =
|
||||
param_mgr->mParamList.find(text);
|
||||
std::map<std::string, LLWaterParamSet>::const_iterator mIt =
|
||||
param_mgr->getPresets().find(text);
|
||||
|
||||
// if not there, add a new one
|
||||
if(mIt == param_mgr->mParamList.end())
|
||||
if(mIt == param_mgr->getPresets().end())
|
||||
{
|
||||
param_mgr->addParamSet(text, param_mgr->mCurParams);
|
||||
comboBox->add(text);
|
||||
@@ -229,7 +229,7 @@ void LLFloaterWater::syncMenu()
|
||||
{
|
||||
bool err;
|
||||
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::getInstance();
|
||||
|
||||
LLWaterParamSet & current_params = param_mgr->mCurParams;
|
||||
|
||||
@@ -337,9 +337,9 @@ void LLFloaterWater::onVector3ControlXMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
vectorControl->mX = sldrCtrl->getValueF32();
|
||||
|
||||
vectorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
vectorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
// vector control callbacks
|
||||
@@ -350,9 +350,9 @@ void LLFloaterWater::onVector3ControlYMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
vectorControl->mY = sldrCtrl->getValueF32();
|
||||
|
||||
vectorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
vectorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
// vector control callbacks
|
||||
@@ -363,9 +363,9 @@ void LLFloaterWater::onVector3ControlZMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
vectorControl->mZ = sldrCtrl->getValueF32();
|
||||
|
||||
vectorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
vectorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
|
||||
@@ -377,9 +377,9 @@ void LLFloaterWater::onVector2ControlXMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
vectorControl->mX = sldrCtrl->getValueF32();
|
||||
|
||||
vectorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
vectorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
// vector control callbacks
|
||||
@@ -390,9 +390,9 @@ void LLFloaterWater::onVector2ControlYMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
vectorControl->mY = sldrCtrl->getValueF32();
|
||||
|
||||
vectorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
vectorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
// color control callbacks
|
||||
@@ -415,9 +415,9 @@ void LLFloaterWater::onColorControlRMoved(LLUICtrl* ctrl, void* userData)
|
||||
sWaterMenu->childSetValue(name, colorControl->mR);
|
||||
}
|
||||
|
||||
colorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
colorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWater::onColorControlGMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -440,9 +440,9 @@ void LLFloaterWater::onColorControlGMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
}
|
||||
|
||||
colorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
colorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWater::onColorControlBMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -464,9 +464,9 @@ void LLFloaterWater::onColorControlBMoved(LLUICtrl* ctrl, void* userData)
|
||||
sWaterMenu->childSetValue(name, colorControl->mB);
|
||||
}
|
||||
|
||||
colorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
colorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWater::onColorControlAMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -476,9 +476,9 @@ void LLFloaterWater::onColorControlAMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
colorControl->mA = sldrCtrl->getValueF32();
|
||||
|
||||
colorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
colorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
|
||||
@@ -538,8 +538,8 @@ void LLFloaterWater::onColorControlIMoved(LLUICtrl* ctrl, void* userData)
|
||||
}
|
||||
|
||||
// now update the current parameters and send them to shaders
|
||||
colorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
colorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWater::onExpFloatControlMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -549,10 +549,10 @@ void LLFloaterWater::onExpFloatControlMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
F32 val = sldrCtrl->getValueF32();
|
||||
expFloatControl->mExp = val;
|
||||
LLWaterParamManager::instance()->setDensitySliderValue(val);
|
||||
LLWaterParamManager::getInstance()->setDensitySliderValue(val);
|
||||
|
||||
expFloatControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
expFloatControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWater::onFloatControlMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -562,8 +562,8 @@ void LLFloaterWater::onFloatControlMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
floatControl->mX = sldrCtrl->getValueF32() / floatControl->mMult;
|
||||
|
||||
floatControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
floatControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
void LLFloaterWater::onWaterFogColorMoved(LLUICtrl* ctrl, void* userData)
|
||||
{
|
||||
@@ -571,8 +571,8 @@ void LLFloaterWater::onWaterFogColorMoved(LLUICtrl* ctrl, void* userData)
|
||||
WaterColorControl * colorControl = static_cast<WaterColorControl *>(userData);
|
||||
*colorControl = swatch->get();
|
||||
|
||||
colorControl->update(LLWaterParamManager::instance()->mCurParams);
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
colorControl->update(LLWaterParamManager::getInstance()->mCurParams);
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWater::onBoolToggle(LLUICtrl* ctrl, void* userData)
|
||||
@@ -587,7 +587,7 @@ void LLFloaterWater::onNormalMapPicked(LLUICtrl* ctrl, void* userData)
|
||||
{
|
||||
LLTextureCtrl* textCtrl = static_cast<LLTextureCtrl*>(ctrl);
|
||||
LLUUID textID = textCtrl->getImageAssetID();
|
||||
LLWaterParamManager::instance()->setNormalMapID(textID);
|
||||
LLWaterParamManager::getInstance()->setNormalMapID(textID);
|
||||
}
|
||||
|
||||
void LLFloaterWater::onNewPreset(void* userData)
|
||||
@@ -606,7 +606,7 @@ void LLFloaterWater::onSavePreset(void* userData)
|
||||
return;
|
||||
}
|
||||
|
||||
LLWaterParamManager::instance()->mCurParams.mName =
|
||||
LLWaterParamManager::getInstance()->mCurParams.mName =
|
||||
comboBox->getSelectedItemLabel();
|
||||
|
||||
// check to see if it's a default and shouldn't be overwritten
|
||||
@@ -627,7 +627,7 @@ bool LLFloaterWater::saveAlertCallback(const LLSD& notification, const LLSD& res
|
||||
// if they choose save, do it. Otherwise, don't do anything
|
||||
if(option == 0)
|
||||
{
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::getInstance();
|
||||
|
||||
param_mgr->setParamSet(
|
||||
param_mgr->mCurParams.mName,
|
||||
@@ -681,7 +681,7 @@ bool LLFloaterWater::deleteAlertCallback(const LLSD& notification, const LLSD& r
|
||||
return false;
|
||||
}
|
||||
|
||||
LLWaterParamManager::instance()->removeParamSet(name, true);
|
||||
LLWaterParamManager::getInstance()->removeParamSet(name, true);
|
||||
|
||||
// remove and choose another
|
||||
S32 new_index = combo_box->getCurrentIndex();
|
||||
@@ -720,7 +720,7 @@ void LLFloaterWater::onChangePresetName(LLUICtrl* ctrl, void * userData)
|
||||
return;
|
||||
}
|
||||
|
||||
LLWaterParamManager::instance()->loadPreset(
|
||||
LLWaterParamManager::getInstance()->loadPreset(
|
||||
combo_box->getSelectedValue().asString());
|
||||
sWaterMenu->syncMenu();
|
||||
}
|
||||
|
||||
@@ -75,9 +75,9 @@ LLFloaterWindLight::LLFloaterWindLight() : LLFloater(std::string("windlight floa
|
||||
|
||||
if(comboBox != NULL) {
|
||||
|
||||
std::map<std::string, LLWLParamSet>::iterator mIt =
|
||||
LLWLParamManager::instance()->mParamList.begin();
|
||||
for(; mIt != LLWLParamManager::instance()->mParamList.end(); mIt++)
|
||||
std::map<std::string, LLWLParamSet>::const_iterator mIt =
|
||||
LLWLParamManager::getInstance()->getPresets().begin();
|
||||
for(; mIt != LLWLParamManager::getInstance()->getPresets().end(); mIt++)
|
||||
{
|
||||
comboBox->add(mIt->first);
|
||||
}
|
||||
@@ -141,7 +141,7 @@ void LLFloaterWindLight::initCallbacks(void) {
|
||||
|
||||
initHelpBtn("WLClassicCloudsHelp", "HelpClassicClouds");
|
||||
|
||||
LLWLParamManager * param_mgr = LLWLParamManager::instance();
|
||||
LLWLParamManager * param_mgr = LLWLParamManager::getInstance();
|
||||
|
||||
// blue horizon
|
||||
childSetCommitCallback("WLBlueHorizonR", onColorControlRMoved, ¶m_mgr->mBlueHorizon);
|
||||
@@ -267,14 +267,14 @@ bool LLFloaterWindLight::newPromptCallback(const LLSD& notification, const LLSD&
|
||||
|
||||
// add the current parameters to the list
|
||||
// see if it's there first
|
||||
std::map<std::string, LLWLParamSet>::iterator mIt =
|
||||
LLWLParamManager::instance()->mParamList.find(text);
|
||||
std::map<std::string, LLWLParamSet>::const_iterator mIt =
|
||||
LLWLParamManager::getInstance()->getPresets().find(text);
|
||||
|
||||
// if not there, add a new one
|
||||
if(mIt == LLWLParamManager::instance()->mParamList.end())
|
||||
if(mIt == LLWLParamManager::getInstance()->getPresets().end())
|
||||
{
|
||||
LLWLParamManager::instance()->addParamSet(text,
|
||||
LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->addParamSet(text,
|
||||
LLWLParamManager::getInstance()->mCurParams);
|
||||
comboBox->add(text);
|
||||
comboBox->sortByName();
|
||||
|
||||
@@ -292,7 +292,7 @@ bool LLFloaterWindLight::newPromptCallback(const LLSD& notification, const LLSD&
|
||||
keyCombo->add(text);
|
||||
keyCombo->sortByName();
|
||||
}
|
||||
LLWLParamManager::instance()->savePreset(text);
|
||||
LLWLParamManager::getInstance()->savePreset(text);
|
||||
|
||||
// otherwise, send a message to the user
|
||||
}
|
||||
@@ -308,7 +308,7 @@ void LLFloaterWindLight::syncMenu()
|
||||
{
|
||||
bool err;
|
||||
|
||||
LLWLParamManager * param_mgr = LLWLParamManager::instance();
|
||||
LLWLParamManager * param_mgr = LLWLParamManager::getInstance();
|
||||
|
||||
LLWLParamSet& currentParams = param_mgr->mCurParams;
|
||||
//std::map<std::string, LLVector4> & currentParams = param_mgr->mCurParams.mParamValues;
|
||||
@@ -518,9 +518,9 @@ void LLFloaterWindLight::onColorControlRMoved(LLUICtrl* ctrl, void* userData)
|
||||
}
|
||||
}
|
||||
|
||||
colorControl->update(LLWLParamManager::instance()->mCurParams);
|
||||
colorControl->update(LLWLParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWLParamManager::instance()->propagateParameters();
|
||||
LLWLParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWindLight::onColorControlGMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -554,9 +554,9 @@ void LLFloaterWindLight::onColorControlGMoved(LLUICtrl* ctrl, void* userData)
|
||||
}
|
||||
}
|
||||
|
||||
colorControl->update(LLWLParamManager::instance()->mCurParams);
|
||||
colorControl->update(LLWLParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWLParamManager::instance()->propagateParameters();
|
||||
LLWLParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWindLight::onColorControlBMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -590,9 +590,9 @@ void LLFloaterWindLight::onColorControlBMoved(LLUICtrl* ctrl, void* userData)
|
||||
}
|
||||
}
|
||||
|
||||
colorControl->update(LLWLParamManager::instance()->mCurParams);
|
||||
colorControl->update(LLWLParamManager::getInstance()->mCurParams);
|
||||
|
||||
LLWLParamManager::instance()->propagateParameters();
|
||||
LLWLParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWindLight::onColorControlIMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -679,8 +679,8 @@ void LLFloaterWindLight::onColorControlIMoved(LLUICtrl* ctrl, void* userData)
|
||||
}
|
||||
|
||||
// now update the current parameters and send them to shaders
|
||||
colorControl->update(LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::instance()->propagateParameters();
|
||||
colorControl->update(LLWLParamManager::getInstance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
/// GLOW SPECIFIC CODE
|
||||
@@ -694,8 +694,8 @@ void LLFloaterWindLight::onGlowRMoved(LLUICtrl* ctrl, void* userData)
|
||||
// scaled by 20
|
||||
colorControl->r = (2 - sldrCtrl->getValueF32()) * 20;
|
||||
|
||||
colorControl->update(LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::instance()->propagateParameters();
|
||||
colorControl->update(LLWLParamManager::getInstance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
/// \NOTE that we want NEGATIVE (-) B
|
||||
@@ -709,8 +709,8 @@ void LLFloaterWindLight::onGlowBMoved(LLUICtrl* ctrl, void* userData)
|
||||
/// \NOTE that we want NEGATIVE (-) B and NOT by 20 as 20 is too big
|
||||
colorControl->b = -sldrCtrl->getValueF32() * 5;
|
||||
|
||||
colorControl->update(LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::instance()->propagateParameters();
|
||||
colorControl->update(LLWLParamManager::getInstance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWindLight::onFloatControlMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -722,8 +722,8 @@ void LLFloaterWindLight::onFloatControlMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
floatControl->x = sldrCtrl->getValueF32() / floatControl->mult;
|
||||
|
||||
floatControl->update(LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::instance()->propagateParameters();
|
||||
floatControl->update(LLWLParamManager::getInstance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWindLight::onBoolToggle(LLUICtrl* ctrl, void* userData)
|
||||
@@ -750,7 +750,7 @@ void LLFloaterWindLight::onSunMoved(LLUICtrl* ctrl, void* userData)
|
||||
WLColorControl * colorControl = static_cast<WLColorControl *>(userData);
|
||||
|
||||
// get the two angles
|
||||
LLWLParamManager * param_mgr = LLWLParamManager::instance();
|
||||
LLWLParamManager * param_mgr = LLWLParamManager::getInstance();
|
||||
|
||||
param_mgr->mCurParams.setSunAngle(F_TWO_PI * sunSldr->getValueF32());
|
||||
param_mgr->mCurParams.setEastAngle(F_TWO_PI * eastSldr->getValueF32());
|
||||
@@ -775,7 +775,7 @@ void LLFloaterWindLight::onFloatTweakMoved(LLUICtrl* ctrl, void* userData)
|
||||
F32 * tweak = static_cast<F32 *>(userData);
|
||||
|
||||
(*tweak) = sldrCtrl->getValueF32();
|
||||
LLWLParamManager::instance()->propagateParameters();
|
||||
LLWLParamManager::getInstance()->propagateParameters();
|
||||
}
|
||||
|
||||
void LLFloaterWindLight::onStarAlphaMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -784,7 +784,7 @@ void LLFloaterWindLight::onStarAlphaMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
LLSliderCtrl* sldrCtrl = static_cast<LLSliderCtrl*>(ctrl);
|
||||
|
||||
LLWLParamManager::instance()->mCurParams.setStarBrightness(sldrCtrl->getValueF32());
|
||||
LLWLParamManager::getInstance()->mCurParams.setStarBrightness(sldrCtrl->getValueF32());
|
||||
}
|
||||
|
||||
void LLFloaterWindLight::onNewPreset(void* userData)
|
||||
@@ -813,7 +813,7 @@ void LLFloaterWindLight::onSavePreset(void* userData)
|
||||
return;
|
||||
}
|
||||
|
||||
LLWLParamManager::instance()->mCurParams.mName =
|
||||
LLWLParamManager::getInstance()->mCurParams.mName =
|
||||
comboBox->getSelectedItemLabel();
|
||||
|
||||
LLNotifications::instance().add("WLSavePresetAlert", LLSD(), LLSD(), saveAlertCallback);
|
||||
@@ -825,7 +825,7 @@ bool LLFloaterWindLight::saveAlertCallback(const LLSD& notification, const LLSD&
|
||||
// if they choose save, do it. Otherwise, don't do anything
|
||||
if(option == 0)
|
||||
{
|
||||
LLWLParamManager * param_mgr = LLWLParamManager::instance();
|
||||
LLWLParamManager * param_mgr = LLWLParamManager::getInstance();
|
||||
|
||||
param_mgr->setParamSet(param_mgr->mCurParams.mName, param_mgr->mCurParams);
|
||||
|
||||
@@ -882,7 +882,7 @@ bool LLFloaterWindLight::deleteAlertCallback(const LLSD& notification, const LLS
|
||||
return false;
|
||||
}
|
||||
|
||||
LLWLParamManager::instance()->removeParamSet(name, true);
|
||||
LLWLParamManager::getInstance()->removeParamSet(name, true);
|
||||
|
||||
// remove and choose another
|
||||
S32 new_index = combo_box->getCurrentIndex();
|
||||
@@ -922,7 +922,7 @@ void LLFloaterWindLight::onChangePresetName(LLUICtrl* ctrl, void * userData)
|
||||
return;
|
||||
}
|
||||
|
||||
LLWLParamManager::instance()->loadPreset(
|
||||
LLWLParamManager::getInstance()->loadPreset(
|
||||
combo_box->getSelectedValue().asString());
|
||||
sWindLight->syncMenu();
|
||||
}
|
||||
@@ -939,7 +939,7 @@ void LLFloaterWindLight::onCloudScrollXMoved(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
LLSliderCtrl* sldrCtrl = static_cast<LLSliderCtrl*>(ctrl);
|
||||
// *HACK all cloud scrolling is off by an additive of 10.
|
||||
LLWLParamManager::instance()->mCurParams.setCloudScrollX(sldrCtrl->getValueF32() + 10.0f);
|
||||
LLWLParamManager::getInstance()->mCurParams.setCloudScrollX(sldrCtrl->getValueF32() + 10.0f);
|
||||
}
|
||||
|
||||
void LLFloaterWindLight::onCloudScrollYMoved(LLUICtrl* ctrl, void* userData)
|
||||
@@ -949,7 +949,7 @@ void LLFloaterWindLight::onCloudScrollYMoved(LLUICtrl* ctrl, void* userData)
|
||||
LLSliderCtrl* sldrCtrl = static_cast<LLSliderCtrl*>(ctrl);
|
||||
|
||||
// *HACK all cloud scrolling is off by an additive of 10.
|
||||
LLWLParamManager::instance()->mCurParams.setCloudScrollY(sldrCtrl->getValueF32() + 10.0f);
|
||||
LLWLParamManager::getInstance()->mCurParams.setCloudScrollY(sldrCtrl->getValueF32() + 10.0f);
|
||||
}
|
||||
|
||||
void LLFloaterWindLight::onCloudScrollXToggled(LLUICtrl* ctrl, void* userData)
|
||||
@@ -959,7 +959,7 @@ void LLFloaterWindLight::onCloudScrollXToggled(LLUICtrl* ctrl, void* userData)
|
||||
LLCheckBoxCtrl* cbCtrl = static_cast<LLCheckBoxCtrl*>(ctrl);
|
||||
|
||||
bool lock = cbCtrl->get();
|
||||
LLWLParamManager::instance()->mCurParams.setEnableCloudScrollX(!lock);
|
||||
LLWLParamManager::getInstance()->mCurParams.setEnableCloudScrollX(!lock);
|
||||
|
||||
LLSliderCtrl* sldr = sWindLight->getChild<LLSliderCtrl>(
|
||||
"WLCloudScrollX");
|
||||
@@ -981,7 +981,7 @@ void LLFloaterWindLight::onCloudScrollYToggled(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
LLCheckBoxCtrl* cbCtrl = static_cast<LLCheckBoxCtrl*>(ctrl);
|
||||
bool lock = cbCtrl->get();
|
||||
LLWLParamManager::instance()->mCurParams.setEnableCloudScrollY(!lock);
|
||||
LLWLParamManager::getInstance()->mCurParams.setEnableCloudScrollY(!lock);
|
||||
|
||||
LLSliderCtrl* sldr = sWindLight->getChild<LLSliderCtrl>(
|
||||
"WLCloudScrollY");
|
||||
@@ -998,6 +998,6 @@ void LLFloaterWindLight::onCloudScrollYToggled(LLUICtrl* ctrl, void* userData)
|
||||
|
||||
void LLFloaterWindLight::deactivateAnimator()
|
||||
{
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
}
|
||||
|
||||
@@ -1925,9 +1925,7 @@ bool idle_startup()
|
||||
|
||||
// init the shader managers
|
||||
LLPostProcess::initClass();
|
||||
LLWLParamManager::initClass();
|
||||
AscentDayCycleManager::initClass();
|
||||
LLWaterParamManager::initClass();
|
||||
|
||||
// RN: don't initialize VO classes in drone mode, they are too closely tied to rendering
|
||||
LLViewerObject::initVOClasses();
|
||||
|
||||
@@ -191,8 +191,8 @@ void display_update_camera(bool tiling=false)
|
||||
gViewerWindow->setup3DRender();
|
||||
|
||||
// update all the sky/atmospheric/water settings
|
||||
LLWLParamManager::instance()->update(LLViewerCamera::getInstance());
|
||||
LLWaterParamManager::instance()->update(LLViewerCamera::getInstance());
|
||||
LLWLParamManager::getInstance()->update(LLViewerCamera::getInstance());
|
||||
LLWaterParamManager::getInstance()->update(LLViewerCamera::getInstance());
|
||||
|
||||
// Update land visibility too
|
||||
LLWorld::getInstance()->setLandFarClip(final_far);
|
||||
|
||||
@@ -109,7 +109,7 @@ void process_generic_message(LLMessageSystem* msg, void**)
|
||||
|
||||
Meta7WindlightPacket* wl = (Meta7WindlightPacket*)buf;
|
||||
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::instance();
|
||||
LLWaterParamManager * param_mgr = LLWaterParamManager::getInstance();
|
||||
LLWaterParamSet & param_set = param_mgr->mCurParams;
|
||||
LLWaterParamSet backup;
|
||||
if(!param_mgr->getParamSet("LightShare-Backup", backup)) {
|
||||
@@ -154,7 +154,7 @@ void process_generic_message(LLMessageSystem* msg, void**)
|
||||
param_mgr->setParamSet( "LightShare-CurrentRegion", param_set);
|
||||
param_mgr->setNormalMapID(normalMapTexture);
|
||||
|
||||
LLWLParamManager * wl_param_mgr = LLWLParamManager::instance();
|
||||
LLWLParamManager * wl_param_mgr = LLWLParamManager::getInstance();
|
||||
LLWLParamSet & wl_param_set = wl_param_mgr->mCurParams;
|
||||
LLWLParamSet wl_backup;
|
||||
if(!wl_param_mgr->getParamSet("LightShare-Backup", wl_backup)) {
|
||||
@@ -187,8 +187,8 @@ void process_generic_message(LLMessageSystem* msg, void**)
|
||||
wl_param_mgr->removeParamSet("LightShare-CurrentRegion",true);
|
||||
wl_param_mgr->addParamSet( "LightShare-CurrentRegion", wl_param_set);
|
||||
wl_param_mgr->savePreset( "LightShare-CurrentRegion");
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
wl_param_mgr->loadPreset( "LightShare-CurrentRegion",true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9359,51 +9359,51 @@ class LLWorldEnvSettings : public view_listener_t
|
||||
if (tod == "sunrise")
|
||||
{
|
||||
// set the value, turn off animation
|
||||
LLWLParamManager::instance()->mAnimator.setDayTime(0.25);
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.setDayTime(0.25);
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
|
||||
// then call update once
|
||||
LLWLParamManager::instance()->mAnimator.update(
|
||||
LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->mAnimator.update(
|
||||
LLWLParamManager::getInstance()->mCurParams);
|
||||
}
|
||||
else if (tod == "noon")
|
||||
{
|
||||
// set the value, turn off animation
|
||||
LLWLParamManager::instance()->mAnimator.setDayTime(0.567);
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.setDayTime(0.567);
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
|
||||
// then call update once
|
||||
LLWLParamManager::instance()->mAnimator.update(
|
||||
LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->mAnimator.update(
|
||||
LLWLParamManager::getInstance()->mCurParams);
|
||||
}
|
||||
else if (tod == "sunset")
|
||||
{
|
||||
// set the value, turn off animation
|
||||
LLWLParamManager::instance()->mAnimator.setDayTime(0.75);
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.setDayTime(0.75);
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
|
||||
// then call update once
|
||||
LLWLParamManager::instance()->mAnimator.update(
|
||||
LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->mAnimator.update(
|
||||
LLWLParamManager::getInstance()->mCurParams);
|
||||
}
|
||||
else if (tod == "midnight")
|
||||
{
|
||||
// set the value, turn off animation
|
||||
LLWLParamManager::instance()->mAnimator.setDayTime(0.0);
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.setDayTime(0.0);
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
|
||||
// then call update once
|
||||
LLWLParamManager::instance()->mAnimator.update(
|
||||
LLWLParamManager::instance()->mCurParams);
|
||||
LLWLParamManager::getInstance()->mAnimator.update(
|
||||
LLWLParamManager::getInstance()->mCurParams);
|
||||
}
|
||||
else
|
||||
{
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = true;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = true;
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = true;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -3746,17 +3746,17 @@ void process_teleport_finish(LLMessageSystem* msg, void**)
|
||||
*/
|
||||
|
||||
//Reset the windlight profile to default
|
||||
//LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
//LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
//LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
//LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamSet wl_backup;
|
||||
if(LLWLParamManager::instance()->getParamSet("LightShare-Backup", wl_backup)) {
|
||||
LLWLParamManager::instance()->propagateParameters();
|
||||
LLWLParamManager::instance()->removeParamSet("LightShare-Backup", true);
|
||||
if(LLWLParamManager::getInstance()->getParamSet("LightShare-Backup", wl_backup)) {
|
||||
LLWLParamManager::getInstance()->propagateParameters();
|
||||
LLWLParamManager::getInstance()->removeParamSet("LightShare-Backup", true);
|
||||
}
|
||||
LLWaterParamSet backup;
|
||||
if(LLWaterParamManager::instance()->getParamSet("LightShare-Backup", backup)) {
|
||||
LLWaterParamManager::instance()->propagateParameters();
|
||||
LLWaterParamManager::instance()->removeParamSet("LightShare-Backup", true);
|
||||
if(LLWaterParamManager::getInstance()->getParamSet("LightShare-Backup", backup)) {
|
||||
LLWaterParamManager::getInstance()->propagateParameters();
|
||||
LLWaterParamManager::getInstance()->removeParamSet("LightShare-Backup", true);
|
||||
}
|
||||
|
||||
// now, use the circuit info to tell simulator about us!
|
||||
|
||||
@@ -567,8 +567,8 @@ void LLViewerShaderMgr::setShaders()
|
||||
gViewerWindow->setCursor(UI_CURSOR_ARROW);
|
||||
}
|
||||
|
||||
LLWaterParamManager::instance()->updateShaderLinks();
|
||||
LLWLParamManager::instance()->updateShaderLinks();
|
||||
LLWaterParamManager::getInstance()->updateShaderLinks();
|
||||
LLWLParamManager::getInstance()->updateShaderLinks();
|
||||
|
||||
gPipeline.createGLBuffers();
|
||||
reentrance = false;
|
||||
@@ -2197,8 +2197,8 @@ std::string LLViewerShaderMgr::getShaderDirPrefix(void)
|
||||
|
||||
void LLViewerShaderMgr::updateShaderUniforms(LLGLSLShader * shader)
|
||||
{
|
||||
LLWLParamManager::instance()->updateShaderUniforms(shader);
|
||||
LLWaterParamManager::instance()->updateShaderUniforms(shader);
|
||||
LLWLParamManager::getInstance()->updateShaderUniforms(shader);
|
||||
LLWaterParamManager::getInstance()->updateShaderUniforms(shader);
|
||||
}
|
||||
|
||||
/*static*/ void LLShaderMgr::unloadShaderClass(int shader_class)
|
||||
|
||||
@@ -377,7 +377,7 @@ LLVOSky::LLVOSky(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp)
|
||||
mAtmHeight = ATM_HEIGHT;
|
||||
mEarthCenter = LLVector3(mCameraPosAgent.mV[0], mCameraPosAgent.mV[1], -EARTH_RADIUS);
|
||||
|
||||
mSunDefaultPosition = LLVector3(LLWLParamManager::instance()->mCurParams.getVector("lightnorm", error));
|
||||
mSunDefaultPosition = LLVector3(LLWLParamManager::getInstance()->mCurParams.getVector("lightnorm", error));
|
||||
if (gSavedSettings.getBOOL("SkyOverrideSimSunPosition"))
|
||||
{
|
||||
initSunDirection(mSunDefaultPosition, LLVector3(0, 0, 0));
|
||||
@@ -654,24 +654,24 @@ void LLVOSky::initAtmospherics(void)
|
||||
bool error;
|
||||
|
||||
// uniform parameters for convenience
|
||||
dome_radius = LLWLParamManager::instance()->getDomeRadius();
|
||||
dome_offset_ratio = LLWLParamManager::instance()->getDomeOffset();
|
||||
sunlight_color = LLColor3(LLWLParamManager::instance()->mCurParams.getVector("sunlight_color", error));
|
||||
ambient = LLColor3(LLWLParamManager::instance()->mCurParams.getVector("ambient", error));
|
||||
//lightnorm = LLWLParamManager::instance()->mCurParams.getVector("lightnorm", error);
|
||||
gamma = LLWLParamManager::instance()->mCurParams.getVector("gamma", error)[0];
|
||||
blue_density = LLColor3(LLWLParamManager::instance()->mCurParams.getVector("blue_density", error));
|
||||
blue_horizon = LLColor3(LLWLParamManager::instance()->mCurParams.getVector("blue_horizon", error));
|
||||
haze_density = LLWLParamManager::instance()->mCurParams.getVector("haze_density", error)[0];
|
||||
haze_horizon = LLColor3(LLWLParamManager::instance()->mCurParams.getVector("haze_horizon", error));
|
||||
density_multiplier = LLWLParamManager::instance()->mCurParams.getVector("density_multiplier", error)[0];
|
||||
max_y = LLWLParamManager::instance()->mCurParams.getVector("max_y", error)[0];
|
||||
glow = LLColor3(LLWLParamManager::instance()->mCurParams.getVector("glow", error));
|
||||
cloud_shadow = LLWLParamManager::instance()->mCurParams.getVector("cloud_shadow", error)[0];
|
||||
cloud_color = LLColor3(LLWLParamManager::instance()->mCurParams.getVector("cloud_color", error));
|
||||
cloud_scale = LLWLParamManager::instance()->mCurParams.getVector("cloud_scale", error)[0];
|
||||
cloud_pos_density1 = LLColor3(LLWLParamManager::instance()->mCurParams.getVector("cloud_pos_density1", error));
|
||||
cloud_pos_density2 = LLColor3(LLWLParamManager::instance()->mCurParams.getVector("cloud_pos_density2", error));
|
||||
dome_radius = LLWLParamManager::getInstance()->getDomeRadius();
|
||||
dome_offset_ratio = LLWLParamManager::getInstance()->getDomeOffset();
|
||||
sunlight_color = LLColor3(LLWLParamManager::getInstance()->mCurParams.getVector("sunlight_color", error));
|
||||
ambient = LLColor3(LLWLParamManager::getInstance()->mCurParams.getVector("ambient", error));
|
||||
//lightnorm = LLWLParamManager::getInstance()->mCurParams.getVector("lightnorm", error);
|
||||
gamma = LLWLParamManager::getInstance()->mCurParams.getVector("gamma", error)[0];
|
||||
blue_density = LLColor3(LLWLParamManager::getInstance()->mCurParams.getVector("blue_density", error));
|
||||
blue_horizon = LLColor3(LLWLParamManager::getInstance()->mCurParams.getVector("blue_horizon", error));
|
||||
haze_density = LLWLParamManager::getInstance()->mCurParams.getVector("haze_density", error)[0];
|
||||
haze_horizon = LLColor3(LLWLParamManager::getInstance()->mCurParams.getVector("haze_horizon", error));
|
||||
density_multiplier = LLWLParamManager::getInstance()->mCurParams.getVector("density_multiplier", error)[0];
|
||||
max_y = LLWLParamManager::getInstance()->mCurParams.getVector("max_y", error)[0];
|
||||
glow = LLColor3(LLWLParamManager::getInstance()->mCurParams.getVector("glow", error));
|
||||
cloud_shadow = LLWLParamManager::getInstance()->mCurParams.getVector("cloud_shadow", error)[0];
|
||||
cloud_color = LLColor3(LLWLParamManager::getInstance()->mCurParams.getVector("cloud_color", error));
|
||||
cloud_scale = LLWLParamManager::getInstance()->mCurParams.getVector("cloud_scale", error)[0];
|
||||
cloud_pos_density1 = LLColor3(LLWLParamManager::getInstance()->mCurParams.getVector("cloud_pos_density1", error));
|
||||
cloud_pos_density2 = LLColor3(LLWLParamManager::getInstance()->mCurParams.getVector("cloud_pos_density2", error));
|
||||
|
||||
// light norm is different. We need the sun's direction, not the light direction
|
||||
// which could be from the moon. And we need to clamp it
|
||||
@@ -1047,7 +1047,7 @@ void LLVOSky::calcAtmospherics(void)
|
||||
// between sunlight and point lights in windlight to normalize point lights.
|
||||
static const LLCachedControl<F32> render_sun_dynamic_range("RenderSunDynamicRange", 1.f);
|
||||
F32 sun_dynamic_range = llmax((float)render_sun_dynamic_range, 0.0001f);
|
||||
LLWLParamManager::instance()->mSceneLightStrength = 2.0f * (1.0f + sun_dynamic_range * dp);
|
||||
LLWLParamManager::getInstance()->mSceneLightStrength = 2.0f * (1.0f + sun_dynamic_range * dp);
|
||||
|
||||
mSunDiffuse = vary_SunlightColor;
|
||||
mSunAmbient = vary_AmbientColor;
|
||||
@@ -2139,7 +2139,7 @@ void LLVOSky::updateFog(const F32 distance)
|
||||
F32 depth = water_height - camera_height;
|
||||
|
||||
// get the water param manager variables
|
||||
float water_fog_density = LLWaterParamManager::instance()->getFogDensity();
|
||||
float water_fog_density = LLWaterParamManager::getInstance()->getFogDensity();
|
||||
LLColor4 water_fog_color = LLDrawPoolWater::sWaterFogColor.mV;
|
||||
|
||||
// adjust the color based on depth. We're doing linear approximations
|
||||
|
||||
@@ -73,6 +73,7 @@
|
||||
#include "lldrawpoolavatar.h"
|
||||
#include "llmeshrepository.h"
|
||||
#include "lldatapacker.h"
|
||||
#include "llviewershadermgr.h"
|
||||
#include "llvoavatar.h"
|
||||
#include "llfloatertools.h"
|
||||
#endif //MESH_ENABLED
|
||||
|
||||
@@ -571,7 +571,7 @@ void LLVOWLSky::buildFanBuffer(LLStrider<LLVector3> & vertices,
|
||||
LLStrider<LLVector2> & texCoords,
|
||||
LLStrider<U16> & indices)
|
||||
{
|
||||
const F32 RADIUS = LLWLParamManager::instance()->getDomeRadius();
|
||||
const F32 RADIUS = LLWLParamManager::getInstance()->getDomeRadius();
|
||||
|
||||
U32 i, num_slices;
|
||||
F32 phi0, theta, x0, y0, z0;
|
||||
@@ -632,7 +632,7 @@ void LLVOWLSky::buildStripsBuffer(U32 begin_stack, U32 end_stack,
|
||||
LLStrider<LLVector2> & texCoords,
|
||||
LLStrider<U16> & indices)
|
||||
{
|
||||
const F32 RADIUS = LLWLParamManager::instance()->getDomeRadius();
|
||||
const F32 RADIUS = LLWLParamManager::getInstance()->getDomeRadius();
|
||||
|
||||
U32 i, j, num_slices, num_stacks;
|
||||
F32 phi0, theta, x0, y0, z0;
|
||||
|
||||
@@ -66,8 +66,6 @@
|
||||
|
||||
#include "curl/curl.h"
|
||||
|
||||
LLWaterParamManager * LLWaterParamManager::sInstance = NULL;
|
||||
|
||||
LLWaterParamManager::LLWaterParamManager() :
|
||||
mFogColor(22.f/255.f, 43.f/255.f, 54.f/255.f, 0.0f, 0.0f, "waterFogColor", "WaterFogColor"),
|
||||
mFogDensity(4, "waterFogDensity", 2),
|
||||
@@ -246,7 +244,7 @@ void LLWaterParamManager::updateShaderUniforms(LLGLSLShader * shader)
|
||||
{
|
||||
if (shader->mShaderGroup == LLGLSLShader::SG_WATER)
|
||||
{
|
||||
shader->uniform4fv(LLViewerShaderMgr::LIGHTNORM, 1, LLWLParamManager::instance()->getRotatedLightDir().mV);
|
||||
shader->uniform4fv(LLViewerShaderMgr::LIGHTNORM, 1, LLWLParamManager::getInstance()->getRotatedLightDir().mV);
|
||||
shader->uniform3fv("camPosLocal", 1, LLViewerCamera::getInstance()->getOrigin().mV);
|
||||
shader->uniform4fv("waterFogColor", 1, LLDrawPoolWater::sWaterFogColor.mV);
|
||||
shader->uniform4fv("waterPlane", 1, mWaterPlane.mV);
|
||||
@@ -342,18 +340,6 @@ void LLWaterParamManager::update(LLViewerCamera * cam)
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
void LLWaterParamManager::initClass(void)
|
||||
{
|
||||
instance();
|
||||
}
|
||||
|
||||
// static
|
||||
void LLWaterParamManager::cleanupClass(void)
|
||||
{
|
||||
delete sInstance;
|
||||
sInstance = NULL;
|
||||
}
|
||||
|
||||
bool LLWaterParamManager::addParamSet(const std::string& name, LLWaterParamSet& param)
|
||||
{
|
||||
@@ -459,16 +445,11 @@ F32 LLWaterParamManager::getFogDensity(void)
|
||||
}
|
||||
|
||||
// static
|
||||
LLWaterParamManager * LLWaterParamManager::instance()
|
||||
void LLWaterParamManager::initSingleton()
|
||||
{
|
||||
if(NULL == sInstance)
|
||||
{
|
||||
sInstance = new LLWaterParamManager();
|
||||
|
||||
loadAllPresets(LLStringUtil::null);
|
||||
|
||||
sInstance->loadAllPresets(LLStringUtil::null);
|
||||
|
||||
sInstance->getParamSet("Default", sInstance->mCurParams);
|
||||
}
|
||||
|
||||
return sInstance;
|
||||
getParamSet("Default", mCurParams);
|
||||
}
|
||||
|
||||
|
||||
@@ -218,22 +218,15 @@ struct WaterExpFloatControl
|
||||
|
||||
|
||||
/// WindLight parameter manager class - what controls all the wind light shaders
|
||||
class LLWaterParamManager
|
||||
class LLWaterParamManager : public LLSingleton<LLWaterParamManager>
|
||||
{
|
||||
LOG_CLASS(LLWaterParamManager);
|
||||
public:
|
||||
|
||||
LLWaterParamManager();
|
||||
~LLWaterParamManager();
|
||||
|
||||
typedef std::map<std::string, LLWaterParamSet> preset_map_t;
|
||||
|
||||
void updateShaderLinks();
|
||||
|
||||
/// load a preset file
|
||||
void loadAllPresets(const std::string & fileName);
|
||||
|
||||
/// load an individual preset into the sky
|
||||
|
||||
void loadPreset(const std::string & name,bool propagate=true);
|
||||
|
||||
/// save the parameter presets to file
|
||||
void savePreset(const std::string & name);
|
||||
|
||||
@@ -246,12 +239,6 @@ public:
|
||||
/// Update shader uniforms that have changed.
|
||||
void updateShaderUniforms(LLGLSLShader * shader);
|
||||
|
||||
/// Perform global initialization for this class.
|
||||
static void initClass(void);
|
||||
|
||||
// Cleanup of global data that's only inited once per class.
|
||||
static void cleanupClass();
|
||||
|
||||
/// add a param to the list
|
||||
bool addParamSet(const std::string& name, LLWaterParamSet& param);
|
||||
|
||||
@@ -270,6 +257,9 @@ public:
|
||||
/// gets rid of a parameter and any references to it
|
||||
/// returns true if successful
|
||||
bool removeParamSet(const std::string& name, bool delete_from_disk);
|
||||
/// @return all named water presets.
|
||||
const preset_map_t& getPresets() const { return mParamList; }
|
||||
|
||||
|
||||
/// set the normap map we want for water
|
||||
bool setNormalMapID(const LLUUID& img);
|
||||
@@ -313,18 +303,29 @@ public:
|
||||
WaterFloatControl mScaleBelow;
|
||||
WaterFloatControl mBlurMultiplier;
|
||||
|
||||
// list of all the parameters, listed by name
|
||||
std::map<std::string, LLWaterParamSet> mParamList;
|
||||
|
||||
F32 mDensitySliderValue;
|
||||
|
||||
/// load an individual preset into the sky
|
||||
void loadPreset(const std::string & name,bool propagate=true);
|
||||
private:
|
||||
friend class LLSingleton<LLWaterParamManager>;
|
||||
/*virtual*/ void initSingleton();
|
||||
LLWaterParamManager();
|
||||
~LLWaterParamManager();
|
||||
/// load a preset file
|
||||
void loadAllPresets(const std::string & fileName);
|
||||
|
||||
|
||||
|
||||
LLVector4 mWaterPlane;
|
||||
F32 mWaterFogKS;
|
||||
std::vector<LLGLSLShader *> mShaderList;
|
||||
|
||||
|
||||
// our parameter manager singleton instance
|
||||
static LLWaterParamManager * sInstance;
|
||||
// list of all the parameters, listed by name
|
||||
std::map<std::string, LLWaterParamSet> mParamList;
|
||||
|
||||
std::vector<LLGLSLShader *> mShaderList;
|
||||
};
|
||||
|
||||
inline void LLWaterParamManager::setDensitySliderValue(F32 val)
|
||||
|
||||
@@ -230,3 +230,46 @@ F32 LLWaterParamSet::getFloat(const std::string& paramName, bool& error)
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Added for interpolation effect in DEV-33645
|
||||
// Based on LLWLParamSet::mix, but written by Jacob without an intimate knowledge of how WindLight works.
|
||||
// The function definition existed in the header but was never implemented. If you think there is something
|
||||
// wrong with this, you're probably right. Ask Jacob, Q, or a member of the original WindLight team.
|
||||
void LLWaterParamSet::mix(LLWaterParamSet& src, LLWaterParamSet& dest, F32 weight)
|
||||
{
|
||||
// Setup
|
||||
LLSD srcVal, destVal; // LLSD holders for get/set calls, reusable
|
||||
|
||||
// Iterate through values
|
||||
for(LLSD::map_iterator iter = mParamValues.beginMap(); iter != mParamValues.endMap(); ++iter)
|
||||
{
|
||||
// If param exists in both src and dest, set the holder variables, otherwise skip
|
||||
if(src.mParamValues.has(iter->first) && dest.mParamValues.has(iter->first))
|
||||
{
|
||||
srcVal = src.mParamValues[iter->first];
|
||||
destVal = dest.mParamValues[iter->first];
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(iter->second.isReal()) // If it's a real, interpolate directly
|
||||
{
|
||||
iter->second = srcVal.asReal() + ((destVal.asReal() - srcVal.asReal()) * weight);
|
||||
}
|
||||
else if(iter->second.isArray() && iter->second[0].isReal() // If it's an array of reals, loop through the reals and interpolate on those
|
||||
&& iter->second.size() == srcVal.size() && iter->second.size() == destVal.size())
|
||||
{
|
||||
// Actually do interpolation: old value + (difference in values * factor)
|
||||
for(int i=0; i < iter->second.size(); ++i)
|
||||
{
|
||||
// iter->second[i] = (1.f-weight)*(F32)srcVal[i].asReal() + weight*(F32)destVal[i].asReal(); // old way of doing it -- equivalent but one more operation
|
||||
iter->second[i] = srcVal[i].asReal() + ((destVal[i].asReal() - srcVal[i].asReal()) * weight);
|
||||
}
|
||||
}
|
||||
else // Else, skip
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
#include "v4color.h"
|
||||
#include "llviewershadermgr.h"
|
||||
|
||||
class LLFloaterWater;
|
||||
class LLWaterParamSet;
|
||||
|
||||
/// A class representing a set of parameter values for the Water shaders.
|
||||
|
||||
@@ -49,7 +49,8 @@ void LLWLAnimator::update(LLWLParamSet& curParams)
|
||||
curTime = getDayTime();
|
||||
|
||||
// don't do anything if empty
|
||||
if(mTimeTrack.size() == 0) {
|
||||
if(mTimeTrack.size() == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -59,13 +60,15 @@ void LLWLAnimator::update(LLWLParamSet& curParams)
|
||||
mSecondIt++;
|
||||
|
||||
// grab the two tween iterators
|
||||
while(mSecondIt != mTimeTrack.end() && curTime > mSecondIt->first) {
|
||||
while(mSecondIt != mTimeTrack.end() && curTime > mSecondIt->first)
|
||||
{
|
||||
mFirstIt++;
|
||||
mSecondIt++;
|
||||
}
|
||||
|
||||
// scroll it around when you get to the end
|
||||
if(mSecondIt == mTimeTrack.end() || mFirstIt->first > curTime) {
|
||||
if(mSecondIt == mTimeTrack.end() || mFirstIt->first > curTime)
|
||||
{
|
||||
mSecondIt = mTimeTrack.begin();
|
||||
mFirstIt = mTimeTrack.end();
|
||||
mFirstIt--;
|
||||
@@ -73,56 +76,66 @@ void LLWLAnimator::update(LLWLParamSet& curParams)
|
||||
|
||||
F32 weight = 0;
|
||||
|
||||
if(mFirstIt->first < mSecondIt->first) {
|
||||
if(mFirstIt->first < mSecondIt->first)
|
||||
{
|
||||
|
||||
// get the delta time and the proper weight
|
||||
weight = F32 (curTime - mFirstIt->first) /
|
||||
(mSecondIt->first - mFirstIt->first);
|
||||
|
||||
// handle the ends
|
||||
} else if(mFirstIt->first > mSecondIt->first) {
|
||||
}
|
||||
else if(mFirstIt->first > mSecondIt->first)
|
||||
{
|
||||
|
||||
// right edge of time line
|
||||
if(curTime >= mFirstIt->first) {
|
||||
if(curTime >= mFirstIt->first)
|
||||
{
|
||||
weight = F32 (curTime - mFirstIt->first) /
|
||||
((1 + mSecondIt->first) - mFirstIt->first);
|
||||
|
||||
// left edge of time line
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
weight = F32 ((1 + curTime) - mFirstIt->first) /
|
||||
((1 + mSecondIt->first) - mFirstIt->first);
|
||||
}
|
||||
|
||||
|
||||
// handle same as whatever the last one is
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
weight = 1;
|
||||
}
|
||||
|
||||
// do the interpolation and set the parameters
|
||||
curParams.mix(LLWLParamManager::instance()->mParamList[mFirstIt->second],
|
||||
LLWLParamManager::instance()->mParamList[mSecondIt->second], weight);
|
||||
curParams.mix(LLWLParamManager::getInstance()->mParamList[mFirstIt->second],
|
||||
LLWLParamManager::getInstance()->mParamList[mSecondIt->second], weight);
|
||||
}
|
||||
|
||||
F64 LLWLAnimator::getDayTime()
|
||||
{
|
||||
if(!mIsRunning) {
|
||||
if(!mIsRunning)
|
||||
{
|
||||
return mDayTime;
|
||||
}
|
||||
|
||||
if(mUseLindenTime) {
|
||||
|
||||
if(mUseLindenTime)
|
||||
{
|
||||
F32 phase = gSky.getSunPhase() / F_PI;
|
||||
|
||||
// we're not solving the non-linear equation that determines sun phase
|
||||
// we're just linearly interpolating between the major points
|
||||
if (phase <= 5.0 / 4.0) {
|
||||
mDayTime = (1.0 / 3.0) * phase + (1.0 / 3.0);
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
mDayTime = phase - (1.0 / 2.0);
|
||||
}
|
||||
|
||||
if(mDayTime > 1) {
|
||||
if(mDayTime > 1)
|
||||
{
|
||||
mDayTime--;
|
||||
}
|
||||
|
||||
@@ -133,10 +146,12 @@ F64 LLWLAnimator::getDayTime()
|
||||
mDayTime = (LLTimer::getElapsedSeconds() - mStartTime) / mDayRate;
|
||||
|
||||
// clamp it
|
||||
if(mDayTime < 0) {
|
||||
if(mDayTime < 0)
|
||||
{
|
||||
mDayTime = 0;
|
||||
}
|
||||
while(mDayTime > 1) {
|
||||
while(mDayTime > 1)
|
||||
{
|
||||
mDayTime--;
|
||||
}
|
||||
|
||||
@@ -150,9 +165,12 @@ void LLWLAnimator::setDayTime(F64 dayTime)
|
||||
mDayTime = dayTime;
|
||||
|
||||
// clamp it
|
||||
if(mDayTime < 0) {
|
||||
if(mDayTime < 0)
|
||||
{
|
||||
mDayTime = 0;
|
||||
} else if(mDayTime > 1) {
|
||||
}
|
||||
else if(mDayTime > 1)
|
||||
{
|
||||
mDayTime = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ void LLWLDayCycle::loadDayCycle(const std::string & fileName)
|
||||
// check each param name exists in param manager
|
||||
bool success;
|
||||
LLWLParamSet pset;
|
||||
success = LLWLParamManager::instance()->getParamSet(day_data[i][1].asString(), pset);
|
||||
success = LLWLParamManager::getInstance()->getParamSet(day_data[i][1].asString(), pset);
|
||||
if(!success)
|
||||
{
|
||||
// alert the user
|
||||
@@ -203,7 +203,7 @@ bool LLWLDayCycle::changeKeyParam(F32 time, const std::string & name)
|
||||
// just remove and add back
|
||||
// make sure param exists
|
||||
LLWLParamSet tmp;
|
||||
bool stat = LLWLParamManager::instance()->getParamSet(name, tmp);
|
||||
bool stat = LLWLParamManager::getInstance()->getParamSet(name, tmp);
|
||||
if(stat == false)
|
||||
{
|
||||
return stat;
|
||||
@@ -249,7 +249,7 @@ bool LLWLDayCycle::getKeyedParam(F32 time, LLWLParamSet& param)
|
||||
std::map<F32, std::string>::iterator mIt = mTimeMap.find(time);
|
||||
if(mIt != mTimeMap.end())
|
||||
{
|
||||
return LLWLParamManager::instance()->getParamSet(mIt->second, param);
|
||||
return LLWLParamManager::getInstance()->getParamSet(mIt->second, param);
|
||||
}
|
||||
|
||||
// return error if not found
|
||||
|
||||
@@ -61,9 +61,10 @@
|
||||
#include "llfloaterdaycycle.h"
|
||||
#include "llfloaterenvsettings.h"
|
||||
|
||||
#include "curl/curl.h"
|
||||
#include "llviewershadermgr.h"
|
||||
#include "llglslshader.h"
|
||||
|
||||
LLWLParamManager * LLWLParamManager::sInstance = NULL;
|
||||
#include "curl/curl.h"
|
||||
|
||||
LLWLParamManager::LLWLParamManager() :
|
||||
|
||||
@@ -423,18 +424,6 @@ void LLWLParamManager::update(LLViewerCamera * cam)
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
void LLWLParamManager::initClass(void)
|
||||
{
|
||||
instance();
|
||||
}
|
||||
|
||||
// static
|
||||
void LLWLParamManager::cleanupClass()
|
||||
{
|
||||
delete sInstance;
|
||||
sInstance = NULL;
|
||||
}
|
||||
|
||||
void LLWLParamManager::resetAnimator(F32 curTime, bool run)
|
||||
{
|
||||
@@ -546,27 +535,22 @@ bool LLWLParamManager::removeParamSet(const std::string& name, bool delete_from_
|
||||
}
|
||||
|
||||
|
||||
// static
|
||||
LLWLParamManager * LLWLParamManager::instance()
|
||||
// virtual static
|
||||
void LLWLParamManager::initSingleton()
|
||||
{
|
||||
if(NULL == sInstance)
|
||||
{
|
||||
sInstance = new LLWLParamManager();
|
||||
|
||||
sInstance->loadPresets(LLStringUtil::null);
|
||||
loadPresets(LLStringUtil::null);
|
||||
|
||||
// load the day
|
||||
sInstance->mDay.loadDayCycle(gSavedSettings.getString("AscentActiveDayCycle"));
|
||||
// load the day
|
||||
mDay.loadDayCycle(gSavedSettings.getString("AscentActiveDayCycle"));
|
||||
|
||||
// *HACK - sets cloud scrolling to what we want... fix this better in the future
|
||||
sInstance->getParamSet("Default", sInstance->mCurParams);
|
||||
// *HACK - sets cloud scrolling to what we want... fix this better in the future
|
||||
getParamSet("Default", mCurParams);
|
||||
|
||||
// set it to noon
|
||||
sInstance->resetAnimator(0.5, true);
|
||||
// set it to noon
|
||||
resetAnimator(0.5, true);
|
||||
|
||||
// but use linden time sets it to what the estate is
|
||||
sInstance->mAnimator.mUseLindenTime = true;
|
||||
}
|
||||
// but use linden time sets it to what the estate is
|
||||
mAnimator.mUseLindenTime = true;
|
||||
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
@@ -122,17 +122,14 @@ struct WLFloatControl {
|
||||
};
|
||||
|
||||
/// WindLight parameter manager class - what controls all the wind light shaders
|
||||
class LLWLParamManager
|
||||
class LLWLParamManager : public LLSingleton<LLWLParamManager>
|
||||
{
|
||||
public:
|
||||
LOG_CLASS(LLWLParamManager);
|
||||
|
||||
LLWLParamManager();
|
||||
~LLWLParamManager();
|
||||
public:
|
||||
|
||||
void updateShaderLinks();
|
||||
|
||||
/// load a preset file
|
||||
void loadPresets(const std::string & fileName);
|
||||
|
||||
/// save the preset file
|
||||
void savePresets(const std::string & fileName);
|
||||
@@ -195,8 +192,8 @@ public:
|
||||
/// returns true if successful
|
||||
bool removeParamSet(const std::string& name, bool delete_from_disk);
|
||||
|
||||
// singleton pattern implementation
|
||||
static LLWLParamManager * instance();
|
||||
/// @return all named windlight presets.
|
||||
const std::map<std::string, LLWLParamSet>& getPresets() const { return mParamList; }
|
||||
|
||||
public:
|
||||
|
||||
@@ -251,14 +248,22 @@ public:
|
||||
F32 mDomeOffset;
|
||||
F32 mDomeRadius;
|
||||
|
||||
// list of all the parameters, listed by name
|
||||
std::map<std::string, LLWLParamSet> mParamList;
|
||||
|
||||
|
||||
private:
|
||||
/// load a preset file
|
||||
friend class LLWLAnimator;
|
||||
void loadPresets(const std::string & fileName);
|
||||
|
||||
friend class LLSingleton<LLWLParamManager>;
|
||||
/*virtual*/ void initSingleton();
|
||||
LLWLParamManager();
|
||||
~LLWLParamManager();
|
||||
|
||||
// list of all the parameters, listed by name
|
||||
std::map<std::string, LLWLParamSet> mParamList;
|
||||
|
||||
std::vector<LLGLSLShader *> mShaderList;
|
||||
// our parameter manager singleton instance
|
||||
static LLWLParamManager * sInstance;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -266,7 +266,6 @@ void LLWLParamSet::setEastAngle(float val)
|
||||
void LLWLParamSet::mix(LLWLParamSet& src, LLWLParamSet& dest, F32 weight)
|
||||
{
|
||||
// set up the iterators
|
||||
LLSD::map_iterator cIt = mParamValues.beginMap();
|
||||
|
||||
// keep cloud positions and coverage the same
|
||||
/// TODO masking will do this later
|
||||
@@ -279,55 +278,39 @@ void LLWLParamSet::mix(LLWLParamSet& src, LLWLParamSet& dest, F32 weight)
|
||||
LLSD srcVal;
|
||||
LLSD destVal;
|
||||
|
||||
// do the interpolation for all the ones saved as vectors
|
||||
// skip the weird ones
|
||||
for(; cIt != mParamValues.endMap(); cIt++) {
|
||||
// Iterate through values
|
||||
for(LLSD::map_iterator iter = mParamValues.beginMap(); iter != mParamValues.endMap(); ++iter)
|
||||
{
|
||||
|
||||
// check params to make sure they're actually there
|
||||
if(src.mParamValues.has(cIt->first))
|
||||
// If param exists in both src and dest, set the holder variables, otherwise skip
|
||||
if(src.mParamValues.has(iter->first) && dest.mParamValues.has(iter->first))
|
||||
{
|
||||
srcVal = src.mParamValues[cIt->first];
|
||||
srcVal = src.mParamValues[iter->first];
|
||||
destVal = dest.mParamValues[iter->first];
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(dest.mParamValues.has(cIt->first))
|
||||
if(iter->second.isReal()) // If it's a real, interpolate directly
|
||||
{
|
||||
destVal = dest.mParamValues[cIt->first];
|
||||
iter->second = srcVal.asReal() + ((destVal.asReal() - srcVal.asReal()) * weight);
|
||||
}
|
||||
else
|
||||
else if(iter->second.isArray() && iter->second[0].isReal() // If it's an array of reals, loop through the reals and interpolate on those
|
||||
&& iter->second.size() == srcVal.size() && iter->second.size() == destVal.size())
|
||||
{
|
||||
// Actually do interpolation: old value + (difference in values * factor)
|
||||
for(int i=0; i < iter->second.size(); ++i)
|
||||
{
|
||||
// iter->second[i] = (1.f-weight)*(F32)srcVal[i].asReal() + weight*(F32)destVal[i].asReal(); // old way of doing it -- equivalent but one more operation
|
||||
iter->second[i] = srcVal[i].asReal() + ((destVal[i].asReal() - srcVal[i].asReal()) * weight);
|
||||
}
|
||||
}
|
||||
else // Else, skip
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// skip if not a vector
|
||||
if(!cIt->second.isArray())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// only Real vectors allowed
|
||||
if(!cIt->second[0].isReal())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// make sure all the same size
|
||||
if( cIt->second.size() != srcVal.size() ||
|
||||
cIt->second.size() != destVal.size())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// more error checking might be necessary;
|
||||
|
||||
for(int i=0; i < cIt->second.size(); ++i)
|
||||
{
|
||||
cIt->second[i] = (1.0f - weight) * (F32) srcVal[i].asReal() +
|
||||
weight * (F32) destVal[i].asReal();
|
||||
}
|
||||
}
|
||||
|
||||
// now mix the extra parameters
|
||||
|
||||
@@ -38,10 +38,9 @@
|
||||
|
||||
#include "v4math.h"
|
||||
#include "v4color.h"
|
||||
#include "llviewershadermgr.h"
|
||||
|
||||
class LLFloaterWindLight;
|
||||
class LLWLParamSet;
|
||||
class LLGLSLShader;
|
||||
|
||||
/// A class representing a set of parameter values for the WindLight shaders.
|
||||
class LLWLParamSet {
|
||||
|
||||
@@ -307,7 +307,7 @@ std::string RlvExtGetSet::onGetEnv(std::string strSetting)
|
||||
LLFloaterWindLight::instance()->syncMenu();
|
||||
}
|
||||
|
||||
LLWLParamManager* pWLParams = LLWLParamManager::instance();
|
||||
LLWLParamManager* pWLParams = LLWLParamManager::getInstance();
|
||||
|
||||
F32 nValue = 0.0f;
|
||||
if ("daytime" == strSetting)
|
||||
@@ -380,7 +380,7 @@ ERlvCmdRet RlvExtGetSet::onSetEnv(std::string strSetting, const std::string& str
|
||||
LLFloaterWindLight::instance()->syncMenu();
|
||||
}
|
||||
|
||||
LLWLParamManager* pWLParams = LLWLParamManager::instance();
|
||||
LLWLParamManager* pWLParams = LLWLParamManager::getInstance();
|
||||
WLFloatControl* pFloat = NULL;
|
||||
WLColorControl* pColour = NULL;
|
||||
|
||||
|
||||
@@ -954,7 +954,7 @@ void RlvBehaviourNotifyHandler::sendNotification(const std::string& strText, con
|
||||
// Checked: 2009-06-03 (RLVa-0.2.0h) | Added: RLVa-0.2.0h
|
||||
void RlvWLSnapshot::restoreSnapshot(const RlvWLSnapshot* pWLSnapshot)
|
||||
{
|
||||
LLWLParamManager* pWLParams = LLWLParamManager::instance();
|
||||
LLWLParamManager* pWLParams = LLWLParamManager::getInstance();
|
||||
if ( (pWLSnapshot) && (pWLParams) )
|
||||
{
|
||||
pWLParams->mAnimator.mIsRunning = pWLSnapshot->fIsRunning;
|
||||
@@ -975,7 +975,7 @@ RlvWLSnapshot* RlvWLSnapshot::takeSnapshot()
|
||||
}
|
||||
|
||||
RlvWLSnapshot* pWLSnapshot = NULL;
|
||||
LLWLParamManager* pWLParams = LLWLParamManager::instance();
|
||||
LLWLParamManager* pWLParams = LLWLParamManager::getInstance();
|
||||
if (pWLParams)
|
||||
{
|
||||
pWLSnapshot = new RlvWLSnapshot();
|
||||
|
||||
@@ -96,8 +96,8 @@ BOOL wlfPanel_AdvSettings::postBuild()
|
||||
LLComboBox* comboBoxSky = getChild<LLComboBox>("WLSkyPresetsCombo");
|
||||
if(comboBoxSky != NULL)
|
||||
{
|
||||
std::map<std::string, LLWLParamSet>::iterator mIt = LLWLParamManager::instance()->mParamList.begin();
|
||||
for(; mIt != LLWLParamManager::instance()->mParamList.end(); mIt++)
|
||||
std::map<std::string, LLWLParamSet>::const_iterator mIt = LLWLParamManager::getInstance()->getPresets().begin();
|
||||
for(; mIt != LLWLParamManager::getInstance()->getPresets().end(); mIt++)
|
||||
{
|
||||
if (mIt->first.length() > 0)
|
||||
comboBoxSky->add(mIt->first);
|
||||
@@ -110,8 +110,8 @@ BOOL wlfPanel_AdvSettings::postBuild()
|
||||
LLComboBox* comboBoxWater = getChild<LLComboBox>("WLWaterPresetsCombo");
|
||||
if(comboBoxWater != NULL)
|
||||
{
|
||||
std::map<std::string, LLWaterParamSet>::iterator mIt = LLWaterParamManager::instance()->mParamList.begin();
|
||||
for(; mIt != LLWaterParamManager::instance()->mParamList.end(); mIt++)
|
||||
std::map<std::string, LLWaterParamSet>::const_iterator mIt = LLWaterParamManager::getInstance()->getPresets().begin();
|
||||
for(; mIt != LLWaterParamManager::getInstance()->getPresets().end(); mIt++)
|
||||
{
|
||||
if (mIt->first.length() > 0)
|
||||
comboBoxWater->add(mIt->first);
|
||||
@@ -155,8 +155,8 @@ void wlfPanel_AdvSettings::onClickExpandBtn(void* user_data)
|
||||
}
|
||||
void wlfPanel_AdvSettings::onChangePresetName(LLUICtrl* ctrl, void * userData)
|
||||
{
|
||||
LLWLParamManager::instance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::instance()->mAnimator.mUseLindenTime = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mIsRunning = false;
|
||||
LLWLParamManager::getInstance()->mAnimator.mUseLindenTime = false;
|
||||
|
||||
LLComboBox * combo_box = static_cast<LLComboBox*>(ctrl);
|
||||
llinfos << "Combobox is " << combo_box->getControlName() << " aka " << combo_box->getName() << llendl;
|
||||
@@ -167,7 +167,7 @@ void wlfPanel_AdvSettings::onChangePresetName(LLUICtrl* ctrl, void * userData)
|
||||
return;
|
||||
}
|
||||
current_preset = combo_box->getSelectedValue().asString();
|
||||
LLWLParamManager::instance()->loadPreset(current_preset);
|
||||
LLWLParamManager::getInstance()->loadPreset(current_preset);
|
||||
}
|
||||
else if (combo_box->getName() == "WLWaterPresetsCombo")
|
||||
{
|
||||
@@ -176,6 +176,6 @@ void wlfPanel_AdvSettings::onChangePresetName(LLUICtrl* ctrl, void * userData)
|
||||
return;
|
||||
}
|
||||
current_preset = combo_box->getSelectedValue().asString();
|
||||
LLWaterParamManager::instance()->loadPreset(current_preset);
|
||||
LLWaterParamManager::getInstance()->loadPreset(current_preset);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user