# Wayland Shader Demo A lightweight, interactive shader playground built with **C++**, **Wayland**, and **OpenGL ES 2.0**. ![Demo Screenshot](Pasted%20image.png) ## Features ### ๐ŸŒŒ Interactive Fractals * **Deep Zoom Mandelbrot**: Features an **Infinite Zoom** engine using Perturbation Theory (CPU computes 128-bit reference orbit, GPU renders delta). Zoom level up to $10^{34}$! * **Customizable**: Use the sidebar sliders to adjust the **Exponent** (create "Multibrots") and morph the set with **Julia** offsets ($C_{real}$, $C_{imag}$). * **Fractal Explorer**: Standard fractal shaders included. ### ๐Ÿงช Physics & Simulations * **Fluid Dynamics**: Real-time interactive fluid simulation (mouse drag to swirl). * **Reaction Diffusion**: "Living" texture simulation (Gray-Scott model). * **Double Pendulum**: Chaotic physics visualization. ### ๐ŸŽจ Visuals * **Plasma & Tunnel**: Classic demoscene effects. * **Sidebar UI**: Custom immediate-mode GUI with embedded font rendering. ## Controls * **Left Click**: Select shader from sidebar. * **Scroll**: Zoom (Mandelbrot). * **Drag (Left Click)**: Pan view / Interact with Fluid / Adjust Sliders. ## Build & Run ```bash make ./shader-demo ``` ## Dependencies * Wayland Client & EGL * GLESv2 * libxkbcommon