Disable shadows when UBOs are off
This commit is contained in:
parent
edecfbdb59
commit
2a9d63b7ae
@ -220,7 +220,7 @@ void SunLightProvider::OnSetConstants(IMaterialRendererServices *srv, int)
|
||||
m_wind[1] += winddir.Z;
|
||||
srv->setVertexShaderConstant("wind", m_wind, 2);
|
||||
|
||||
if (UserConfigParams::m_shadows)
|
||||
if (UserConfigParams::m_shadows && !UserConfigParams::m_ubo_disabled)
|
||||
{
|
||||
srv->setVertexShaderConstant("shadowmat", m_shadowmat.pointer(), 16);
|
||||
}
|
||||
|
@ -276,7 +276,7 @@ void IrrDriver::renderScene(scene::ICameraSceneNode * const camnode, unsigned po
|
||||
// To avoid wrong culling, use the largest view possible
|
||||
m_scene_manager->setActiveCamera(m_suncam);
|
||||
if (!m_mipviz && !m_wireframe && UserConfigParams::m_dynamic_lights &&
|
||||
UserConfigParams::m_shadows && hasShadow)
|
||||
UserConfigParams::m_shadows && !UserConfigParams::m_ubo_disabled && hasShadow)
|
||||
renderShadows();
|
||||
m_scene_manager->setActiveCamera(camnode);
|
||||
PROFILER_POP_CPU_MARKER();
|
||||
|
@ -172,7 +172,7 @@ void IrrDriver::renderLights(unsigned pointlightcount)
|
||||
if (!World::getWorld() || World::getWorld()->getTrack()->hasShadows())
|
||||
{
|
||||
ScopedGPUTimer timer(irr_driver->getGPUTimer(Q_SUN));
|
||||
if (World::getWorld() && UserConfigParams::m_shadows)
|
||||
if (World::getWorld() && UserConfigParams::m_shadows && !UserConfigParams::m_ubo_disabled)
|
||||
m_post_processing->renderShadowedSunlight(sun_ortho_matrix, m_rtts->getShadowDepthTex());
|
||||
else
|
||||
m_post_processing->renderSunlight();
|
||||
|
@ -226,7 +226,7 @@ RTT::RTT(size_t width, size_t height)
|
||||
somevector.push_back(RenderTargetTextures[RTT_TMP_128]);
|
||||
FrameBuffers.push_back(new FrameBuffer(somevector, 128, 128));
|
||||
|
||||
if (UserConfigParams::m_shadows)
|
||||
if (UserConfigParams::m_shadows && !UserConfigParams::m_ubo_disabled)
|
||||
{
|
||||
shadowColorTex = generateRTT3D(GL_TEXTURE_2D_ARRAY, 1024, 1024, 4, GL_R8, GL_RED, GL_UNSIGNED_BYTE);
|
||||
shadowDepthTex = generateRTT3D(GL_TEXTURE_2D_ARRAY, 1024, 1024, 4, GL_DEPTH24_STENCIL8, GL_DEPTH_STENCIL, GL_UNSIGNED_INT_24_8);
|
||||
@ -265,7 +265,7 @@ RTT::~RTT()
|
||||
{
|
||||
glDeleteTextures(RTT_COUNT, RenderTargetTextures);
|
||||
glDeleteTextures(1, &DepthStencilTexture);
|
||||
if (UserConfigParams::m_shadows)
|
||||
if (UserConfigParams::m_shadows && !UserConfigParams::m_ubo_disabled)
|
||||
{
|
||||
delete m_shadow_FBO;
|
||||
glDeleteTextures(1, &shadowColorTex);
|
||||
|
@ -83,7 +83,7 @@ void CustomVideoSettingsDialog::beforeAddingWidgets()
|
||||
shadows->addLabel( _("Disabled") ); // 0
|
||||
shadows->addLabel( _("low") ); // 1
|
||||
shadows->addLabel( _("high") ); // 2
|
||||
shadows->setValue( UserConfigParams::m_shadows );
|
||||
shadows->setValue(UserConfigParams::m_shadows && !UserConfigParams::m_ubo_disabled);
|
||||
|
||||
getWidget<CheckBoxWidget>("dynamiclight")->setState(UserConfigParams::m_dynamic_lights);
|
||||
getWidget<CheckBoxWidget>("lightshaft")->setState(UserConfigParams::m_light_shaft);
|
||||
@ -114,7 +114,8 @@ GUIEngine::EventPropagation CustomVideoSettingsDialog::processEvent(const std::s
|
||||
if (advanced_pipeline)
|
||||
{
|
||||
UserConfigParams::m_shadows =
|
||||
advanced_pipeline && getWidget<SpinnerWidget>("shadows")->getValue();
|
||||
advanced_pipeline && getWidget<SpinnerWidget>("shadows")->getValue() &&
|
||||
getWidget<CheckBoxWidget>("ubo")->getState();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user