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
Leon Styhre
2d8d1e6831
(macOS) Reduced the CPU usage significantly while running in the background.
2021-12-14 18:17:46 +01:00
Leon Styhre
08bba3cbaf
(macOS) Removed the Monterey VSync workaround as Apple has patched its OS.
2021-12-14 17:15:04 +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