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-->
|
<!--256... but they don't use this-->
|
||||||
<RenderGlowResolutionPow value="9"/>
|
<RenderGlowResolutionPow value="9"/>
|
||||||
<!--Sun/Moon only-->
|
<!--Sun/Moon only-->
|
||||||
<RenderLightingDetail value="1"/>
|
<RenderLocalLights value="1"/>
|
||||||
<!--Low number-->
|
<!--Low number-->
|
||||||
<RenderMaxPartCount value="4096"/>
|
<RenderMaxPartCount value="4096"/>
|
||||||
<!--bump okay-->
|
<!--bump okay-->
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<!--256... but they don't use this-->
|
<!--256... but they don't use this-->
|
||||||
<RenderGlowResolutionPow value="8"/>
|
<RenderGlowResolutionPow value="8"/>
|
||||||
<!--Sun/Moon only-->
|
<!--Sun/Moon only-->
|
||||||
<RenderLightingDetail value="0"/>
|
<RenderLocalLights value="0"/>
|
||||||
<!--Low number-->
|
<!--Low number-->
|
||||||
<RenderMaxPartCount value="1024"/>
|
<RenderMaxPartCount value="1024"/>
|
||||||
<!--bump okay-->
|
<!--bump okay-->
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<!--256... but they don't use this-->
|
<!--256... but they don't use this-->
|
||||||
<RenderGlowResolutionPow value="8"/>
|
<RenderGlowResolutionPow value="8"/>
|
||||||
<!--Sun/Moon only-->
|
<!--Sun/Moon only-->
|
||||||
<RenderLightingDetail value="1"/>
|
<RenderLocalLights value="1"/>
|
||||||
<!--Low number-->
|
<!--Low number-->
|
||||||
<RenderMaxPartCount value="2048"/>
|
<RenderMaxPartCount value="2048"/>
|
||||||
<!--bump okay-->
|
<!--bump okay-->
|
||||||
|
|||||||
@@ -8960,6 +8960,19 @@
|
|||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
</map>
|
</map>
|
||||||
|
|
||||||
|
<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>
|
<key>RenderShadowNearDist</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
@@ -9096,7 +9109,7 @@
|
|||||||
<string>Vector3</string>
|
<string>Vector3</string>
|
||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<array>
|
<array>
|
||||||
<real>0.40</real>
|
<real>0.80</real>
|
||||||
<real>1.00</real>
|
<real>1.00</real>
|
||||||
<real>0.00</real>
|
<real>0.00</real>
|
||||||
</array>
|
</array>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<!--256... but they don't use this-->
|
<!--256... but they don't use this-->
|
||||||
<RenderGlowResolutionPow value="9"/>
|
<RenderGlowResolutionPow value="9"/>
|
||||||
<!--Sun/Moon only-->
|
<!--Sun/Moon only-->
|
||||||
<RenderLightingDetail value="1"/>
|
<RenderLocalLights value="1"/>
|
||||||
<!--Low number-->
|
<!--Low number-->
|
||||||
<RenderMaxPartCount value="4096"/>
|
<RenderMaxPartCount value="4096"/>
|
||||||
<!--bump okay-->
|
<!--bump okay-->
|
||||||
|
|||||||
@@ -432,7 +432,7 @@ void LLPanelDisplay::refresh()
|
|||||||
mPostProcess = gSavedSettings.getS32("RenderGlowResolutionPow");
|
mPostProcess = gSavedSettings.getS32("RenderGlowResolutionPow");
|
||||||
|
|
||||||
// lighting and terrain radios
|
// lighting and terrain radios
|
||||||
mLightingDetail = gSavedSettings.getS32("RenderLightingDetail");
|
mLocalLights = gSavedSettings.getBOOL("RenderLocalLights");
|
||||||
mTerrainDetail = gSavedSettings.getS32("RenderTerrainDetail");
|
mTerrainDetail = gSavedSettings.getS32("RenderTerrainDetail");
|
||||||
|
|
||||||
// slider text boxes
|
// slider text boxes
|
||||||
@@ -753,6 +753,7 @@ void LLPanelDisplay::cancel()
|
|||||||
gSavedSettings.setBOOL("RenderUseImpostors", mAvatarImpostors);
|
gSavedSettings.setBOOL("RenderUseImpostors", mAvatarImpostors);
|
||||||
gSavedSettings.setBOOL("RenderAvatarCloth", mAvatarCloth);
|
gSavedSettings.setBOOL("RenderAvatarCloth", mAvatarCloth);
|
||||||
|
|
||||||
|
gSavedSettings.setBOOL("RenderLocalLights", mLocalLights);
|
||||||
gSavedSettings.setS32("RenderTerrainDetail", mTerrainDetail);
|
gSavedSettings.setS32("RenderTerrainDetail", mTerrainDetail);
|
||||||
|
|
||||||
gSavedSettings.setF32("RenderFarClip", mRenderFarClip);
|
gSavedSettings.setF32("RenderFarClip", mRenderFarClip);
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ protected:
|
|||||||
BOOL mAvatarImpostors;
|
BOOL mAvatarImpostors;
|
||||||
BOOL mAvatarCloth;
|
BOOL mAvatarCloth;
|
||||||
S32 mAvatarMode;
|
S32 mAvatarMode;
|
||||||
S32 mLightingDetail;
|
BOOL mLocalLights;
|
||||||
S32 mTerrainDetail;
|
S32 mTerrainDetail;
|
||||||
|
|
||||||
F32 mRenderFarClip;
|
F32 mRenderFarClip;
|
||||||
|
|||||||
@@ -427,6 +427,12 @@ static bool handleRenderDynamicLODChanged(const LLSD& newvalue)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool handleRenderLocalLightsChanged(const LLSD& newvalue)
|
||||||
|
{
|
||||||
|
gPipeline.setLightingDetail(-1);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
static bool handleRenderUseFBOChanged(const LLSD& newvalue)
|
static bool handleRenderUseFBOChanged(const LLSD& newvalue)
|
||||||
{
|
{
|
||||||
LLRenderTarget::sUseFBO = newvalue.asBoolean();
|
LLRenderTarget::sUseFBO = newvalue.asBoolean();
|
||||||
@@ -611,6 +617,7 @@ void settings_setup_listeners()
|
|||||||
gSavedSettings.getControl("RenderFogRatio")->getSignal()->connect(boost::bind(&handleFogRatioChanged, _1));
|
gSavedSettings.getControl("RenderFogRatio")->getSignal()->connect(boost::bind(&handleFogRatioChanged, _1));
|
||||||
gSavedSettings.getControl("RenderMaxPartCount")->getSignal()->connect(boost::bind(&handleMaxPartCountChanged, _1));
|
gSavedSettings.getControl("RenderMaxPartCount")->getSignal()->connect(boost::bind(&handleMaxPartCountChanged, _1));
|
||||||
gSavedSettings.getControl("RenderDynamicLOD")->getSignal()->connect(boost::bind(&handleRenderDynamicLODChanged, _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("RenderDebugTextureBind")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _1));
|
||||||
gSavedSettings.getControl("RenderFastAlpha")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _1));
|
gSavedSettings.getControl("RenderFastAlpha")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _1));
|
||||||
gSavedSettings.getControl("RenderObjectBump")->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)
|
S32 LLPipeline::setLightingDetail(S32 level)
|
||||||
{
|
{
|
||||||
assertInitialized();
|
|
||||||
|
|
||||||
if (level < 0)
|
if (level < 0)
|
||||||
{
|
{
|
||||||
if (gSavedSettings.getBOOL("VertexShaderEnable"))
|
if (gSavedSettings.getBOOL("RenderLocalLights"))
|
||||||
{
|
{
|
||||||
level = 1;
|
level = 1;
|
||||||
}
|
}
|
||||||
@@ -973,15 +971,12 @@ S32 LLPipeline::setLightingDetail(S32 level)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
level = llclamp(level, 0, getMaxLightingDetail());
|
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;
|
return mLightingDetail;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4794,7 +4789,6 @@ void LLPipeline::enableLightsStatic()
|
|||||||
if (mLightingDetail >= 2)
|
if (mLightingDetail >= 2)
|
||||||
{
|
{
|
||||||
mask |= mLightMovingMask; // Hardware moving lights
|
mask |= mLightMovingMask; // Hardware moving lights
|
||||||
glColor4f(0.f, 0.f, 0.f, 1.0f); // no local lighting by default
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -4808,10 +4802,7 @@ void LLPipeline::enableLightsDynamic()
|
|||||||
assertInitialized();
|
assertInitialized();
|
||||||
U32 mask = 0xff & (~2); // Local lights
|
U32 mask = 0xff & (~2); // Local lights
|
||||||
enableLights(mask);
|
enableLights(mask);
|
||||||
if (mLightingDetail >= 2)
|
|
||||||
{
|
|
||||||
glColor4f(0.f, 0.f, 0.f, 1.f); // no local lighting by default
|
|
||||||
}
|
|
||||||
|
|
||||||
LLVOAvatar* avatarp = gAgent.getAvatarObject();
|
LLVOAvatar* avatarp = gAgent.getAvatarObject();
|
||||||
|
|
||||||
@@ -4851,10 +4842,6 @@ void LLPipeline::enableLightsFullbright(const LLColor4& color)
|
|||||||
enableLights(mask);
|
enableLights(mask);
|
||||||
|
|
||||||
glLightModelfv(GL_LIGHT_MODEL_AMBIENT,color.mV);
|
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()
|
void LLPipeline::disableLights()
|
||||||
@@ -6746,8 +6733,7 @@ void LLPipeline::renderDeferredLighting()
|
|||||||
gPipeline.popRenderTypeMask();
|
gPipeline.popRenderTypeMask();
|
||||||
}
|
}
|
||||||
|
|
||||||
static const LLCachedControl<bool> render_local("RenderDeferredLocalLights",false);
|
static const LLCachedControl<bool> render_local("RenderLocalLights",false);
|
||||||
static const LLCachedControl<bool> render_fullscreen("RenderDeferredFullscreenLights",false);
|
|
||||||
|
|
||||||
if (LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_DEFERRED) > 2)
|
if (LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_DEFERRED) > 2)
|
||||||
{
|
{
|
||||||
@@ -6756,7 +6742,7 @@ void LLPipeline::renderDeferredLighting()
|
|||||||
mDeferredLight[2].clear(GL_COLOR_BUFFER_BIT);
|
mDeferredLight[2].clear(GL_COLOR_BUFFER_BIT);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (render_local || render_fullscreen)
|
if (render_local)
|
||||||
{
|
{
|
||||||
gGL.setSceneBlendType(LLRender::BT_ADD);
|
gGL.setSceneBlendType(LLRender::BT_ADD);
|
||||||
std::list<LLVector4> fullscreen_lights;
|
std::list<LLVector4> fullscreen_lights;
|
||||||
@@ -6771,8 +6757,10 @@ void LLPipeline::renderDeferredLighting()
|
|||||||
std::list<LLVector4> light_colors;
|
std::list<LLVector4> light_colors;
|
||||||
|
|
||||||
LLVertexBuffer::unbind();
|
LLVertexBuffer::unbind();
|
||||||
|
|
||||||
F32 v[24];
|
F32 v[24];
|
||||||
glVertexPointer(3, GL_FLOAT, 0, v);
|
glVertexPointer(3, GL_FLOAT, 0, v);
|
||||||
|
|
||||||
{
|
{
|
||||||
bindDeferredShader(gDeferredLightProgram);
|
bindDeferredShader(gDeferredLightProgram);
|
||||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
|
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
|
||||||
@@ -6858,7 +6846,7 @@ void LLPipeline::renderDeferredLighting()
|
|||||||
GL_UNSIGNED_BYTE, get_box_fan_indices(camera, center));
|
GL_UNSIGNED_BYTE, get_box_fan_indices(camera, center));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (render_fullscreen)
|
else
|
||||||
{
|
{
|
||||||
if (volume->isLightSpotlight())
|
if (volume->isLightSpotlight())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -416,7 +416,7 @@
|
|||||||
width="128">
|
width="128">
|
||||||
Lighting Detail:
|
Lighting Detail:
|
||||||
</text>
|
</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"
|
enabled="true" follows="left|top" height="38" left_delta="0"
|
||||||
mouse_opaque="true" name="LightingDetailRadio" width="321">
|
mouse_opaque="true" name="LightingDetailRadio" width="321">
|
||||||
<radio_item type="string" length="1" bottom="-19" enabled="true" follows="left|top" height="16"
|
<radio_item type="string" length="1" bottom="-19" enabled="true" follows="left|top" height="16"
|
||||||
|
|||||||
Reference in New Issue
Block a user