summaryrefslogtreecommitdiff
path: root/testdata/uniformparam01.lc
blob: c7aa65a6cdac2f8a995d06a3a6da4250e1315e81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
render modelViewProj = let
  emptyFB           = FrameBuffer (colorImage1 (V4 0.5 0.0 0.4 1.0))
  rasterCtx         = LineCtx 1.0 LastVertex
  fragmentCtx       = accumulationContext (ColorOp NoBlending (V4 True True True True))
  vertexShader v    = (PrimMulMatVec (modelViewProj :: Mat 4 4 Float) v, v)
  vertexStream      = fetch "stream4" Line (Attribute "position4" :: Vec 4 Float)
  primitiveStream   = mapPrimitives vertexShader vertexStream
  fragmentStream    = rasterizePrimitives rasterCtx Flat primitiveStream
  fragmentShader    = \v -> v
  frame             = accumulate fragmentCtx fragmentShader fragmentStream emptyFB
 in ScreenOut frame

main = render (Uniform "MVP" :: Mat 4 4 Float)