A lightweight Windows application that captures the screen region underneath its window and applies real-time HLSL pixel shaders to it using Direct3D 11.
Scrim Shady creates a window that acts as a "shader overlay" - it captures whatever is displayed on the screen beneath it and processes those pixels through customizable HLSL shaders before rendering them back. This allows you to apply visual effects like distortion, color grading, or custom filters to any part of your screen in real-time.
The app uses:
- Windows Desktop Duplication API (DXGI) for efficient screen capture
- SetWindowDisplayAffinity to exclude the app itself from the capture input
- Direct3D 11 for GPU-accelerated shader processing
- A compute shader to handle edge-padding when the window extends beyond screen boundaries
- passthru - No effect, displays captured pixels as-is
- wobbly - Wavy distortion effect
- lightning - Lightning/electrical effect
- sorty - Pixel sorting effect
- tiles - Replace pixels with tiles from a sprite sheet
- 1-9 - Switch between different pixel shaders (listed above)
- Ctrl+A - Toggle always-on-top mode for the window
- Pause / Break - Mark the window as capturable and pause rendering (useful for taking screenshots)
- Ctrl+S - Save the current rendered frame as a PNG file with timestamp
Sprite sheet generated from Cascadia Code