render fb = let modelViewProj = Uniform "MVP" :: Mat 4 4 Float blendFun x = Blend x ((SrcAlpha,OneMinusSrcAlpha),(SrcAlpha,OneMinusSrcAlpha)) (V4 1.0 1.0 1.0 1.0) blend'' = blendFun (FuncAdd,FuncAdd) blend = Blend (FuncAdd,FuncAdd) ((SrcAlpha,OneMinusSrcAlpha),(SrcAlpha,OneMinusSrcAlpha)) (V4 1.0 1.0 1.0 1.0) blend' = NoBlending polyMode = PolygonLine 20.0 polyMode' = PolygonFill polyMode'' = PolygonPoint (PointSize 10.0) cull = CullNone cull' = CullFront rasterCtx = TriangleCtx cull polyMode' NoOffset LastVertex fragmentCtx = (DepthOp Less False, ColorOp blend (V4 True True True True)) vertexStream = fetch "stream" ( Attribute "position" :: Vec 3 Float , Attribute "normal" :: Vec 3 Float ) primitiveStream = mapPrimitives (\(v,n) -> (PrimMulMatVec modelViewProj $ v3FToV4F v, v3FToV4F n)) vertexStream fragmentStream = rasterizePrimitives rasterCtx ((Smooth)) primitiveStream fragmentShader ((v)) = ((PrimMul v (V4 1.0 1.4 1.0 0.6))) frame = accumulate fragmentCtx fragmentShader fragmentStream fb in frame main = let bgColor = V4 0.5 0.0 0.4 1.0 bgColor' = V4 0.2 0.2 0.4 1.0 emptyFB = FrameBuffer (depthImage1 1000.0,colorImage1 bgColor) modelViewProj = Uniform "MVP" :: Mat 4 4 Float out = render emptyFB in ScreenOut out