Almamu
573fc6fe13
chore: fix pass uniforms not taking into account fragment shader's uniforms
...
chore: keep processed code in the shader sent to opengl so it appears on RenderDoc
2025-05-09 02:43:48 +02:00
Almamu
4c0c32055a
chore: update file functions to make use of shared_ptr/unique_ptr instead of copying things around
2025-04-25 23:26:33 +02:00
Almamu
93139b7e21
chore: more cleanup and fixes
2025-04-25 21:42:33 +02:00
Almamu
c59c466674
chore: delete uniforms if they already exist before setting
2025-04-25 20:40:26 +02:00
Almamu
4c986929c8
feat: make use of in/out promotion on glslang-WallpaperEngine
...
feat: use glslang-WallpaperEngine linkin process as an extra validation
2025-04-20 19:38:22 +02:00
Almamu
e69c67f713
fix: regression on texture setup not working properly
2025-04-19 14:46:12 +02:00
Almamu
fad0166f24
chore: simplify the texture detection a little bit, still work left to do
2025-04-19 14:21:04 +02:00
Almamu
f312bcdca4
refactor: simplified working with properties, constants and shader variables
2025-04-19 09:49:21 +02:00
Almamu
756f28ce19
fix: blending mode for passes using the wrong value
...
fix: shader uniforms from project properties should now be taken into account
2025-04-17 03:44:13 +02:00
Almamu
beb186050b
feat: take into account project properties for shader values
...
feat: proper parsing of combo values in shaders
fix: shader units weren't linked as they should
chore: more support for detecting shader things automatically
2025-04-17 02:56:26 +02:00
Almamu
fe065f72b7
chore: properly set combos based on textures
2025-04-16 19:36:28 +02:00
Almamu
94a4d9ecee
fix: some textures applied were not the right ones
2025-04-16 18:10:47 +02:00
Almamu
8adeefad9c
chore: more debug info for the pretty printer
2025-04-16 17:14:10 +02:00
Almamu
b67021fae8
chore: refactored shader compilation code once more to be easier to follow and fixed the longstanding bug of #include not being added in the right place
2025-04-16 16:54:19 +02:00
Almamu
9ff7adae02
feat: added a pretty printer for easier debug and comparison between different versions of linux-wallpaperengine
2025-04-16 02:37:34 +02:00
Almamu
1db86053ce
chore: cleanup of the core part of the project
2025-04-14 03:58:59 +02:00
Almamu
ae66deffb6
chore: some readability improvements on code
2025-04-11 01:40:13 +02:00
Almamu
7bff63c037
chore: changed shader compilation slightly so they're passed onto glsl just once
2025-04-06 20:13:45 +02:00
Almamu
740c290a82
chore: make use of external repos for all deps instead of copying things manually and more cleanup work
2025-04-06 08:40:00 +02:00
Almamu
85eecc3ea1
feat: added glslang and spirv-core for handling shaders, should provide better results than current systems
2025-03-31 01:24:25 +02:00
moetayuko
5a45c9a26b
Workaround errors when loading wallpapers made recently ( #244 )
...
* Add sampler2DComparison and uint to known types
* Ignore unsupported `#require` preprocessor directive
`#require LightingV1` is found in generic4.frag, genericimage4.frag, ...
* Mark _alias_* textures as FBOs
Currently not supported, but prevents loading from the file, thereby
avoiding CAssetLoadException
2024-09-03 00:23:56 +02:00
Alexis Maiquez
bd5e452d34
fix: support shaders without textures (like flat), improves #184
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 03:10:52 +01:00
Alexis Maiquez
170af5ff7c
fix: black backgrounds on latest wallpaperengine version (g_Color4 was added)
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 02:59:00 +01:00
Alexis Maiquez
b8fd1eefac
chore: clang-format and code formatting done with an extra of code cleanup
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-12-14 02:20:34 +01:00
Alexis Maiquez
181dd1eef8
Fix for #161 , texture priorities were not being properly taken into account
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-05-07 18:54:01 +02:00
Alexis Maiquez
a713ad001a
Fixes #160 , xray effects on full image layers weren't working properly. Should fix anything using the inverse matrix of modelViewProjection
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-20 23:40:16 +02:00
Alexis Maiquez
73ef4d6dbf
Added support for g_Daytime in shaders
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-20 22:48:08 +02:00
Alexis Maiquez
96b931d931
Added g_ModelMatrix, g_NormalModelMatrix, g_ViewProjectionMatrix, g_LightAmbientColor and g_LightSkylightColor to shaders
...
Added support for specifying array variables for shaders
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-04-20 21:54:45 +02:00
Alexis Maiquez
a89d8ebb22
Added basic support for audio processing so backgrounds can react to sound playing in the system
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-26 18:18:21 +02:00
Alexis Maiquez
cc7ec0561d
Separated X11 fullscreen code detection from the output driver as they don't have to work at the same time
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-23 23:38:23 +01:00
Alexis Maiquez
f499454957
Fixed identation problems
...
Added comments all over the codebase to explain things a bit better
Improved CApplicationContext to be a bit more self-explanatory
Abstracted CRenderContext access away into a helper that every render class should use
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-23 01:42:01 +01:00
Alexis Maiquez
37631e9c40
Upgraded to shader version 330
...
Added support for shader patches
Removed useless DEBUG define in favour of NDEBUG
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-11 03:21:45 +01:00
Alexis Maiquez
3d8452ee9a
Revert "Properly clamp volume value"
...
This partially reverts commit 95713ae439
.
# Conflicts:
# src/WallpaperEngine/Application/CApplicationContext.cpp
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-08 23:59:39 +01:00
Alexis Maiquez
732c60da46
More code cleanups
...
Update .clang-format
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-08 18:48:19 +01:00
Alexis Maiquez
d2e82e72d8
Small code cleanups
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-08 14:27:41 +01:00
Alexis Maiquez
95713ae439
Properly clamp volume value
...
Removed all usages of std::make_pair
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 04:35:47 +01:00
Alexis Maiquez
55760aee4d
More code cleanup:
...
- Separated program args parsing and validation from initialization code
- Application's main body in it's own class
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-07 04:17:51 +01:00
Alexis Maiquez
e888bb452d
Fix bloom effect FBO's not using GL_LINEAR, no more blocky bloom
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-05 06:45:14 +01:00
Alexis Maiquez
30bb8d6d72
Small cleanup of pass initialization code
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-05 06:36:07 +01:00
Alexis Maiquez
a24b1923f6
Cleanup of code:
...
- use of auto in some places (more of this to come)
- use for loops instead of iterators for most of the loops
- extracted glfw/glew code into it's own class
- make usage of std::filesystem instead of checking things with old C libraries
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-03 18:41:51 +01:00
Alexis Maiquez
d370e028ff
Renamed CContext to CRenderContext to allow for the introduction of CAudioContext in following iterations
...
Improved logging and error reporting to be a bit more flexible
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-03 00:00:17 +01:00
Alexis Maiquez
4dc3a4bc01
Added g_PointerPositionLast
...
Improved delay calculation for parallax (should prevent backgrounds from flickering with big delays)
Fixed g_TexelSize having the wrong value and g_TexelSizeHalf not being defined
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-01 18:40:38 +01:00
Alexis Maiquez
ed1efdcd66
Added parsing for text properties
...
Simplified how passes rendering works and separated it into a two stages process
Setup (prepares shaders, uniforms, attributes, etc)
Render (only performs the actual rendering)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-04 10:16:15 +01:00
Alexis Maiquez
cdaebbe893
Added support for camera bloom
...
Added support for virtual files
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-03 23:07:13 +01:00
Alexis Maiquez
c13d743022
Container access should happen through CContext
...
Textures now have a cache system that prevents loading them more than once
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-03 14:27:05 +01:00
Alexis Maiquez
5521e90155
Ignore composelayers for now
...
Added support for color blend mode
Main pass' blendmode should be normal
Last pass' blendmode should be the first's
Fixed order of glClear's so _rt_FullFrameBuffer is the right color at the right time
Simplified effect and pass creation code a bit more
Non-visible images should render the full chain into the pingpong framebuffers instead of to screen
Fixed an integer division not producing float numbers
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-03 13:14:52 +01:00
Alexis Maiquez
261bc696df
Added some object labels in opengl so they're reflected on RenderDoc while on debug
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-02 09:28:42 +01:00
Alexis Maiquez
7e6cb9a458
Simplified image rendering code further
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-01 04:00:34 +01:00
Alexis Maiquez
cb6f05ff27
Simplified image rendering code a bit so it's easier to follow
...
Improved detection of macros for shaders
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-31 12:09:14 +01:00
Alexis Maiquez
c9f8624b8b
Reduced amount of glClears used in the rendering process
...
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-10-29 14:02:10 +02:00