Commit graph

71 commits

Author SHA1 Message Date
Leon Styhre 6ff0ff1c47 Renamed Renderer_GL21 and Shader_GL21 to RendererOpenGL and ShaderOpenGL. 2022-03-14 20:14:18 +01:00
Leon Styhre f0c35d8509 Refactored the rendering code into proper classes. 2022-03-14 19:51:48 +01:00
Leon Styhre ac6cc41059 Added a command line option to rotate the application screen 180 degrees.
Also fixed a shader post-processing bug when rotating the application screen.
2022-03-12 00:40:03 +01:00
Leon Styhre 755b2c9f50 Changed some render variables to more verbose names.
Also fixed an issue with fade transitions for legacy themes.
2022-03-11 23:51:41 +01:00
Leon Styhre 63af859618 Modernized the OpenGL renderer and replaced most fixed function pipeline code with shaders.
Also greatly improved the shader post processing performance and added component dimming support.
2022-03-11 23:17:04 +01:00
Leon Styhre a42d63e567 Code cleanup by moving a lot of casts to the appropriate getter functions. 2022-02-11 23:38:23 +01:00
Leon Styhre 89efdef39c Fixed an issue where horizontal and vertical color gradients were mixed up.
Also added logging in case an invalid gradient type is used in a theme.
2022-02-11 18:44:24 +01:00
Leon Styhre 0c8efee8ad General refactoring and code cleanup. 2022-01-16 18:18:28 +01:00
Leon Styhre 8a6652552f Set the clang-format option SpaceBeforeCpp11BracedList to true. 2022-01-16 12:09:55 +01:00
Leon Styhre dde456cbc8 Removed the unnecessary Renderer::getWindowFlags() function. 2022-01-14 18:23:51 +01:00
Leon Styhre d85c966e49 Added logging of the display refresh rate on startup. 2022-01-12 21:26:43 +01:00
Leon Styhre 0c552dd8fb Added a GLSL shader to convert the color model BGRA to RGBA.
Also added support for specifying a separate format as compared to internalFormat when creating textures, although the shader should be used primarily as this is not really supported by the OpenGL standard.
2022-01-07 18:54:52 +01:00
Leon Styhre 254b00a3d8 Large refactoring to improve thread safety and improve singleton pattern usage. 2022-01-04 21:21:26 +01:00
Leon Styhre 045e56ae3f (Windows) Changed the fullscreen mode to SDL_WINDOW_BORDERLESS.
Also removed the 'AMD and Intel GPU game launch workaround' menu option.
2021-12-09 18:53:22 +01:00
Leon Styhre 0978c697a2 (macOS) Updated a code comment as the issue described was resolved with SDL 2.0.18 2021-12-08 21:19:24 +01:00
Leon Styhre 515577c8f9 (Unix) Changed the fullscreen mode to SDL_WINDOW_FULLSCREEN_DESKTOP.
Also removed the --windowed, --fullscreen-normal and --fullscreen-borderless command line options and menu entry.
2021-12-05 13:51:39 +01:00
Leon Styhre af52d9b0ac Changed most increment and decrement operators from postfix to prefix for es-core. 2021-11-17 17:48:49 +01:00
Leon Styhre 3e12fcb420 General refactoring and minor optimizations throughout the codebase. 2021-11-09 22:40:08 +01:00
Leon Styhre db5fb48cf8 OCD commit to fix some spelling inconsistencies. 2021-09-21 22:53:08 +02:00
Leon Styhre 63767347f2 Fixed numerous compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-19 14:37:10 +02:00
Leon Styhre 0b6d987263 Fixed lots of compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-18 09:53:26 +02:00
Leon Styhre 91879c9b4a Cleaned up some rendering code. 2021-08-19 21:39:01 +02:00
Leon Styhre 7b5d673050 Replaced the internal Vector2i data type and functions with the GLM library equivalent.
Also applied some code formatting changes for braced lists using clang-format.
2021-08-17 18:41:45 +02:00
Leon Styhre 1fb0ccef0d Replaced the internal Vector2f data type and functions with the GLM library equivalent. 2021-08-16 18:25:01 +02:00
Leon Styhre 722468129e Replaced all internal matrix data types and functions with the GLM library equivalents.
Also changed some vectors.
2021-08-15 19:30:31 +02:00
Leon Styhre 23fdc00044 Formatted the es-core source tree using clang-format. 2021-07-07 20:31:46 +02:00
Leon Styhre dc29b97e91 Changed es_settings.cfg to es_settings.xml 2021-06-16 19:05:24 +02:00
Leon Styhre 75430f210a Some cosmetic code cleanup. 2021-06-11 17:02:06 +02:00
Leon Styhre 08aefdb48e (macOS) Made the application work properly on high DPI displays. 2021-05-02 12:35:16 +02:00
Leon Styhre 330a539241 Made a Windows-specific fix for the white screen flashing during startup. 2021-03-20 08:52:08 +01:00
Leon Styhre cd19ef7b16 Properly fixed the white screen flash seen on application startup. 2021-03-19 20:05:34 +01:00
Leon Styhre adaec71f5b Some minor code cleanup. 2021-03-19 18:25:37 +01:00
Leon Styhre f08b434bc6 Fixed two regressions that could lead to crashes. 2021-03-17 20:16:22 +01:00
Leon Styhre 6a57a44df9 Improved the sizes of some menu GUI elements on 4:3 aspect ratio displays. 2021-03-09 17:17:33 +01:00
Leon Styhre b44a21dc5a (Unix) Added a menu option to enable or disable the desktop compositor. 2021-02-22 21:13:06 +01:00
Leon Styhre ec5f1c1b5f Fixed the annoying white screen flashing when starting the application. 2021-01-25 18:11:18 +01:00
Leon Styhre 4d2ef89864 Added multi-monitor support. 2021-01-24 23:44:50 +01:00
Leon Styhre f7207edca5 (Windows) Fixed an issue with reliably launching games. 2021-01-24 13:51:40 +01:00
Leon Styhre 88235a0f06 Started to add support for multi-monitor setups. 2021-01-24 12:03:44 +01:00
Leon Styhre 97a6558472 (Windows) Made the application have the correct fullscreen size on high DPI displays. 2021-01-21 21:52:28 +01:00
Leon Styhre 632d11e46f Minor code update. 2021-01-16 23:01:13 +01:00
Leon Styhre ef25c675f7 Fixed an issue where separator lines would not get rendered on lower resolutions. 2021-01-16 22:55:38 +01:00
Leon Styhre ee8e0a0c89 Some minor code cleanup. 2021-01-15 18:47:01 +01:00
Leon Styhre 11bf8046d8 Added screen resolution modifiers to get proper high resolution scaling. 2021-01-13 19:42:06 +01:00
Leon Styhre c95334756d Fixed a lot of MSVC compiler warnings. 2020-12-29 12:54:24 +01:00
Leon Styhre 0cce86beca Created a common pixel conversion function for both renderers. 2020-12-18 16:49:11 +01:00
Leon Styhre 9bea6bb17e Added a game info overlay to the screensaver.
Also refactored Window and SystemScreensaver and added a fade-in effect for the shaded background when opening menus.
2020-11-12 00:46:59 +01:00
Leon Styhre 2a852170a8 (Windows) Fixed some build issues and got the OpenGL shaders to work.
Also some additional code cleanup.
2020-09-16 22:14:35 +02:00
Leon Styhre a34bc45e56 Added an opacity shader. 2020-09-12 19:17:26 +02:00
Leon Styhre 3643c08caf Updates to the OpenGL shader handling. 2020-09-12 12:14:48 +02:00