aboutsummaryrefslogtreecommitdiff
path: root/src/client/renderingengine.cpp
AgeCommit message (Collapse)Author
2023-04-13Enable stencil shadowsstencil_shadowsLizzy Fleckenstein
Needs https://github.com/LizzyFleckenstein03/irrlicht to compile. TODO: - make lighting directional (figure out z-fighting issues) - set light angle to sun angle - add dynamic lights for torches (use light manager?) - shadow map terrain - finally get some sleep
2023-04-08Drop ENABLE_GLES optionsfan5
ENABLE_GLES predates forking Irrlicht. Its primary use was to distinguish Irrlicht-ogles from upstream version as Minetest could be compiled with either. That's not necessary anymore and gets in the way sometimes.
2023-04-08Move video_driver default selection to runtimesfan5
2023-03-19Remove obsolete rendering core init code (#13341)x2048
Also removes duplicate call to shadow render step
2023-01-06Add dynamic exposure correction (#12959)x2048
* Add uniform for frame delta time * Adjust exposure in logarithmic (EV) space * Add network support and LUA API * Add testing mod
2022-12-25Fully remove pageflip 3D mode (#13074)ROllerozxa
2022-12-24Fix progress bar look on HiDPI displays (#13055)Jean-Patrick Guerrero
2022-11-02Improve bloom effect (#12916)x2048
* Remove the built-in exposure factor of 2.5 * Add physics-based bloom (https://learnopengl.com/Guest-Articles/2022/Phys.-Based-Bloom) * Add luminance scaling for bloom layer to simulate HDR * Add setting to control bloom strength
2022-07-31Fix Android blank screen (#12604)ROllerozxa
Hardcode the variables to 0 on Android
2022-07-09Enforce limits of settings that could cause buggy behaviour (#12450)SmallJoker
Enforces the setting value bounds that are currently only limited by the GUI (settingtypes.txt).
2022-05-29Remove remains of video mode queryingsfan5
2022-05-04Make logging cost free when there is no output target (#12247)paradust7
The logging streams now do almost no work when there is no output target for them. For example, if LL_VERBOSE has no output targets, then `verbosestream << x` will return a StreamProxy with a null target. Any further `<<` operations applied to it will do nothing.
2021-09-26Touch UI support for desktop builds (#10729)TheBrokenRail
2021-09-19Fix trivial typossfan5
2021-07-21Remove unused header includeshecks
2021-07-12Fix build on Ubuntu 16.04 and macOSsfan5
Apparently the C++ standard library is supposed to provide specializations of std::hash for enums (even in C++11) but those don't always work for whatever reason.
2021-07-11Refactor video driver name retrieval (#11413)hecks
Co-authored-by: hecktest <>
2021-06-30Remove unsupported video drivers (#11395)hecks
This completely removes any mention of the software and D3D drivers from MT, preventing the user from accidentally attempting to use them. Users who need a software renderer should be asked to install Mesa drivers which offer superior fidelity and performance over the 'burningsvideo' driver.
2021-06-16Drop --videomodes, fullscreen_bpp and high_precision_fpu settingssfan5
These have been pointless for a while.
2021-05-03fix: some code tidy about includes & irr namespacesLoic Blot
2021-05-03refacto: remove get_gui_env & draw_load_screen from RenderingEngine singletonLoic Blot
2021-05-03refacto: RenderingEngine is now better hiddenLoic Blot
* No more access to the singleton instance from everywhere (RenderingEngine::get_instance dropped) * RenderingEngine::get_timer_time is now non static * RenderingEngine::draw_menu_scene is now non static * RenderingEngine::draw_scene is now non static * RenderingEngine::{initialize,finalize} are now non static * RenderingEngine::run is now non static * RenderingEngine::getWindowSize now have a static helper. It was mandatory to hide the global get_instance access
2021-05-03refacto: hide mesh_cache inside the rendering engineLoic Blot
This permit cleaner access to meshCache and ensure we don't access to it from all the code
2021-05-03refacto: add RenderingEngine::cleanupMeshCacheLoic Blot
This permits to prevent client to own the mesh cache cleanup logic. It's better in RenderingEngine
2021-04-18GLES fixes (#11205)sfan5
* Consistently set float precision for GLES * Enable DPI scaling on Windows+GLES
2021-03-12Enable Irrlicht debug logging with --tracesfan5
2021-03-09Restore Irrlicht 1.9 supportsfan5
2021-02-02Fix memory leak detected by address sanitizer (#10896)k.h.lai
2020-04-22Android: add OpenGL ES 2 support (#9715)Maksim
.. and bump gradle to 3.6.3
2020-04-11Implement DPI scaling for Windows (#9586)sfan5
2020-04-08Overall improvements to log messages (#9598)sfan5
Hide some unnecessarily verbose ones behind --trace or disable them entirely. Remove duplicate ones. Improve their contents in some places.
2019-08-04Unify OpenGL ES supportsfan5
2019-08-03Add styles to most elementsrubenwardy
2019-08-03Add custom colorable GUIButton implementationrubenwardy
2018-12-08Fix crash if display resolution is not set (#7950)Martin Renold
On my wayland / gnome3 setup DisplayHeightMM() returns 0. This resulted in a misleading startup error suggesting to fix my font paths.
2018-06-17Provide Xorg/net wm process ID (#7445)thoughtjigs
Adding support for _NET_WM_PID as defined in Extended Window Manager Hints Move verbose messaging to setupXorgTopLevelWindow method as Xorg messages should only occur when running in Xorg env. Irrlicht returns the XDisplay as a void* and XWindow as an unsigned long so reinterpret those as the appropriate type. Also fixed a spaces for tab formating issue
2018-03-11Android build fixes for c++11stujones11
2018-01-20[CSM] Add basic HUD manipulation. (#6067)red-001
* [CSM] Add basic HUD manipulation. Workaround for on_connect not working right now.
2018-01-13Add confirmation on new player registration (#6849)Muhammad Rifqi Priyo Susanto
* Attempt to add registration confirmation Using SRP auth mechanism, if server sent AUTH_MECHANISM_FIRST_SRP that means the player isn't exist. Also tell player about the server and chosen username. Local game has localhost as IP address of the server. Add RenderingEngine::draw_menu_scene() to draw GUI and clouds background. aborted -> connection_aborted * Rewrite information message text Client::promptConfirmRegister() -> Client::promptConfirmRegistration()
2017-10-31Rewrite rendering engine (#6253)Vitaliy
* Clean draw_*() arguments * Split rendering core * Add anaglyph 3D * Interlaced 3D * Drop obsolete methods
2017-10-30Initial Haiku support (#6568)miqlas
* Iitial Haiku support
2017-10-09Travis: Update clang from 4.0 to 5.0 (#6467)Loïc Blot
* Update clang from 4.0 to 5.0
2017-08-16Cleanup various headers to reduce compilation times (#6255)Loïc Blot
* Cleanup various headers to reduce compilation times
2017-08-15Modernize client code (#6250)Loïc Blot
* Various code style fixes * Use range based for loops * Use empty instead of empty objects * Use C++11 default keyword for trivial constructors and destructors * Drop some useless casts * Use emplace_back instead of push_back to improve performance of some vectors push
2017-06-26Isolate irrlicht references and use a singleton (#6041)Loïc Blot
* Add Device3D class which will contain IrrlichtDevice interface move getSupportedVideoDrivers to Device3D Add Device3D singleton & use it in various places Rename Device3D to Rendering engine & add helper functions to various device pointers More singleton work RenderingEngine owns draw_load_screen move draw functions to RenderingEngine Reduce IrrlichtDevice exposure and guienvironment RenderingEngine: Expose get_timer_time() to remove device from guiEngine Make irrlichtdevice & scene manager less exposed * Code style fixes * Move porting::getVideoDriverName, getVideoDriverFriendlyName, getDisplayDensity, getDisplaySize to RenderingEngine Fix XORG_USED macro -> RenderingEngine + create_engine_device from RenderingEngine constructor directly * enum paralax => enum parallax