Commit Graph

45 Commits

Author SHA1 Message Date
Almamu
8b131fefb2 chore: add another mention of the site in the README.md
Some checks failed
Arch Linux AUR Package Update / publish (push) Has been cancelled
CMake / build-x11 (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11 (ubuntu-24.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-x11-wayland (ubuntu-24.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-22.04) (push) Has been cancelled
CMake / build-wayland (ubuntu-24.04) (push) Has been cancelled
2025-05-10 22:02:53 +02:00
Alexis Maiquez
7bffcded09
feat: make custom version of glslang to improve shader compatibility + random improvements (#291)
* feat: added glslang and spirv-core for handling shaders, should provide better results than current systems

* fix: brought back proper include placement, should fix some shaders not working

* chore: dial down required version to 330

* fix: crash when taking screenshot

* fix: use glReadnPixels for X11 copying to be more memory safe

* chore: reverted part of last commit

* chore: delay initialization of browser until it's used once

* chore: do not initialize web browser unless explicitly needed

* chore: cleanup filesystem functions to use containers directly

* chore: memory cleanup fixes

* chore: fix glReadPixels for older opengl versions

* chore: remove shader patches as they shouldn't be needed anymore

* chore: initialise variables

* chore: update deps, actions and readme

* chore: make use of custon glslang and SPIRV-Cross

* Revert "chore: update deps, actions and readme"

This reverts commit c3fbc9340b.

* chore: update actions to include submodules

* chore: do not depend on SPIRV-Tools

* fix: added log10 macro

* feat: update to latest glslang (swizzle and vec2/vec3/vec4 implicit casting to float)

* revert: delayed initialization of cef was causing issues, reverted

* chore: re-organized web wallpaper support to use custom scheme and better handle multiprocessing

* chore: make use of external repos for all deps instead of copying things manually and more cleanup work

* chore: wrong include file used in CGLSLContext.cpp

* chore: fix wayland generation folder not being present

* feat: somewhat support TEXB0004

* chore: improve function call matching and fallback to more lax method if no function is found

* chore: changed shader compilation slightly so they're passed onto glsl just once

* feat: swap android's fft implementation (which wasn't right) with kissfft's and fix update frequency issues

* chore: added missing dependency

* chore: added missing dep to PKGBUILD

* feat: add testing tools to run over all backgrounds and getting output data

* chore: jail CDirectory to the basepath and prevent accessing data outside of the main directory

* chore: process script now scales the previews so the html file is not too big

* chore: add showcase gallery to the README.md

* chore: update README

* chore: some readability improvements on code

* chore: fix segfault after code cleanup

* chore: make use of std::filesystem::canonical instead of basepath and slight typing changes on texture objects

* chore: fix path detection being wrong, make use of std::filesystem::path on CContainers

* chore: cleanup of the core part of the project

* chore: bring back std::move and make some methods const where it makes sense

* feat: added a pretty printer for easier debug and comparison between different versions of linux-wallpaperengine

* 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

* chore: more debug info for the pretty printer

* fix: some textures applied were not the right ones

* chore: properly set combos based on textures

* 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

* fix: blending mode for passes using the wrong value
fix: shader uniforms from project properties should now be taken into account

* chore: use ubuntu 22 and ubuntu 24 as builders, ubuntu 20 is retired

* chore: use ubuntu 22 and ubuntu 24 as builders, ubuntu 20 is retired

* chore: hopefully fix github actions build

* refactor: simplified working with properties, constants and shader variables

* chore: remove a couple of todos that aren't needed anymore

* chore: simplify the texture detection a little bit, still work left to do

* fix: regression on texture setup not working properly

* fix: filenames with dots were not being handled properly

* chore: remove some uselesss messages

* chore: fixed std::string json values not casting anything to it as it was assumed

* fix: null user value for constants means it cannot be modified by the user

* chore: remove exception when a shader constant uses a non-existant property

* fix: angles can be an user setting too, also added detection for animation frames to show a warning

* fix: ensure variable information is not commented out by a line comment

* fix: shader includes weren't being processed properly

* chore: update to latest glslang and SPIRV-Cross to support non-integer array indices

* chore: make use of auto where it made sense

* feat: make use of in/out promotion on glslang-WallpaperEngine
feat: use glslang-WallpaperEngine linkin process as an extra validation

* chore: improve scripts for running the app

* chore: hide background structure dump behind a command-line switch

* chore: rewritten bloom effect as a json object inside C++ so it's easier to follow

* chore: removed deprecated parameters and switched to argparse instead of getopt
fix: clamping mode wasn't applied by background properly, only globally

* chore: removed help prompt from the output unless actually required

* fix: web subprocesses weren't launching due to parameter's parsing, temporal fix

* feat: added material command copy support

* feat: do not initialize some subsystems if they're disabled or not used by backgrounds

* chore: ignore type in combos as only seems to be used in the editor

* chore: update to latest glslang-WallpaperEngine changes

* chore: delete uniforms if they already exist before setting

* chore: more cleanup and fixes

* chore: more cleanup and fixes

* chore: more cleanup and fixes

* chore: update file functions to make use of shared_ptr/unique_ptr instead of copying things around

* chore: more changes to unique_ptr and shared_ptr

* chore: more changes to unique_ptr and shared_ptr

* chore: more changes to unique_ptr and shared_ptr
feat: improved render initialization process to make it easier and simpler to add new drivers (no more #ifdef in CWallpaperApplication.cpp)

* chore: change all is/as castings to use typeid so no string comparison takes place

* chore: more cleanup, default initialization of values wherever possible

* chore: moved more things to std::unique_ptr and std::shared_ptr

* chore: moved more things to std::unique_ptr and std::shared_ptr

* fix: browser context usage crashed the app

* chore: the setting controls fullscreen detection creation the same way audio works

* fix: ensure that at least one frame is rendered before detecting fullscreen windows

* chore: slight changes to output and documentation to properly reflect current build configuration

* chore: fix mipmap texture creation

* 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

* chore: formating issues by codefactor

* chore: do not use new to allocate the pretty printer

* fix: strchr wasn't properly done for window geometry

* chore: add recording mode for status page generation

* chore: update .gitignore

* chore: update script to make use of video generation instead of the old python scripts

* chore: also copy project.json so it can be used on the site too

* fix: regression on invisible images not being rendered

* feat: add option to disable camera parallax

* chore: add the reversing tools I have locally

* chore: mention some of the common issues in the README.md

* chore: take submodules into account for archlinux

* chore: missed cd "$pkgname" in arch's prepare step
2025-05-10 19:34:59 +02:00
Alexis Maiquez
ec60a8a571 chore: update readme 2024-10-12 21:00:34 +02:00
Alexis Maiquez
1c12951a6a chore: update readme
chore: some X11 files were being included in wayland-only builds
2024-10-12 20:59:51 +02:00
Alexis Maiquez
7278f2f817 fix: replace FreeImage with stb_image and stb_image_write
fixes #204
2024-10-12 20:11:14 +02:00
Almamu
445f970b69 chore: update README.md to mention Wayland 2024-05-07 19:57:40 +02:00
Alexis Maiquez
a39bfa1f01 Updated README.md to reflect the new libraries required
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-24 03:50:42 +01:00
Alexis Maiquez
978f56cdca Added sound playback detection to mute when something else plays audio
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-03-24 02:36:42 +01:00
Alexis Maiquez
ecd8ff3757 Applied the same context-driver treatment to the audio subsystem (still needs some extra work to ensure all audio plays fine and a good cleanup)
Fixed README.md to properly reflect all dependencies in the command examples
Added support for audio looping

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-06 22:35:46 +01:00
Alexis Maiquez
59bff58f5c Updated README with mpv dependencies
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-02-05 06:15:48 +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
cec1baef30 Added explanations on the properties part of the backgrounds
Any --set-property will now output something when a value is being applied to ease debugging

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-01-31 22:44:27 +01:00
Alexis Maiquez
73f531bb38 Replaced codeql analysis for plain cmake building
Added badges to the readme

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2023-01-31 22:29:38 +01:00
Daniel Coughlan
59cea56fef corrections to the README.md file 2023-01-29 13:23:12 +01:00
Daniel Coughlan
d56d057c1d Clean up README.md 2023-01-29 13:23:12 +01:00
Alexis Maiquez
087a0976ae Added support for taking a screenshot after wallpaper's up (useful for pywal and other ricing rools)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-05 11:00:51 +01:00
Alexis Maiquez
b32275052f Clarify xrandr and de compatibility a little bit more
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-11-04 00:39:24 +01:00
BarbosaRT
23585e4a07 Update README.md 2022-10-28 08:12:49 +02:00
BarbosaRT
3f85187f10 Commands added to README
I added some commands to make the installing easier
2022-10-28 08:12:49 +02:00
Alexis Maiquez
2a6f7b778e Update readme with new binary name
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-08-24 03:30:34 +02:00
Alexis Maiquez Murcia
46ea8e8f03 + Added support for using background's ID so it's directly loaded from a steam installation directly (implements #101)
~ Updated readme with the new possibilities

Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
2022-06-01 23:04:59 +02:00
Alexis Maiquez
eb14099c4c Removed SDL_mixer in favour of ffmpeg for audio decoding
Added extra option for general audio volume

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-05-08 03:37:32 +02:00
Tarulia
4c0322d9e6 ~ doc: minor formatting changes and typo fixes 2022-04-04 16:56:54 +02:00
Tarulia
dd54abd9ba ~ doc: note on Steam Play & getting to the files 2022-04-04 16:56:54 +02:00
Tarulia
a7384d9258 ~ doc: add section for extracting background files 2022-04-04 16:56:54 +02:00
Alexis Maiquez
009321572e - removed custom glfw3 from the project as it's not needed anymore
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2022-02-28 02:31:51 +01:00
Alexis Maiquez
cbb02873a8 ~ Updated README.md to reflect the changes in command-line execution
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-11-29 13:04:25 +01:00
Alexis Maiquez
74ee75f862 + added a new example to the readme
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-10-01 17:37:14 +02:00
Alexis Maiquez
fc442ef29d + added mention of more dependencies for GLFW3 on README.md
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-10 09:33:54 +02:00
Alexis Maiquez
5e70a97021 + added mention of custom GLFW3 version being built as part of linux-wallpaperengine
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-10 09:31:19 +02:00
Alexis Maiquez
83a31c7e17 + added mention of libxxf86vm to the readme
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-10 09:28:47 +02:00
Alexis Maiquez
03089ec35d + added mentions of glew and glut requirements in the readme
+ added PKGV0013 to the list of supported packages

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-09 20:59:49 +02:00
Alexis Maiquez
58be46460b + added a missing linefeed for the README.md to look nice
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 22:07:05 +02:00
Alexis Maiquez
ed2a140aed ~ reflect submodules cloning on the README for the project usage
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 22:06:14 +02:00
Alexis Maiquez
0225cac917 ~ changed glfw to use a custom library version until upstream adds proper support for this
~ brought back proper background rendering and position detection

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 19:09:43 +02:00
Alexis Maiquez
16ed2f30de + added FreeImage for loading all the non-compiled textures (jpg, pngs, etc)
+ set proper glViewport instead of hardcoded 1920 by 1080 (this might require some changing and instead do a glViewport of the screen/window size and then scaling the backbuffers)
~ set proper texture size for pingpong buffers (to work with the viewport fixes)
- removed FREE_IMAGE_FORMAT as it's already included in the FreeImage library

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-02 23:59:00 +02:00
Alexis Maiquez
6096981136 ~ more updates to readme
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 02:31:50 +02:00
Alexis Maiquez
e71ae189fb + added some special thanks to the readme.md
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 02:05:24 +02:00
Alexis Maiquez
7613bf254a ~ updated readme to reflect current status
+ added texture resolution to CTexture so it can be properly used in the CPass
+ framebuffer textures now have filtering specified (prevents black screen), still need to adjust information about the texture
+ added proper uniform variable registration to ease the usage

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 01:27:01 +02:00
Alexis Maiquez
dd76439901 ~ fixed a_TexCoord variable not having the correct values
- removed irrlicht functions and types from the active codebase so it's no longer required at compile time (CContext still there as the code might be still be useful)

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-08-31 02:29:28 +02:00
IceCryptonym
5d5ce361fe
Initial video support without audio (#14)
* Adds FFmpeg to CMake
* Refactors to allow support for other wallpaper types
* Updates README.md for compilation requirements
* Initial video support without audio
* Properly support different wallpapers
* Fixes videos not rendering
* Nitpicks
* Moves code related to rendering from Core::CVideo to Render::CVideo
2020-04-27 18:50:17 +02:00
Alexis Maiquez
ec29beca90 + Added FPS capping option for laptops
~ Changed default FPS cap to 30 FPS
~ Fixed bug where the windowed mode wasn't rendering anything

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2019-09-05 03:05:15 +02:00
Alexis Maiquez
82c187fa76 ~ Support for displaying on background of specific screens instead of displaying on top, please carefuly read the README.md before using
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2019-09-04 22:08:32 +02:00
Alexis Maiquez
7410f238ac + Added SDL and SDL_Mixer to implement audio support
+ Added support for sound objects
  Supported formats: MP3, FLAC, OGG

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2019-08-07 18:27:20 +02:00
Alexis Maiquez Murcia
e62ea3e2be + Updated .gitignore
- Removed config class as It's no longer used
+ Added a small readme with all the documentation needed up to now
+ Changed the way the application starts to take into account execution switches to allow the users to select a background without recompiling the software

Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
2019-04-05 16:41:33 +02:00