Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auralis

Windows 11 screensaver that plays WebGL2 shaders (Shadertoy-compatible) full screen with crossfade transitions, hosted in WebView2. Inspired by the work of Anne CH Postma (D:DREAMS Studio, https://mirabilia.d-dreams.studio) — every shader in this project is original and written from scratch.

Status

Phases 1 through 4 are done. Sixteen bundled original shaders in four categories.

Playlist with crossfade, multi-monitor, exit on input, mini preview in the Windows screensaver dialog, and a settings window: gallery with live previews, playlist builder, sliders, Shadertoy import and auto-save. UI language: English.

The shaders

Every shader here is original work, written for this project. Stills are single frames — all of them are slow, continuous animations.

Ambient

Tidal Drift Tidal Drift — parallax ocean layers under a low moon Aurora Veil Aurora Veil — northern lights in three depth layers
Ink Bloom Ink Bloom — a drop of ink unfolding in still water Caustic Deep Caustic Deep — light caustics over a sandy bottom

Colorful

Silk Plasma Silk Plasma — domain-warped folds with a slow colour drift Mandala Bloom Mandala Bloom — eightfold kaleidoscope over a breathing flow field
Iridescent Slick Iridescent Slick — thin-film interference on an oil slick Liquid Chrome Liquid Chrome — molten metal reflecting a procedural studio

Audio-reactive

Driven by whatever your PC is playing; the stills show the synthetic fallback used in silence.

Spectral Bloom Spectral Bloom — a nebula with a corona tracing the spectrum Waveform Ribbon Waveform Ribbon — rings whose silhouette is the waveform itself
Cymatic Bloom Cymatic Bloom — a resonating plate rewritten by five spectrum bands Nocturne Grid Nocturne Grid — a city block grid extruded by the spectrum

Time-reactive

These follow the clock, so the still is only one moment of the day.

Diurnal Sky Diurnal Sky — one sky from dawn through dusk to starlight Vale of Hours Vale of Hours — misty ridges recoloured by the hour
Hour Grove Hour Grove — fractal trees that grow from 06:00 to 23:00 Stone Garden Stone Garden — raked gravel with shadows swinging round

Audio-reactive uses WASAPI loopback: the shaders respond to whatever your PC is playing. Capture only starts when your playlist contains audio shaders; during silence the player falls back to a synthetic pulse. Time-reactive follows the time of day (fixed day/night curve around 06:00 and 21:00, no location lookup).

Adding your own shaders

The settings window imports a Shadertoy shader in two ways. Paste GLSL takes the code straight from the shader page; an optional author and source field record the attribution. Fetch by URL or id needs a Shadertoy API key, which requires Silver or Gold status on their site, so pasting is the practical route for most accounts. Either way, only single-pass image shaders without channel inputs are supported at the moment.

Imported shaders are stored in your own %APPDATA%\Auralis\config.json and stay out of this repository on purpose: Shadertoy shaders default to CC BY-NC-SA, which this MIT-licensed project cannot redistribute. Every shader shipped here is original work.

Trying it out

The publish step writes both Auralis.scr and an identical Auralis.exe. Use the .exe for testing. Windows resolves a .scr through its shell association, which ignores any arguments you pass and starts it full screen — so Auralis.scr /c does not open the settings window, it takes over the screen.

  • Window mode (recommended for testing): run dist\Auralis\Auralis.exe without arguments for a 1280x720 window with a debug overlay (shader name + fps, press N for the next shader).
  • Settings: run dist\Auralis\Auralis.exe /c.
  • As a real screensaver: right-click dist\Auralis\Auralis.scrTest (straight to full screen) or Install (registers it in the Windows screensaver settings). Mouse movement or a keypress exits.

If you only have the .scr, Start-Process ... -NoNewWindow bypasses the shell association and passes arguments through.

Note: the folder must stay intact — the .scr needs the DLLs and the web\ folder next to it. Installing points at this location, so do not move it afterwards.

Configuration

Through the settings window (Auralis.scr /c), or by hand in %APPDATA%\Auralis\config.json (v2 adds the fields shadertoyApiKey and customShaders, see SPEC.md):

{
  "version": 1,
  "playlist": [],          // shader ids; empty = everything
  "shuffle": false,
  "durationSec": 90,
  "transitionSec": 4,
  "resolutionScale": 1.0,  // lower to e.g. 0.75 on a 4K screen with a weaker GPU
  "shadertoyApiKey": "",
  "customShaders": [],
  "audioSensitivity": 1.5  // 0.5–3.0, audio category only
}

Log file: %LOCALAPPDATA%\Auralis\saver.log.

Development

dotnet build src\Auralis\Auralis.csproj
dotnet publish src\Auralis\Auralis.csproj -c Release -o dist\Auralis

See SPEC.md for the interface contract between host and web player, and TODO.md for open items.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages