RenderLightingDetail renamed to RenderLocalLights. Toggling light level should work now. RenderDeferredFullscreenLights removed.
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
<!--256... but they don't use this-->
|
||||
<RenderGlowResolutionPow value="9"/>
|
||||
<!--Sun/Moon only-->
|
||||
<RenderLightingDetail value="1"/>
|
||||
<RenderLocalLights value="1"/>
|
||||
<!--Low number-->
|
||||
<RenderMaxPartCount value="4096"/>
|
||||
<!--bump okay-->
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<!--256... but they don't use this-->
|
||||
<RenderGlowResolutionPow value="8"/>
|
||||
<!--Sun/Moon only-->
|
||||
<RenderLightingDetail value="0"/>
|
||||
<RenderLocalLights value="0"/>
|
||||
<!--Low number-->
|
||||
<RenderMaxPartCount value="1024"/>
|
||||
<!--bump okay-->
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<!--256... but they don't use this-->
|
||||
<RenderGlowResolutionPow value="8"/>
|
||||
<!--Sun/Moon only-->
|
||||
<RenderLightingDetail value="1"/>
|
||||
<RenderLocalLights value="1"/>
|
||||
<!--Low number-->
|
||||
<RenderMaxPartCount value="2048"/>
|
||||
<!--bump okay-->
|
||||
|
||||
@@ -8960,9 +8960,22 @@
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>RenderShadowNearDist</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
||||
<key>RenderLocalLights</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Whether or not to render local lights.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
|
||||
<key>RenderShadowNearDist</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Near clip plane of shadow camera (affects precision of depth shadows).</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
@@ -9096,7 +9109,7 @@
|
||||
<string>Vector3</string>
|
||||
<key>Value</key>
|
||||
<array>
|
||||
<real>0.40</real>
|
||||
<real>0.80</real>
|
||||
<real>1.00</real>
|
||||
<real>0.00</real>
|
||||
</array>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<!--256... but they don't use this-->
|
||||
<RenderGlowResolutionPow value="9"/>
|
||||
<!--Sun/Moon only-->
|
||||
<RenderLightingDetail value="1"/>
|
||||
<RenderLocalLights value="1"/>
|
||||
<!--Low number-->
|
||||
<RenderMaxPartCount value="4096"/>
|
||||
<!--bump okay-->
|
||||
|
||||
@@ -432,7 +432,7 @@ void LLPanelDisplay::refresh()
|
||||
mPostProcess = gSavedSettings.getS32("RenderGlowResolutionPow");
|
||||
|
||||
// lighting and terrain radios
|
||||
mLightingDetail = gSavedSettings.getS32("RenderLightingDetail");
|
||||
mLocalLights = gSavedSettings.getBOOL("RenderLocalLights");
|
||||
mTerrainDetail = gSavedSettings.getS32("RenderTerrainDetail");
|
||||
|
||||
// slider text boxes
|
||||
@@ -753,6 +753,7 @@ void LLPanelDisplay::cancel()
|
||||
gSavedSettings.setBOOL("RenderUseImpostors", mAvatarImpostors);
|
||||
gSavedSettings.setBOOL("RenderAvatarCloth", mAvatarCloth);
|
||||
|
||||
gSavedSettings.setBOOL("RenderLocalLights", mLocalLights);
|
||||
gSavedSettings.setS32("RenderTerrainDetail", mTerrainDetail);
|
||||
|
||||
gSavedSettings.setF32("RenderFarClip", mRenderFarClip);
|
||||
|
||||
@@ -163,7 +163,7 @@ protected:
|
||||
BOOL mAvatarImpostors;
|
||||
BOOL mAvatarCloth;
|
||||
S32 mAvatarMode;
|
||||
S32 mLightingDetail;
|
||||
BOOL mLocalLights;
|
||||
S32 mTerrainDetail;
|
||||
|
||||
F32 mRenderFarClip;
|
||||
|
||||
@@ -427,6 +427,12 @@ static bool handleRenderDynamicLODChanged(const LLSD& newvalue)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool handleRenderLocalLightsChanged(const LLSD& newvalue)
|
||||
{
|
||||
gPipeline.setLightingDetail(-1);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool handleRenderUseFBOChanged(const LLSD& newvalue)
|
||||
{
|
||||
LLRenderTarget::sUseFBO = newvalue.asBoolean();
|
||||
@@ -611,6 +617,7 @@ void settings_setup_listeners()
|
||||
gSavedSettings.getControl("RenderFogRatio")->getSignal()->connect(boost::bind(&handleFogRatioChanged, _1));
|
||||
gSavedSettings.getControl("RenderMaxPartCount")->getSignal()->connect(boost::bind(&handleMaxPartCountChanged, _1));
|
||||
gSavedSettings.getControl("RenderDynamicLOD")->getSignal()->connect(boost::bind(&handleRenderDynamicLODChanged, _1));
|
||||
gSavedSettings.getControl("RenderLocalLights")->getSignal()->connect(boost::bind(&handleRenderLocalLightsChanged, _1));
|
||||
gSavedSettings.getControl("RenderDebugTextureBind")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _1));
|
||||
gSavedSettings.getControl("RenderFastAlpha")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _1));
|
||||
gSavedSettings.getControl("RenderObjectBump")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _1));
|
||||
|
||||
@@ -959,11 +959,9 @@ S32 LLPipeline::getMaxLightingDetail() const
|
||||
|
||||
S32 LLPipeline::setLightingDetail(S32 level)
|
||||
{
|
||||
assertInitialized();
|
||||
|
||||
if (level < 0)
|
||||
{
|
||||
if (gSavedSettings.getBOOL("VertexShaderEnable"))
|
||||
if (gSavedSettings.getBOOL("RenderLocalLights"))
|
||||
{
|
||||
level = 1;
|
||||
}
|
||||
@@ -973,15 +971,12 @@ S32 LLPipeline::setLightingDetail(S32 level)
|
||||
}
|
||||
}
|
||||
level = llclamp(level, 0, getMaxLightingDetail());
|
||||
if (level != mLightingDetail)
|
||||
//Bugfix: If setshaders was called with RenderLocalLights off then enabling RenderLocalLights later will not work. Reloading shaders fixes this.
|
||||
if (level != mLightingDetail && mVertexShadersLoaded)
|
||||
{
|
||||
mLightingDetail = level;
|
||||
|
||||
if (mVertexShadersLoaded == 1)
|
||||
{
|
||||
LLViewerShaderMgr::instance()->setShaders();
|
||||
}
|
||||
LLViewerShaderMgr::instance()->setShaders();
|
||||
}
|
||||
mLightingDetail = level;
|
||||
return mLightingDetail;
|
||||
}
|
||||
|
||||
@@ -4794,7 +4789,6 @@ void LLPipeline::enableLightsStatic()
|
||||
if (mLightingDetail >= 2)
|
||||
{
|
||||
mask |= mLightMovingMask; // Hardware moving lights
|
||||
glColor4f(0.f, 0.f, 0.f, 1.0f); // no local lighting by default
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -4808,10 +4802,7 @@ void LLPipeline::enableLightsDynamic()
|
||||
assertInitialized();
|
||||
U32 mask = 0xff & (~2); // Local lights
|
||||
enableLights(mask);
|
||||
if (mLightingDetail >= 2)
|
||||
{
|
||||
glColor4f(0.f, 0.f, 0.f, 1.f); // no local lighting by default
|
||||
}
|
||||
|
||||
|
||||
LLVOAvatar* avatarp = gAgent.getAvatarObject();
|
||||
|
||||
@@ -4851,10 +4842,6 @@ void LLPipeline::enableLightsFullbright(const LLColor4& color)
|
||||
enableLights(mask);
|
||||
|
||||
glLightModelfv(GL_LIGHT_MODEL_AMBIENT,color.mV);
|
||||
/*if (mLightingDetail >= 2)
|
||||
{
|
||||
glColor4f(0.f, 0.f, 0.f, 1.f); // no local lighting by default
|
||||
}*/
|
||||
}
|
||||
|
||||
void LLPipeline::disableLights()
|
||||
@@ -6746,8 +6733,7 @@ void LLPipeline::renderDeferredLighting()
|
||||
gPipeline.popRenderTypeMask();
|
||||
}
|
||||
|
||||
static const LLCachedControl<bool> render_local("RenderDeferredLocalLights",false);
|
||||
static const LLCachedControl<bool> render_fullscreen("RenderDeferredFullscreenLights",false);
|
||||
static const LLCachedControl<bool> render_local("RenderLocalLights",false);
|
||||
|
||||
if (LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_DEFERRED) > 2)
|
||||
{
|
||||
@@ -6756,7 +6742,7 @@ void LLPipeline::renderDeferredLighting()
|
||||
mDeferredLight[2].clear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
|
||||
if (render_local || render_fullscreen)
|
||||
if (render_local)
|
||||
{
|
||||
gGL.setSceneBlendType(LLRender::BT_ADD);
|
||||
std::list<LLVector4> fullscreen_lights;
|
||||
@@ -6768,16 +6754,18 @@ void LLPipeline::renderDeferredLighting()
|
||||
mTargetShadowSpotLight[i] = NULL;
|
||||
}
|
||||
|
||||
std::list<LLVector4> light_colors;
|
||||
std::list<LLVector4> light_colors;
|
||||
|
||||
LLVertexBuffer::unbind();
|
||||
F32 v[24];
|
||||
glVertexPointer(3, GL_FLOAT, 0, v);
|
||||
{
|
||||
bindDeferredShader(gDeferredLightProgram);
|
||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
|
||||
for (LLDrawable::drawable_set_t::iterator iter = mLights.begin(); iter != mLights.end(); ++iter)
|
||||
{
|
||||
LLVertexBuffer::unbind();
|
||||
|
||||
F32 v[24];
|
||||
glVertexPointer(3, GL_FLOAT, 0, v);
|
||||
|
||||
{
|
||||
bindDeferredShader(gDeferredLightProgram);
|
||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
|
||||
for (LLDrawable::drawable_set_t::iterator iter = mLights.begin(); iter != mLights.end(); ++iter)
|
||||
{
|
||||
LLDrawable* drawablep = *iter;
|
||||
|
||||
LLVOVolume* volume = drawablep->getVOVolume();
|
||||
@@ -6858,7 +6846,7 @@ void LLPipeline::renderDeferredLighting()
|
||||
GL_UNSIGNED_BYTE, get_box_fan_indices(camera, center));
|
||||
}
|
||||
}
|
||||
else if (render_fullscreen)
|
||||
else
|
||||
{
|
||||
if (volume->isLightSpotlight())
|
||||
{
|
||||
|
||||
@@ -416,7 +416,7 @@
|
||||
width="128">
|
||||
Lighting Detail:
|
||||
</text>
|
||||
<radio_group bottom_delta="-43" control_name="RenderLightingDetail" draw_border="false"
|
||||
<radio_group bottom_delta="-43" control_name="RenderLocalLights" draw_border="false"
|
||||
enabled="true" follows="left|top" height="38" left_delta="0"
|
||||
mouse_opaque="true" name="LightingDetailRadio" width="321">
|
||||
<radio_item type="string" length="1" bottom="-19" enabled="true" follows="left|top" height="16"
|
||||
|
||||
Reference in New Issue
Block a user