#671 Setup the viewer to respect the MirrorsEnabled simulator feature.
parent
192e77344f
commit
97d2b21621
|
|
@ -231,14 +231,6 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
|
|||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (features->hasHeroProbes)
|
||||
{
|
||||
if (!shader->attachFragmentObject("deferred/heroProbesUtil.glsl"))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (features->hasShadows)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -72,6 +72,18 @@ void LLHeroProbeManager::update()
|
|||
return;
|
||||
}
|
||||
|
||||
// This should be moved elsewhere.
|
||||
LLSD features;
|
||||
gAgent.getRegion()->getSimulatorFeatures(features);
|
||||
if (mHasMirrors != features.has("MirrorsEnabled"))
|
||||
{
|
||||
mHasMirrors = features.has("MirrorsEnabled");
|
||||
LLViewerShaderMgr::instance()->setShaders();
|
||||
}
|
||||
|
||||
if (!mHasMirrors)
|
||||
return;
|
||||
|
||||
LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY;
|
||||
llassert(!gCubeSnapshot); // assert a snapshot is not in progress
|
||||
if (LLAppViewer::instance()->logoutRequestSent())
|
||||
|
|
|
|||
|
|
@ -72,8 +72,8 @@ public:
|
|||
void unregisterViewerObject(LLVOVolume* drawablep);
|
||||
|
||||
bool isMirrorPass() const { return mRenderingMirror; }
|
||||
bool hasMirrors() const { return mHasMirrors; }
|
||||
|
||||
LLPlane currentMirrorClip() const { return mCurrentClipPlane; }
|
||||
LLVector3 mMirrorPosition;
|
||||
LLVector3 mMirrorNormal;
|
||||
|
||||
|
|
@ -135,6 +135,7 @@ private:
|
|||
bool mReset = false;
|
||||
|
||||
bool mRenderingMirror = false;
|
||||
bool mHasMirrors = false;
|
||||
|
||||
std::set<LLVOVolume*> mHeroVOList;
|
||||
LLVOVolume* mNearestHero;
|
||||
|
|
|
|||
|
|
@ -392,9 +392,11 @@ void LLPanelVolume::getState( )
|
|||
|
||||
bool probe_enabled = is_probe && editable && single_volume;
|
||||
|
||||
getChildView("Probe Update Type")->setVisible(LLPipeline::RenderMirrors);
|
||||
getChildView("Probe Update Label")->setVisible(LLPipeline::RenderMirrors);
|
||||
getChildView("Probe Dynamic")->setVisible(!LLPipeline::RenderMirrors);
|
||||
bool mirrors_enabled = LLPipeline::RenderMirrors && gPipeline.mHeroProbeManager.hasMirrors();
|
||||
|
||||
getChildView("Probe Update Type")->setVisible(mirrors_enabled);
|
||||
getChildView("Probe Update Label")->setVisible(mirrors_enabled);
|
||||
getChildView("Probe Dynamic")->setVisible(!mirrors_enabled);
|
||||
|
||||
getChildView("Probe Dynamic")->setEnabled(probe_enabled);
|
||||
getChildView("Probe Update Type")->setEnabled(probe_enabled);
|
||||
|
|
|
|||
|
|
@ -390,7 +390,7 @@ void LLViewerShaderMgr::setShaders()
|
|||
|
||||
mShaderList.clear();
|
||||
|
||||
LLShaderMgr::sMirrorsEnabled = LLPipeline::RenderMirrors;
|
||||
LLShaderMgr::sMirrorsEnabled = LLPipeline::RenderMirrors && gPipeline.mHeroProbeManager.hasMirrors();
|
||||
|
||||
if (!gGLManager.mHasRequirements)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1062,7 +1062,11 @@ void LLPipeline::refreshCachedSettings()
|
|||
RenderScreenSpaceReflectionAdaptiveStepMultiplier = gSavedSettings.getF32("RenderScreenSpaceReflectionAdaptiveStepMultiplier");
|
||||
RenderScreenSpaceReflectionGlossySamples = gSavedSettings.getS32("RenderScreenSpaceReflectionGlossySamples");
|
||||
RenderBufferVisualization = gSavedSettings.getS32("RenderBufferVisualization");
|
||||
RenderMirrors = gSavedSettings.getBOOL("RenderMirrors");
|
||||
if (gSavedSettings.getBOOL("RenderMirrors") != (BOOL)RenderMirrors)
|
||||
{
|
||||
RenderMirrors = gSavedSettings.getBOOL("RenderMirrors");
|
||||
LLViewerShaderMgr::instance()->setShaders();
|
||||
}
|
||||
sReflectionProbesEnabled = LLFeatureManager::getInstance()->isFeatureAvailable("RenderReflectionsEnabled") && gSavedSettings.getBOOL("RenderReflectionsEnabled");
|
||||
RenderSpotLight = nullptr;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue