diff options
Diffstat (limited to 'src/client/render')
-rw-r--r-- | src/client/render/core.cpp | 16 | ||||
-rw-r--r-- | src/client/render/stereo.cpp | 2 |
2 files changed, 14 insertions, 4 deletions
diff --git a/src/client/render/core.cpp b/src/client/render/core.cpp index 44ef1c98c..ca5d3c614 100644 --- a/src/client/render/core.cpp +++ b/src/client/render/core.cpp @@ -35,8 +35,15 @@ RenderingCore::RenderingCore(IrrlichtDevice *_device, Client *_client, Hud *_hud screensize = driver->getScreenSize(); virtual_size = screensize; + // disable if unsupported + if (g_settings->getBool("enable_dynamic_shadows") && ( + g_settings->get("video_driver") != "opengl" || + !g_settings->getBool("enable_shaders"))) { + g_settings->setBool("enable_dynamic_shadows", false); + } + if (g_settings->getBool("enable_shaders") && - false && g_settings->getBool("enable_dynamic_shadows")) { + g_settings->getBool("enable_dynamic_shadows")) { shadow_renderer = new ShadowRenderer(device, client); } } @@ -76,8 +83,11 @@ void RenderingCore::draw(video::SColor _skycolor, bool _show_hud, bool _show_min draw_wield_tool = _draw_wield_tool; draw_crosshair = _draw_crosshair; - if (shadow_renderer) + if (shadow_renderer) { + // This is necessary to render shadows for animations correctly + smgr->getRootSceneNode()->OnAnimate(device->getTimer()->getTime()); shadow_renderer->update(); + } beforeDraw(); drawAll(); @@ -103,7 +113,7 @@ void RenderingCore::drawHUD() if (show_hud) { if (draw_crosshair) hud->drawCrosshair(); - + hud->drawHotbar(client->getEnv().getLocalPlayer()->getWieldIndex()); hud->drawLuaElements(camera->getOffset()); camera->drawNametags(); diff --git a/src/client/render/stereo.cpp b/src/client/render/stereo.cpp index 967b5a78f..0f54e166e 100644 --- a/src/client/render/stereo.cpp +++ b/src/client/render/stereo.cpp @@ -27,7 +27,7 @@ RenderingCoreStereo::RenderingCoreStereo( IrrlichtDevice *_device, Client *_client, Hud *_hud) : RenderingCore(_device, _client, _hud) { - eye_offset = BS * g_settings->getFloat("3d_paralax_strength"); + eye_offset = BS * g_settings->getFloat("3d_paralax_strength", -0.087f, 0.087f); } void RenderingCoreStereo::beforeDraw() |