glslViewer is a console-based OpenGL sandbox for displaying and developing 2D and 3D GLSL shaders without requiring a graphical user interface.
The tool solves the problem of shader development and prototyping by providing a lightweight, headless environment where developers can write and test fragment and vertex shaders directly from the command line. It supports hot reloading of shader files, allowing real-time iteration as code changes. The viewer accepts shader uniforms, textures, and geometry models through console commands or OSC messages, making it scriptable and embeddable in custom workflows. It handles a wide range of input formats including image textures, video files, 3D models in multiple formats, and audio data, while automatically generating platform-specific defines and supporting features like shadow maps and physically-based rendering.
The tool suits developers working in shader art, real-time graphics research, or headless rendering pipelines who prefer command-line workflows over traditional IDEs. It is particularly valuable for artists and developers on resource-constrained systems like Raspberry Pi, where a full graphics application would be impractical. The project runs on Linux, macOS, Windows, and can be compiled to WebAssembly, making it accessible across platforms. It also supports specialized hardware like the LookingGlass Display for holographic rendering. Those building custom shader editing tools can integrate glslViewer through its Python module or by communicating via standard input/output and OSC protocols.
The project maintains active engagement with its community through a dedicated Discord channel for learning and collaboration. Development includes support for multiple compilation targets and platforms, with documented build instructions for each. The tool receives ongoing enhancements for shader capabilities, file format support, and rendering features, indicating sustained maintenance and responsiveness to user needs.