Project Manhattan
Overview
CPU Architecture
GPU Architecture
Assembly IDE
GLSL Shader Editor
C64 Compatibility
Business Applications
Game Development
System Programming
Ring-0 Operations
x86 Compatibility
Realistic 3D Benchmark
Project Manhattan: GLSL Shader Editor
// Project Manhattan GLSL Fragment Shader // Retro CRT effect with scanlines uniform vec2 resolution; uniform float time; void main() { vec2 uv = gl_FragCoord.xy / resolution.xy; // CRT curve effect vec2 curvedUV = uv * 2.0 - 1.0; vec2 offset = curvedUV.yx / vec2(6.0, 4.0); curvedUV += curvedUV * offset * offset; curvedUV = curvedUV * 0.5 + 0.5; // Check if we're outside the screen if (curvedUV.x < 0.0 || curvedUV.x > 1.0 || curvedUV.y < 0.0 || curvedUV.y > 1.0) { gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); return; } // Generate a simple pattern float pattern = sin(curvedUV.x * 10.0 + time) * 0.5 + 0.5; pattern *= sin(curvedUV.y * 10.0 + time) * 0.5 + 0.5; // Apply color vec3 color = vec3(pattern * 0.7, pattern * 0.5, pattern); // Scanline effect float scanline = sin(curvedUV.y * resolution.y * 2.0) * 0.1 + 0.9; color *= scanline; // Vignette effect float vignette = length(curvedUV - 0.5) * 0.5; color *= 1.0 - vignette; gl_FragColor = vec4(color, 1.0); }
Compile & Run
Toggle Animation
Ready