Glass Shader v4
A powerful glass refraction shader with frosted glass effects, procedural imperfections, dynamic lighting, and animated bevel ripples. Create realistic glass distortion effects for titles, transitions, and creative looks.
Overview
Glass Shader v4 simulates the optical properties of glass, including:
- Refraction - Light bending through glass surfaces
- Frosted Glass - Diffuse blur for privacy glass or stylized looks
- Chromatic Aberration - Color separation at glass edges
- Procedural Imperfections - Animated noise ripples in the glass
- Dynamic Lighting - Two-light specular highlights
- Animated Bevels - Rippling edge effects using distance fields
Pro Tip: Start with a simple height map (white shape on black background) to see the effect clearly. The alpha channel of your height map defines where glass effects are applied.
Quick Start
- Apply the effect to a clip on your timeline
- Connect a Height Map to the "HeightMap" input (white = glass, black = no effect)
- Adjust Refraction Strength to control how much the background distorts
- Enable Frosted Glass for a diffused, privacy-glass look
- Add Lighting for specular highlights that sell the 3D illusion
| Input |
Required |
Description |
| Source |
Yes |
The background image that will be refracted |
| HeightMap |
No |
Grayscale image defining glass shape and height. White = full glass effect, black = no effect. Alpha channel can be used for masking. |
Height Map Tips: Use gradients in your height map for curved glass surfaces. The grayscale values represent height - white areas appear to bulge outward, creating stronger refraction.
Parameters
Height Map Processing
| Parameter |
Type |
Default |
Range |
Description |
| Alpha Softness |
float |
8.0 |
1.0 - 150.0 |
Softens the height map edges. Minimum 8.0 required to prevent playback artifacts. |
Important: Keep Alpha Softness at 8.0 or higher. Lower values can cause flickering during playback due to edge aliasing.
Glass Properties
| Parameter |
Type |
Default |
Range |
Description |
| Refraction Strength |
float |
170.0 |
-400.0 to 400.0 |
Controls how much the image distorts through the glass. Positive values push outward, negative pull inward. |
| Enable Chromatic Aberration |
bool |
false |
- |
Enables color separation effect at refraction edges |
| Color Spread |
float |
0.2 |
0.0 - 1.0 |
Amount of chromatic aberration (RGB channel separation) |
| Frosted Glass Amount |
float |
0.0 |
0.0 - 50.0 |
Blurs the image inside the height map alpha to simulate frosting |
| Glass Color |
color |
white |
- |
Color tint applied to glass regions |
Refraction Strength
The core parameter of the effect. Higher values create more dramatic distortion:
- 0-50: Subtle, realistic window glass
- 50-150: Noticeable distortion, good for titles
- 150-300: Strong effect, artistic glass looks
- 300+: Extreme distortion for creative effects
Negative values invert the refraction direction, making the glass appear concave instead of convex.
Chromatic Aberration
When enabled, each color channel (Red, Green, Blue) refracts slightly differently, creating the rainbow fringing seen in real optical systems. This is especially visible at high refraction strengths and adds realism to the effect.
Ripple Imperfections
Add procedural noise to create imperfect, organic-looking glass surfaces.
| Parameter |
Type |
Default |
Range |
Description |
| Enable Imperfections |
bool |
false |
- |
Add procedural noise ripples to the height map |
| Amplitude |
float |
0.2 |
0.0 - 200.0 |
Strength of the noise ripples |
| Scale |
float |
1.0 |
0.01 - 100.0 |
Overall scale of noise pattern (larger = bigger features) |
| Scale Horizontal |
float |
1.0 |
0.01 - 10.0 |
Horizontal scale multiplier |
| Scale Vertical |
float |
1.0 |
0.01 - 10.0 |
Vertical scale multiplier |
| Octaves |
int |
3 |
1 - 8 |
Number of noise layers (more = more detail) |
| Lacunarity |
float |
2.0 |
1.0 - 4.0 |
Frequency multiplier per octave |
| Mask Dampen |
float |
0.0 |
0.0 - 1.0 |
Reduce noise inside original mask (0 = full noise, 1 = no noise inside mask) |
Animation Controls
| Parameter |
Type |
Default |
Range |
Description |
| Animate Noise |
bool |
false |
- |
Enable time-based noise animation |
| Speed X |
float |
0.0 |
-10.0 to 10.0 |
Horizontal animation speed |
| Speed Y |
float |
0.0 |
-10.0 to 10.0 |
Vertical animation speed |
| Evolution Speed |
float |
0.0 |
-10.0 to 10.0 |
Noise evolution speed (Z dimension) |
Animation Tip: Use Evolution Speed for subtle, organic movement without the noise pattern visibly scrolling. Combine with small X/Y speeds for a flowing water effect.
Lighting & Specular
Create the illusion of 3D depth with specular highlights.
| Parameter |
Type |
Default |
Range |
Description |
| Enable Lighting |
bool |
false |
- |
Enable directional lighting and specular highlights |
| Overall Intensity |
float |
1.0 |
0.0 - 10.0 |
Master intensity for all lights |
| Surface Relief Strength |
float |
50.0 |
-250.0 to 250.0 |
Height multiplier for lighting calculations |
Light 1 (Primary)
| Parameter |
Type |
Default |
Description |
| Light 1 Color |
color |
white |
Color of the first light |
| Light 1 Intensity |
float |
1.0 |
Brightness (0.0 - 5.0) |
| Light 1 Direction X |
float |
-10.0 |
Horizontal position (-100 to 100) |
| Light 1 Direction Y |
float |
10.0 |
Vertical position (-100 to 100) |
Light 2 (Fill/Accent)
| Parameter |
Type |
Default |
Description |
| Enable Light 2 |
bool |
false |
Enable second light source |
| Light 2 Color |
color |
warm white |
Color of the second light |
| Light 2 Intensity |
float |
0.5 |
Brightness (0.0 - 5.0) |
| Light 2 Direction X |
float |
10.0 |
Horizontal position |
| Light 2 Direction Y |
float |
-10.0 |
Vertical position |
| Parameter |
Type |
Default |
Range |
Description |
| Specular Exponent |
float |
5.0 |
1.0 - 50.0 |
Sharpness of highlights (higher = tighter/sharper) |
Bevel
Add a soft glow/bevel around the height map edges using Jump Flood Algorithm (JFA) distance fields.
| Parameter |
Type |
Default |
Range |
Description |
| Enable Bevel |
bool |
false |
- |
Add a bevel/glow around height map edges |
| Bevel Height |
float |
0.065 |
0.0 - 1.0 |
Starting height value at the edge |
| Bevel Distance |
float |
0.4 |
0.001 - 0.5 |
How far the bevel extends (fraction of frame diagonal) |
| Bevel Falloff |
float |
2.2 |
0.1 - 5.0 |
Falloff curve (1.0 = linear, >1 = fast start/slow end) |
Bevel Ripples
Add animated sine wave ripples to the bevel area for water caustic or energy field effects.
| Parameter |
Type |
Default |
Range |
Description |
| Enable Ripples |
bool |
false |
- |
Add sine wave ripples to bevel |
| Ripple Amplitude |
float |
0.65 |
0.0 - 2.0 |
Height of ripple waves |
| Ripple Wavelength |
float |
4.8 |
0.5 - 50.0 |
Wavelength (higher = longer waves) |
| Ripple Frequency |
float |
-0.8 |
-20.0 to 20.0 |
Animation speed (negative = inward, positive = outward) |
| Amplitude Falloff |
float |
3.5 |
0.1 - 10.0 |
How quickly amplitude decreases with distance |
| Wavelength Falloff |
float |
3.5 |
0.1 - 10.0 |
How wavelength grows with distance |
Advanced
| Parameter |
Type |
Default |
Range |
Description |
| Clip to Original Mask |
bool |
false |
- |
Limit effect to original height map boundaries (prevents imperfection spill) |
| Edge Mode |
choice |
Clamp |
Clamp/Mirror |
How to handle samples outside image boundaries |
| JFA Threshold |
float |
0.5 |
0.0 - 1.0 |
Alpha threshold for edge detection in distance field |
Tips & Tricks
Creating Realistic Glass
- Use a gradient height map for curved surfaces
- Enable Chromatic Aberration with a subtle Color Spread (0.1-0.2)
- Add Lighting with the light positioned to match your scene
- Keep Frosted Glass at 0 for clear glass, or 5-15 for light frosting
Animated Water Caustics
- Enable Bevel with Ripples
- Set Ripple Frequency to a negative value for inward-moving rings
- Adjust Wavelength and Amplitude for desired wave pattern
- Enable Imperfections with Animate Noise for organic variation
Title Glass Effect
- Use your title as the Height Map (white text on black)
- Set Refraction Strength to 100-200
- Enable Lighting with one light from upper-left
- Optional: Add subtle Frosted Glass (5-10) for a softer look
Troubleshooting
Effect not visible
- Check that your Height Map is connected
- Verify Height Map has white areas where you want the effect
- Increase Refraction Strength
Flickering during playback
- Increase Alpha Softness (minimum 8.0)
- Check your Height Map for hard edges
Bevel not appearing
- Enable Bevel in the Bevel group
- Increase Bevel Distance
- Check JFA Threshold - may need adjustment for your height map
- Reduce Imperfection Octaves
- Disable features you're not using
- Bevel Ripples are computationally expensive - disable when not needed