RenderLightingDetail renamed to RenderLocalLights. Toggling light level should work now. RenderDeferredFullscreenLights removed.

This commit is contained in:
Shyotl
2011-05-22 00:11:12 -05:00
parent 0785d392e3
commit 7a907c4448
10 changed files with 52 additions and 43 deletions

View File

@@ -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-->

View File

@@ -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-->

View File

@@ -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-->

View File

@@ -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>

View File

@@ -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-->

View File

@@ -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);

View File

@@ -163,7 +163,7 @@ protected:
BOOL mAvatarImpostors;
BOOL mAvatarCloth;
S32 mAvatarMode;
S32 mLightingDetail;
BOOL mLocalLights;
S32 mTerrainDetail;
F32 mRenderFarClip;

View File

@@ -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));

View File

@@ -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())
{

View File

@@ -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"