Commit Graph

50 Commits

Author SHA1 Message Date
ROllerozxa
d71872af23 Fix texture paths for system-installed builds
* window icon
* custom touchscreen checkbox sprites
2023-07-03 20:31:03 +02:00
x2048
c09a3a52ac Add antialiasing filters (FXAA, SSAA) () 2023-06-28 05:30:08 +02:00
Vitaliy
aada2403c9 Try all known video drivers if the requested one fails to initialize 2023-06-25 11:13:23 +02:00
DS
c91182e1b3 Move the platform-dependent stuff in renderingengine.cpp to irrlicht () 2023-06-11 14:17:39 +02:00
DS
d49d80a4a0 Store whether window is maximized () 2023-04-14 21:04:03 +02:00
Gregor Parzefall
2a1bc82887 Fix black loading screen background if menu_clouds = false () 2023-04-13 18:12:48 +01:00
sfan5
9d736e8b8b Drop ENABLE_GLES option
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-08 20:19:35 +02:00
sfan5
c26e122485 Move video_driver default selection to runtime 2023-04-08 20:19:35 +02:00
x2048
6fe9bc8ae1 Remove obsolete rendering core init code ()
Also removes duplicate call to shadow render step
2023-03-19 20:22:45 +01:00
x2048
6d45c243f8 Add dynamic exposure correction ()
* Add uniform for frame delta time
* Adjust exposure in logarithmic (EV) space
* Add network support and LUA API
* Add testing mod
2023-01-06 22:33:25 +01:00
ROllerozxa
afd5caa26a Fully remove pageflip 3D mode () 2022-12-25 10:57:39 -05:00
Jean-Patrick Guerrero
33363c2a7e Fix progress bar look on HiDPI displays () 2022-12-24 12:26:56 -05:00
x2048
9b24041394 Improve bloom effect ()
* 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-11-02 09:09:48 +01:00
ROllerozxa
de509d05e6 Fix Android blank screen ()
Hardcode the variables to 0 on Android
2022-07-31 15:18:04 +02:00
SmallJoker
051181fa6e Enforce limits of settings that could cause buggy behaviour ()
Enforces the setting value bounds that are currently only limited by the GUI (settingtypes.txt).
2022-07-09 22:32:08 +02:00
sfan5
5cd7b0c6e4 Remove remains of video mode querying 2022-05-29 14:00:19 +02:00
paradust7
0704ca0550 Make logging cost free when there is no output target ()
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.
2022-05-04 20:55:01 +02:00
TheBrokenRail
3dcf9e963e Touch UI support for desktop builds () 2021-09-26 18:04:09 +02:00
sfan5
e0529da5c8 Fix trivial typos 2021-09-19 13:54:20 +02:00
hecks
850293bae6 Remove unused header includes 2021-07-21 22:07:13 +02:00
sfan5
5c89a0e12a Fix build on Ubuntu 16.04 and macOS
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-12 12:03:39 +02:00
hecks
1d25d1f7ad Refactor video driver name retrieval ()
Co-authored-by: hecktest <>
2021-07-11 09:50:34 +02:00
hecks
827a7852e2 Remove unsupported video drivers ()
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-30 20:42:15 +02:00
sfan5
edf098db63 Drop --videomodes, fullscreen_bpp and high_precision_fpu settings
These have been pointless for a while.
2021-06-16 17:41:34 +02:00
Loic Blot
de85bc9227 fix: some code tidy about includes & irr namespaces 2021-05-03 19:49:19 +02:00
Loic Blot
48d5abd5be refacto: remove get_gui_env & draw_load_screen from RenderingEngine singleton 2021-05-03 19:49:19 +02:00
Loic Blot
258101a910 refacto: RenderingEngine is now better hidden
* 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-03 19:49:19 +02:00
Loic Blot
74125a74d3 refacto: hide mesh_cache inside the rendering engine
This permit cleaner access to meshCache and ensure we don't access to it from all the code
2021-05-03 19:49:19 +02:00
Loic Blot
e0716384d6 refacto: add RenderingEngine::cleanupMeshCache
This permits to prevent client to own the mesh cache cleanup logic. It's better in RenderingEngine
2021-05-03 19:49:19 +02:00
sfan5
0077982fb7 GLES fixes ()
* Consistently set float precision for GLES

* Enable DPI scaling on Windows+GLES
2021-04-18 16:07:13 +02:00
sfan5
051bc9e662 Enable Irrlicht debug logging with --trace 2021-03-12 20:56:02 +01:00
sfan5
3579dd2186 Restore Irrlicht 1.9 support 2021-03-09 21:53:17 +01:00
k.h.lai
2072afb72b Fix memory leak detected by address sanitizer () 2021-02-02 20:56:24 +01:00
Maksim
6ba44d7452 Android: add OpenGL ES 2 support ()
.. and bump gradle to 3.6.3
2020-04-22 20:03:46 +02:00
sfan5
40df3931d8 Implement DPI scaling for Windows () 2020-04-11 20:03:59 +02:00
sfan5
de73f989eb Overall improvements to log messages ()
Hide some unnecessarily verbose ones behind --trace or disable them entirely.
Remove duplicate ones. Improve their contents in some places.
2020-04-08 20:13:23 +02:00
sfan5
ca363d3ef8 Unify OpenGL ES support 2019-08-04 16:12:52 +02:00
rubenwardy
9541165752 Add styles to most elements 2019-08-03 19:36:30 +01:00
rubenwardy
d1a1c5cbf0 Add custom colorable GUIButton implementation 2019-08-03 19:36:30 +01:00
Martin Renold
b02effdab9 Fix crash if display resolution is not set ()
On my wayland / gnome3 setup DisplayHeightMM() returns 0. This resulted in a
misleading startup error suggesting to fix my font paths.
2018-12-08 16:26:04 +01:00
thoughtjigs
3d516079eb Provide Xorg/net wm process ID ()
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-06-17 10:41:07 +02:00
stujones11
22a891a925 Android build fixes for c++11 2018-03-11 16:56:27 +01:00
red-001
9649e47214 [CSM] Add basic HUD manipulation. ()
* [CSM] Add basic HUD manipulation.

Workaround for on_connect not working right now.
2018-01-20 14:09:58 +01:00
Muhammad Rifqi Priyo Susanto
792752997c Add confirmation on new player registration ()
* 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()
2018-01-13 12:07:16 +01:00
Vitaliy
28841961ba Rewrite rendering engine ()
* Clean draw_*() arguments

* Split rendering core

* Add anaglyph 3D

* Interlaced 3D

* Drop obsolete methods
2017-10-31 19:27:10 +01:00
miqlas
a95e0d1876 Initial Haiku support ()
* Iitial Haiku support
2017-10-30 08:17:43 +01:00
Loïc Blot
17016090e3 Travis: Update clang from 4.0 to 5.0 ()
* Update clang from 4.0 to 5.0
2017-10-09 11:32:06 +02:00
Loïc Blot
85511a642f Cleanup various headers to reduce compilation times ()
* Cleanup various headers to reduce compilation times
2017-08-16 22:11:45 +02:00
Loïc Blot
9dd0f952e0 Modernize client code ()
* 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-08-15 20:30:30 +02:00
Loïc Blot
b3a36f7378 Isolate irrlicht references and use a singleton ()
* 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
2017-06-26 20:11:17 +02:00