Shadersave is a Windows screensaver that can run Shadertoy shaders locally under OpenGL 4.3 core.
Warning
This is still under development and does not have most features implemented.
- Add image loading support.
- Refactor to use standard C++ naming.
- Move buffers to an array.
- Rewrite renderer entirely.
- Get buffers and channels working.
- Rewrite shadertoy loader.
- Implement remaining global variables.
- Get basic conversion code working.
- Get OpenGL renderer working.
- Clean up the code.
- Add support for loading from files instead of resources.
- Add config dialogue using Win32.
- Come up with something to get full 144Hz displaying.
- Audio and VR shaders will not be supported.
- Mouse and/or keyboard input wont be supported for obvious reasons.
- Non-image and non-buffer channel inputs won't be supported.
- Cubemap shaders will not be supported.
To build this, you will need the following:
- Visual Studio 2022.
- The Desktop development with C++ workload.
- The Windows SDK.
You must also place GLEW under the "libs" folder.
Debugging screensavers is kind of a hassle, but it can be done.
- Open a Win32 window, for example Control Panel.
- Grab its window handle with Spy++ or some other software.
- Convert the handle from hexadecimal to decimal.
- Go into Shadersave -> Properties -> Debugging.
- On Command Arguments, write /p (window handle) and hit Apply.
- You can now debug the screensaver as long as you don't close the window you opened.
Tip
Renderdoc can be used this way as well, if you want to debug the graphics side.
To debug the configuration dialog, do the following:
- Do steps 1 to 4 from above.
- On Command Arguments, write /c:(window handle) and hit Apply.
- You can now debug the config dialog.
pow(The Shining, 2.0) by dean_the_coder
Barber by okro
Cook-Torrance by xbe
Splitting DNA by BigWIngs