An OpenXR viewer for the worlds of Shadertoy. The Windows build uses the active OpenXR runtime, including SteamVR and the Meta PC runtime, and falls back to a monitor window when OpenXR is unavailable.
Use the keyboard, a GLFW-compatible gamepad, or OpenXR motion controllers to select a shader. Runtime selection is handled by SteamVR, Meta Quest Link, or another installed OpenXR runtime rather than by RiftRay.
- Floating AntTweakbar pane for live shader parameter editing
- Dynamic framebuffer scaling
- Vertical FOV adjustment(per developer guide section 8.5.4)
- OpenXR stereo rendering with a desktop mirror
- Monitor-only fallback when no OpenXR runtime or headset is available
- Shadertoy VR - Qt-enabled shader editing in VR
- Part of Brad Davis(jherico)'s Oculus Rift in Action
- boxplorer2 - Marius Schilder
- Fragmentarium - native cross-platform shader IDE
- GLSL Sandbox - web app, similar to Shadertoy
- Synthclipse - plugin for Eclipse
- Julius Horsthuis' videos
- Mandelbulb VR - Peder Norrby, Trapcode
- Shdr - Online GLSL shader editor, viewer and validator
- ShaderShop - shader manipulation interface
Gamepads and OpenXR motion controllers are optional. The right-hand OpenXR aim pose controls the floating pane pointer when the active interaction profile provides one.
- Left stick - Movement
- Right stick - Smooth or snap turning
- Triggers - Move down/up
- A - Enter shader/return to gallery
- B - Toggle Tweakbar pane
- X - Click in pane
- Y - Reset world position
- Menu - Reset position and yaw
- Right-stick click - Reposition pane
- Space - Recenter view
- Enter - Enter shader/return to gallery
- Escape - Quit
- WASD - Movement
- QE13 - Movement(elevation), Yaw
- Shift/Control - Slow/fast movement
- PgUp/PgDn - Open/Close cinemascope(letterbox)
- Tab - Toggle Tweakbar pane
- Backspace - Log where to enable the runtime performance HUD
- \(Backslash) - Click in pane
- /(Slash) - Reposition pane
- R - Reset world position
- Wheel - adjust vertical - Cinemascope | Letterbox | vFOV
- Middle click - Toggle Tweakbar pane
- Hold Right click & Left Click - Enter shader/return to gallery
- Hold Left click & Wheel - Adjust render target size manually
- Start - Enter shader/return to gallery
- Back - Toggle Performance HUD
- Left analog stick - Movement
- Right analog stick - Yaw
- A - Move up
- B - Move down
- Y - Toggle Tweakbar pane
- X - Click in pane
- Left Bumper - Recenter view
- Right Bumper - Reset position
- Left Trigger - Move quickly
- Right Trigger - Move slowly
- Dpad - Resolution, vFOV
All shader code under shaders/shadertoy/ was written by the top developers in the field and is covered by the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License http://creativecommons.org/licenses/by-nc-sa/3.0/us/ unless stated otherwise in the code.
- BeautyPi: Iñigo Quilez and Pol Jeremias for Shadertoy and all the code and tutorials on his site www.iquilezles.org
- All the members of Shadertoy for their beautiful GLSL code
- Mikael Hvidtfeldt Christensen for this blog post blog.hvidtfeldts.net
- Micah Dedmon for Mac porting and packaging
- elmindreda for the awesome Glfw3 framework
- Palmer Luckey and Oculus for the Oculus Rift and OVR SDK
- Philip Rideout for the excellent CMake/OpenGL code
- Philippe Decaudin for AntTweakBar
- Milan Ikits and Marcelo Magallon for GLEW
- Christophe Riccio for GLM