๐ใโฐใTable of Contents
ShaderFlow is a Framework for creating Real Time and Audio Reactive shaders easily
A complete Tool for Artists, Musicians and Shader Enthusiasts:
- Elegant and high quality Music Visualization or Live Performances
- Render your Shaders to Videos with ease
๐ง This project is under development, not every branded item is available yet ๐ง
- Dynamics: Bring soul to your shaders with physics-like animations
- Audio Reactive: Use music to drive the visuals
- Live music: Real time professional video
- Manim-like: Make your own complex pipeline and shaders
- Presets: Community made awesome shaders
- Timeline: Animate your shaders with easy keyframes
- Create and render shaders easily, explore them with an interactive window
- Camera 2D and 3D: Explore your scene in multiple dimensions
- 360ยฐ Videos: Render shaders to 360ยฐ videos or Virtual Reality univision
- Quality First: Any resolution, framerate, bitrate, supersampling
- No Watermarks: Non intrusive experience, user first
- Cross Platform: Windows, Linux and MacOS
- Open Source: Trust and transparency
The possibilities are limitless, create anything with math or use quality presets
ShaderFlow, similar to Manim, is best used directly from a python
script
๐ด๐ก๐ข
Download and install our Framework with all the code and projects first
Note: You cannot run this project without the Framework
Scene files are placed under Scenes/*.py
-
Run
broken shaderflow
to see all available scenes -
Run
broken shaderflow (scene)
to run a specific scene
Whenever stuff gets more stable, we'll likely release pypi packages so you can just pip install shaderflow
and run it directly from the source code or prebuilt binaries that you can just download and run ./shaderflow scene.py
Highly depends on the shader and number of audio or video inputs
- CPU: AnyC1 with a decent single-core performance
- GPU: AnyG1,G2 that supports OpenGL 3.3+ and has non zero VRAM (128MB+ free)
- OS: AnyO1, Windows (10+), Linux, macOS
- RAM: Depends on the mode:
- Realtime: Minimum 200 MB available, plus 500 MB per 1080p video as texture
- Rendering: Realtime + 650 MB per hour of audio + 2 GB per 1080p videoR1
*C1,G1: Affects realtime-able framerates and encoding times, any entry level desktop should be able to do 60 FPS
*G2: Depends on the shader you want to run, some are intensive. Scales quadratically with resolution
*O1: Requires supporting to run the current latest Python version
*R1: A 4k video will take roughly 4x the RAM of a 1080p video on FFmpeg to render
- Q: Why to even Open Source such an ambitious project?
A: I'm an autotelic person. This software is a tool I would use myself and prefer it to be "hackable" and Open Source. In plain terms, I want to do something great that lasts, and optimally be the best choice for the job. I am primarily motivated by the possibilities of what the Community members can do with it, I hugely expect the contributions back and am thinking on how we can both grow together.
We deeply trust the user and community by being Open Source, but there is no free lunch
-
๐ Projects takes many human-hours to be created, consider retributing the favor by donating if you can or made money with them, do share the projects with others
-
๐ฐ We are not against Commercial use, but we are against abuse of the projects and their code. Be fair, get in touch with us and we'll be happy to help both sides grow
- User Generated Content: CC-BY 4.0 License
- Code: AGPLv3-Only License
While we won't enforce punishments for failed attributions, we would appreciate if you could credit us
Want to use this for your company or commercially?
- Let's do something great together, contact us at Broken Source Software