main = let emptyFB = FrameBuffer (colorImage1 (V4 0.0 0.0 0.4 1.0)) rasterCtx = TriangleCtx CullNone PolygonFill NoOffset LastVertex fragmentCtx = accumulationContext (ColorOp NoBlending (V4 True True True True)) vertexShader v = VertexOut v 1.0 () (Smooth v) vertexStream = fetch "stream" Line (Attribute "position" :: Vec 4 Float) primitiveStream = Transform vertexShader vertexStream fragmentStream = Rasterize rasterCtx primitiveStream fragmentShader = FragmentShader $ \v -> (V4 1.0 0.0 0.0 1.0) frame = accumulate fragmentCtx PassAll fragmentShader fragmentStream emptyFB in ScreenOut frame