Commit graph

136 commits

Author SHA1 Message Date
Leon Styhre 6d3d2ddb34 Added support for 2x and 4x MSAA anti-aliasing (OpenGL renderer only). 2023-01-09 17:55:54 +01:00
Leon Styhre f4d4abb33b Added theme support for defining relative brightness for images, videos and animations. 2022-12-14 20:17:41 +01:00
Leon Styhre 46a1e28aa2 Fixed an issue where the shader postprocessing function did not set the shader premultiplied flag. 2022-12-12 20:42:54 +01:00
Leon Styhre 3c82bb4dfb Changed the renderer pixel format from RGBA to BGRA.
Also implemented premultiplied alpha for all images, animations and videos and improved the carousel reflection falloff logic.
2022-10-28 00:08:41 +02:00
Leon Styhre 7e923cb9b6 Some refactoring of the OpenGL renderer and TextureDataManager. 2022-10-11 18:11:36 +02:00
Leon Styhre 430d3e5e30 Changed the default OpenGL version on the Steam Deck from 3.3 to 4.6 2022-09-27 17:47:10 +02:00
Leon Styhre c537de51ef Some general code cleanup. 2022-09-07 19:59:27 +02:00
Leon Styhre 9d46625739 Added support for texture mipmapping with trilinear filtering. 2022-09-05 23:36:49 +02:00
Leon Styhre dda63403fa Improved the renderer scaling accuracy. 2022-09-04 22:01:59 +02:00
Leon Styhre 455b970a59 Reverted a removal of vertex rounding during the project matrix calculation. 2022-09-03 21:22:31 +02:00
Leon Styhre a1027c2580 Removed some projection matrix and vertices roundings which caused multiple pixel alignment issues. 2022-09-02 21:01:31 +02:00
Leon Styhre 496b60fa7d Added support for clipping to the core GLSL shader. 2022-08-30 19:42:37 +02:00
Leon Styhre d217a3315a Changed the SDL video initialization function from SDL_Init to SDL_InitSubSystem 2022-06-09 17:16:43 +02:00
Leon Styhre 0008e44294 Removed all short enums comments as they're now properly solved by AllowShortEnumsOnASingleLine. 2022-06-05 12:36:55 +02:00
Leon Styhre 97da2df0a4 Found a better solution to the single-pixel alignment rendering issue. 2022-04-27 18:40:28 +02:00
Leon Styhre 1798b96cf8 Added reflections support to CarouselComponent. 2022-04-18 21:37:58 +02:00
Leon Styhre 63e7b58ec0 Fixed a renderer heisenbug that caused multiple single-pixel alignment issues. 2022-04-18 10:17:05 +02:00
Leon Styhre 008fa23d5f Added a setting to define the OpenGL version to use. 2022-04-10 14:54:21 +02:00
Leon Styhre 5de2855d60 Added theme support for defining color saturation for the image, video and animation components. 2022-03-17 19:33:09 +01:00
Leon Styhre 65d79edb54 Miniscule optimization in RendererOpenGL. 2022-03-16 20:26:13 +01:00
Leon Styhre 4b9f0c5d14 Removed the deprecated OpenGL ES 1.0 and 2.0 renderers. 2022-03-15 18:13:15 +01:00
Leon Styhre e5ed25ed5f Removed an OpenGL initialization workaround that doesn't seem to be needed any longer. 2022-03-15 17:44:15 +01:00
Leon Styhre 2fe11bd827 A few fixes for the Emscripten WebAssembly build. 2022-03-15 17:17:56 +01:00
Leon Styhre 29501af68f Changed some variables names and debug logging info for the OpenGL renderer.
Also simplified a pixel conversion in the core.glsl shader.
2022-03-15 17:14:55 +01:00
Leon Styhre f859fd828d Cleaned up the GLSL shader files and related code. 2022-03-15 00:14:06 +01:00
Leon Styhre 06a037d8cf Shader flags are now sent as bit masks instead of via discreet values.
Also changed the shader flags to enums.
2022-03-14 22:30:24 +01:00
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 a7db474a64 Unified the OpenGL and OpenGL ES renderers and removed the fixed function pipeline.
Also made some other rendering optimizations and cleaned up some code.
2022-03-13 23:52:32 +01:00
Leon Styhre adb162e0d1 Another go at getting post-processing to work properly with all graphics drivers. 2022-03-12 17:57:59 +01:00
Leon Styhre 32251e0264 Fixed multiple issues with the shader post-processing.
Also removed an unnecessary parameter for the createTexture() function.
2022-03-12 14:22:27 +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 5ac6bcb902 Added opacity support to the scanline shader. 2022-02-15 22:13:11 +01:00
Leon Styhre 69c1a1259d Added opacity support to the BGRA to RGBA shader. 2022-02-12 17:40:25 +01:00
Leon Styhre 35970dd95d (Windows) Fixed a few MSVC compiler warnings. 2022-02-11 23:45:25 +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 a443f86235 Removed a huge amount of unnecessary Window* function arguments. 2022-01-19 18:01:54 +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 c7964b7ebc Renamed GameList to Gamelist throughout the codebase. 2022-01-15 13:38:09 +01:00
Leon Styhre dde456cbc8 Removed the unnecessary Renderer::getWindowFlags() function. 2022-01-14 18:23:51 +01:00
Leon Styhre 8596aca68c Added an OpenGL ES 2.0 renderer. 2022-01-13 19:39:49 +01:00
Leon Styhre 90fa63f91c Removed support for supplying a separate format than internalFormat when creating OpenGL textures. 2022-01-12 22:25:41 +01:00
Leon Styhre d85c966e49 Added logging of the display refresh rate on startup. 2022-01-12 21:26:43 +01:00
Leon Styhre f80658696c Removed some unnecessary time measurement constants. 2022-01-09 23:50:08 +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