Medium EffectsAnimated
Pulsing tilted diamond lattice with scanlines
A picture built in steps: zoom in and out, then tilt, then draw diamond lattice, then color it, then finish with scanlines. Every step is listed below with its exact numbers.
How this challenge works
You write a fragment shader that draws the picture above, live in your browser. A match bar shows how close you are, and the score combines accuracy, code size (the par is 465 characters in Unity (Built-in)) and GPU speed. Work in HLSL, GLSL, WGSL, Metal or Godot and export the result when you are done.
The numbers you need
- Space
p = (uv - 0.5) * float2(aspect, 1.0)- Step 1: Zoom in and out
p *= 1.0 + 0.2 * sin(time * 1.5)- Step 2: Tilt
turn p by 0.3 radians: c = cos(0.3), s = sin(0.3), p = float2(c * p.x + s * p.y, -s * p.x + c * p.y)- Step 3: Pattern
e = abs(frac(p * 3.0) - 0.5); m = step(0.42, e.x + e.y)- Step 4: Colors
lerp(float3(0.89, 0.95, 0.96), lerp(float3(0.08, 0.69, 0.85), float3(0.84, 0.23, 0.08), uv.y), m)- Step 5: Finish
col *= 0.8 + 0.2 * step(0.5, frac(uv.y * 100.0))
Solve it in your language
Unity (Built-in), Unity (URP), Unreal, Shadertoy / WebGL, OpenGL (LWJGL, raylib), three.js, GameMaker, LÖVE (Lua), Godot, Apple (iOS, macOS), WebGPU / Bevy.
Start coding