summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lc/Builtins.lc36
-rw-r--r--src/LambdaCube/Compiler/CoreToIR.hs20
-rw-r--r--testdata/Builtins.out2766
-rw-r--r--testdata/Graphics.lc2
-rw-r--r--testdata/Graphics.out2
-rw-r--r--testdata/NewStyle.out2
-rw-r--r--testdata/PrimReduce.out2
-rw-r--r--testdata/example06.out2
-rw-r--r--testdata/example07.out2
-rw-r--r--testdata/example08.out2
-rw-r--r--testdata/fetcharrays01.out2
-rw-r--r--testdata/fragment01.out2
-rw-r--r--testdata/fragment03swizzling.out2
-rw-r--r--testdata/fragment04ifthenelse.out2
-rw-r--r--testdata/fragment07let.out2
-rw-r--r--testdata/gfx02.out2
-rw-r--r--testdata/gfx03.out2
-rw-r--r--testdata/gfx04.out2
-rw-r--r--testdata/gfx05.out2
-rw-r--r--testdata/heartbeat01.out2
-rw-r--r--testdata/helloWorld.out2
-rw-r--r--testdata/point01.lc6
-rw-r--r--testdata/point01.out2
-rw-r--r--testdata/recursivetexture01.out2
-rw-r--r--testdata/recursivetexture02.out2
-rw-r--r--testdata/reduce01.out2
-rw-r--r--testdata/reduce05.out2
-rw-r--r--testdata/simple02.out2
-rw-r--r--testdata/simple03.out2
-rw-r--r--testdata/texture01.out2
-rw-r--r--testdata/texture02.out2
31 files changed, 1453 insertions, 1429 deletions
diff --git a/lc/Builtins.lc b/lc/Builtins.lc
index 4147e107..e123b4bd 100644
--- a/lc/Builtins.lc
+++ b/lc/Builtins.lc
@@ -220,13 +220,13 @@ data CullMode
220 | CullBack 220 | CullBack
221 | CullNone 221 | CullNone
222 222
223data PointSize 223data PointSize a
224 = PointSize Float 224 = PointSize Float
225 | ProgramPointSize 225 | ProgramPointSize (a -> Float)
226 226
227data PolygonMode 227data PolygonMode a
228 = PolygonFill 228 = PolygonFill
229 | PolygonPoint PointSize 229 | PolygonPoint (PointSize a)
230 | PolygonLine Float 230 | PolygonLine Float
231 231
232data PolygonOffset 232data PolygonOffset
@@ -256,10 +256,10 @@ primTexture :: () -> Vec 2 Float -> Vec 4 Float
256Uniform :: String -> t 256Uniform :: String -> t
257Attribute :: String -> t 257Attribute :: String -> t
258 258
259data RasterContext :: PrimitiveType -> Type where 259data RasterContext a :: PrimitiveType -> Type where
260 TriangleCtx :: CullMode -> PolygonMode -> PolygonOffset -> ProvokingVertex -> RasterContext Triangle 260 TriangleCtx :: CullMode -> PolygonMode a -> PolygonOffset -> ProvokingVertex -> RasterContext a Triangle
261 PointCtx :: PointSize -> Float -> PointSpriteCoordOrigin -> RasterContext Point 261 PointCtx :: PointSize a -> Float -> PointSpriteCoordOrigin -> RasterContext a Point
262 LineCtx :: Float -> ProvokingVertex -> RasterContext Line 262 LineCtx :: Float -> ProvokingVertex -> RasterContext a Line
263 263
264type family FTRepr' a where 264type family FTRepr' a where
265 -- TODO 265 -- TODO
@@ -344,9 +344,10 @@ type family RemSemantics a where
344 RemSemantics (Depth Float, Color a, Color b, Color c) = (a, b, c) 344 RemSemantics (Depth Float, Color a, Color b, Color c) = (a, b, c)
345 RemSemantics (Depth Float, Color a, Color b, Color c, Color d) = (a, b, c, d) 345 RemSemantics (Depth Float, Color a, Color b, Color c, Color d) = (a, b, c, d)
346 346
347-------------------
348
347data Vector (n :: Nat) t 349data Vector (n :: Nat) t
348 350
349 -- Render Operations
350data Fragment (l :: Nat) t 351data Fragment (l :: Nat) t
351 = Fragment (Vec 3 Float) (Vector l t) 352 = Fragment (Vec 3 Float) (Vector l t)
352 353
@@ -369,14 +370,15 @@ type family InterpolatedType a where
369 InterpolatedType (Interpolated a, Interpolated b, Interpolated c) = (a, b, c) 370 InterpolatedType (Interpolated a, Interpolated b, Interpolated c) = (a, b, c)
370 371
371rasterize 372rasterize
372 :: (b ~ InterpolatedType interpolation, a ~ JoinTupleType (Vec 4 Float) b) 373 :: ( b ~ InterpolatedType interpolation
373 => (a -> Float) -- point size 374 , a ~ JoinTupleType (Vec 4 Float) b )
374 -> interpolation -- tuple of Smooth & Flat 375 => interpolation -- tuple of Smooth & Flat
375 -> RasterContext x 376 -> RasterContext a x
376 -> Primitive a x -> FragmentStream 1 b 377 -> Primitive a x
377 378 -> FragmentStream 1 b
378rasterizePrimitives ctx is = concatMapStream (rasterize (\_ -> 1) is ctx) 379
379rasterizePrimitivesWithPointSize ctx ps is = concatMapStream (rasterize ps is ctx) 380rasterizePrimitives ctx is = concatMapStream (rasterize is ctx)
381--rasterizePrimitivesWithPointSize ctx ps is = concatMapStream (rasterize ps is ctx)
380 382
381checkFragment :: (a -> Bool) -> Fragment n a -> Bool 383checkFragment :: (a -> Bool) -> Fragment n a -> Bool
382 384
diff --git a/src/LambdaCube/Compiler/CoreToIR.hs b/src/LambdaCube/Compiler/CoreToIR.hs
index 866baf9b..4be0ee8b 100644
--- a/src/LambdaCube/Compiler/CoreToIR.hs
+++ b/src/LambdaCube/Compiler/CoreToIR.hs
@@ -225,7 +225,8 @@ getCommands e = case e of
225 rt <- newFrameBufferTarget (tyOf a) 225 rt <- newFrameBufferTarget (tyOf a)
226 (subCmds,cmds) <- getCommands a 226 (subCmds,cmds) <- getCommands a
227 return (subCmds,IR.SetRenderTarget rt : cmds) 227 return (subCmds,IR.SetRenderTarget rt : cmds)
228 A3 "Accumulate" actx (getFragmentShader . removeDepthHandler -> (frag, getFragFilter -> (ffilter, Prim2 "concatMapStream" (EtaPrim4 "rasterize" rp is rctx) (getVertexShader -> (vert, input))))) fbuf -> do 228 A3 "Accumulate" actx (getFragmentShader . removeDepthHandler -> (frag, getFragFilter -> (ffilter, Prim2 "concatMapStream" (EtaPrim3 "rasterize" {-rp-} is rctx) (getVertexShader -> (vert, input))))) fbuf -> do
229 let rp = compRC' rctx
229 (smpBindingsV,vertCmds) <- getRenderTextureCommands vert 230 (smpBindingsV,vertCmds) <- getRenderTextureCommands vert
230 (smpBindingsR,rastCmds) <- maybe (return mempty) getRenderTextureCommands ffilter 231 (smpBindingsR,rastCmds) <- maybe (return mempty) getRenderTextureCommands ffilter
231 (smpBindingsP,raspCmds) <- getRenderTextureCommands rp 232 (smpBindingsP,raspCmds) <- getRenderTextureCommands rp
@@ -439,6 +440,11 @@ compRC x = case x of
439 A4 "TriangleCtx" a b c d -> IR.TriangleCtx (compCM a) (compPM b) (compPO c) (compPV d) 440 A4 "TriangleCtx" a b c d -> IR.TriangleCtx (compCM a) (compPM b) (compPO c) (compPV d)
440 x -> error $ "compRC " ++ ppShow x 441 x -> error $ "compRC " ++ ppShow x
441 442
443compRC' x = case x of
444 A3 "PointCtx" a _ _ -> compPS' a
445 A4 "TriangleCtx" _ b _ _ -> compPM' b
446 x -> defaultPointSizeFun $ case tyOf x of A2 "RasterContext" t _ -> t
447
442compPSCO x = case x of 448compPSCO x = case x of
443 A0 "LowerLeft" -> IR.LowerLeft 449 A0 "LowerLeft" -> IR.LowerLeft
444 A0 "UpperLeft" -> IR.UpperLeft 450 A0 "UpperLeft" -> IR.UpperLeft
@@ -456,11 +462,19 @@ compPM x = case x of
456 A1 "PolygonPoint" a -> IR.PolygonPoint $ compPS a 462 A1 "PolygonPoint" a -> IR.PolygonPoint $ compPS a
457 x -> error $ "compPM " ++ ppShow x 463 x -> error $ "compPM " ++ ppShow x
458 464
465compPM' x = case x of
466 A1 "PolygonPoint" a -> compPS' a
467 x -> defaultPointSizeFun $ case tyOf x of A1 "PolygonMode" t -> t
468
459compPS x = case x of 469compPS x = case x of
460 A1 "PointSize" (EFloat a) -> IR.PointSize $ realToFrac a 470 A1 "PointSize" (EFloat a) -> IR.PointSize $ realToFrac a
461 A0 "ProgramPointSize" -> IR.ProgramPointSize 471 A1 "ProgramPointSize" _ -> IR.ProgramPointSize
462 x -> error $ "compPS " ++ ppShow x 472 x -> error $ "compPS " ++ ppShow x
463 473
474compPS' x = case x of
475 A1 "ProgramPointSize" x -> x
476 x -> defaultPointSizeFun $ case tyOf x of A1 "PointSize" t -> t
477
464compPO x = case x of 478compPO x = case x of
465 A2 "Offset" (EFloat a) (EFloat b) -> IR.Offset (realToFrac a) (realToFrac b) 479 A2 "Offset" (EFloat a) (EFloat b) -> IR.Offset (realToFrac a) (realToFrac b)
466 A0 "NoOffset" -> IR.NoOffset 480 A0 "NoOffset" -> IR.NoOffset
@@ -565,6 +579,8 @@ shaderHeader = \case
565 tell ["precision highp float;"] 579 tell ["precision highp float;"]
566 tell ["precision highp int;"] 580 tell ["precision highp int;"]
567 581
582defaultPointSizeFun t = ELam (PVar t "dps") $ EFloat 1
583
568genVertexGLSL :: Backend -> Exp -> Exp -> Exp -> (([String],[(String,String,String)]),String) 584genVertexGLSL :: Backend -> Exp -> Exp -> Exp -> (([String],[(String,String,String)]),String)
569genVertexGLSL backend rp@(etaRed -> ELam is s) ints e@(etaRed -> ELam i o) = second unlines $ runWriter $ do 585genVertexGLSL backend rp@(etaRed -> ELam is s) ints e@(etaRed -> ELam i o) = second unlines $ runWriter $ do
570 shaderHeader backend 586 shaderHeader backend
diff --git a/testdata/Builtins.out b/testdata/Builtins.out
index 1c8140c4..6e1e55b6 100644
--- a/testdata/Builtins.out
+++ b/testdata/Builtins.out
@@ -744,17 +744,25 @@ testdata/Builtins.lc 218:6-221:15 Type
744testdata/Builtins.lc 219:7-219:16 CullMode 744testdata/Builtins.lc 219:7-219:16 CullMode
745testdata/Builtins.lc 220:7-220:15 CullMode 745testdata/Builtins.lc 220:7-220:15 CullMode
746testdata/Builtins.lc 221:7-221:15 CullMode 746testdata/Builtins.lc 221:7-221:15 CullMode
747testdata/Builtins.lc 223:6-223:15 Type 747testdata/Builtins.lc 223:6-223:15 Type | Type->Type
748testdata/Builtins.lc 223:6-224:22 Type
748testdata/Builtins.lc 223:6-225:23 Type 749testdata/Builtins.lc 223:6-225:23 Type
749testdata/Builtins.lc 224:7-224:16 Float->PointSize | PointSize | Type 750testdata/Builtins.lc 223:6-225:36 Type
751testdata/Builtins.lc 224:7-224:16 PointSize V2 | Type | {a} -> Float -> PointSize a
750testdata/Builtins.lc 224:17-224:22 Type 752testdata/Builtins.lc 224:17-224:22 Type
751testdata/Builtins.lc 225:7-225:23 PointSize 753testdata/Builtins.lc 225:7-225:23 PointSize V3 | Type | {a} -> a->Float -> PointSize a
752testdata/Builtins.lc 227:6-227:17 Type 754testdata/Builtins.lc 225:25-225:26 Type
755testdata/Builtins.lc 225:30-225:35 Type
756testdata/Builtins.lc 227:6-227:17 Type | Type->Type
757testdata/Builtins.lc 227:6-229:33 Type
753testdata/Builtins.lc 227:6-230:18 Type 758testdata/Builtins.lc 227:6-230:18 Type
754testdata/Builtins.lc 228:7-228:18 PolygonMode 759testdata/Builtins.lc 227:6-230:24 Type
755testdata/Builtins.lc 229:7-229:19 PointSize->PolygonMode | PolygonMode | Type 760testdata/Builtins.lc 228:7-228:18 PolygonMode V1 | {a} -> PolygonMode a
756testdata/Builtins.lc 229:20-229:29 Type 761testdata/Builtins.lc 229:7-229:19 PolygonMode V3 | Type | {a} -> PointSize a -> PolygonMode a
757testdata/Builtins.lc 230:7-230:18 Float->PolygonMode | PolygonMode | Type 762testdata/Builtins.lc 229:20-229:33 Type
763testdata/Builtins.lc 229:21-229:30 Type->Type
764testdata/Builtins.lc 229:31-229:32 Type
765testdata/Builtins.lc 230:7-230:18 PolygonMode V4 | Type | {a} -> Float -> PolygonMode a
758testdata/Builtins.lc 230:19-230:24 Type 766testdata/Builtins.lc 230:19-230:24 Type
759testdata/Builtins.lc 232:6-232:19 Type 767testdata/Builtins.lc 232:6-232:19 Type
760testdata/Builtins.lc 232:6-234:13 Type 768testdata/Builtins.lc 232:6-234:13 Type
@@ -798,40 +806,54 @@ testdata/Builtins.lc 257:1-257:10 {a} -> String->a
798testdata/Builtins.lc 257:14-257:20 Type 806testdata/Builtins.lc 257:14-257:20 Type
799testdata/Builtins.lc 257:14-257:25 Type 807testdata/Builtins.lc 257:14-257:25 Type
800testdata/Builtins.lc 257:24-257:25 Type | V2 808testdata/Builtins.lc 257:24-257:25 Type | V2
801testdata/Builtins.lc 259:6-259:19 PrimitiveType->Type | Type 809testdata/Builtins.lc 259:6-259:19 Type | Type -> PrimitiveType->Type
802testdata/Builtins.lc 259:6-262:107 Type 810testdata/Builtins.lc 259:6-262:111 Type
803testdata/Builtins.lc 259:23-259:36 Type 811testdata/Builtins.lc 259:25-259:38 Type
804testdata/Builtins.lc 259:40-259:44 Type 812testdata/Builtins.lc 259:25-259:46 Type
805testdata/Builtins.lc 260:3-260:14 CullMode -> PolygonMode -> PolygonOffset -> ProvokingVertex -> RasterContext 'Triangle | RasterContext 'Triangle 813testdata/Builtins.lc 259:42-259:46 Type
806testdata/Builtins.lc 260:3-260:111 Type 814testdata/Builtins.lc 260:3-260:14 RasterContext V5 'Triangle | {a} -> CullMode -> PolygonMode a -> PolygonOffset -> ProvokingVertex -> RasterContext a 'Triangle
815testdata/Builtins.lc 260:3-260:115 Type
807testdata/Builtins.lc 260:26-260:34 Type 816testdata/Builtins.lc 260:26-260:34 Type
808testdata/Builtins.lc 260:38-260:49 Type 817testdata/Builtins.lc 260:26-260:115 Type
809testdata/Builtins.lc 260:38-260:111 Type 818testdata/Builtins.lc 260:38-260:49 Type->Type
810testdata/Builtins.lc 260:53-260:66 Type 819testdata/Builtins.lc 260:38-260:51 Type
811testdata/Builtins.lc 260:53-260:111 Type 820testdata/Builtins.lc 260:38-260:115 Type
812testdata/Builtins.lc 260:70-260:85 Type 821testdata/Builtins.lc 260:50-260:51 Type
813testdata/Builtins.lc 260:70-260:111 Type 822testdata/Builtins.lc 260:55-260:68 Type
814testdata/Builtins.lc 260:89-260:102 PrimitiveType->Type 823testdata/Builtins.lc 260:55-260:115 Type
815testdata/Builtins.lc 260:89-260:111 Type 824testdata/Builtins.lc 260:72-260:87 Type
816testdata/Builtins.lc 260:103-260:111 PrimitiveType 825testdata/Builtins.lc 260:72-260:115 Type
817testdata/Builtins.lc 261:3-261:11 PointSize -> Float -> PointSpriteCoordOrigin -> RasterContext 'Point | RasterContext 'Point 826testdata/Builtins.lc 260:91-260:104 Type -> PrimitiveType->Type
818testdata/Builtins.lc 261:3-261:108 Type 827testdata/Builtins.lc 260:91-260:106 PrimitiveType->Type
819testdata/Builtins.lc 261:26-261:35 Type 828testdata/Builtins.lc 260:91-260:115 Type
820testdata/Builtins.lc 261:39-261:44 Type 829testdata/Builtins.lc 260:105-260:106 Type
821testdata/Builtins.lc 261:39-261:108 Type 830testdata/Builtins.lc 260:107-260:115 PrimitiveType
822testdata/Builtins.lc 261:48-261:70 Type 831testdata/Builtins.lc 261:3-261:11 RasterContext V5 'Point | {a} -> PointSize a -> Float -> PointSpriteCoordOrigin -> RasterContext a 'Point
823testdata/Builtins.lc 261:48-261:108 Type 832testdata/Builtins.lc 261:3-261:112 Type
824testdata/Builtins.lc 261:89-261:102 PrimitiveType->Type 833testdata/Builtins.lc 261:26-261:35 Type->Type
825testdata/Builtins.lc 261:89-261:108 Type 834testdata/Builtins.lc 261:26-261:37 Type
826testdata/Builtins.lc 261:103-261:108 PrimitiveType 835testdata/Builtins.lc 261:26-261:112 Type
827testdata/Builtins.lc 262:3-262:10 Float -> ProvokingVertex -> RasterContext 'Line | RasterContext 'Line 836testdata/Builtins.lc 261:36-261:37 Type
828testdata/Builtins.lc 262:3-262:107 Type 837testdata/Builtins.lc 261:41-261:46 Type
838testdata/Builtins.lc 261:41-261:112 Type
839testdata/Builtins.lc 261:50-261:72 Type
840testdata/Builtins.lc 261:50-261:112 Type
841testdata/Builtins.lc 261:91-261:104 Type -> PrimitiveType->Type
842testdata/Builtins.lc 261:91-261:106 PrimitiveType->Type
843testdata/Builtins.lc 261:91-261:112 Type
844testdata/Builtins.lc 261:105-261:106 Type
845testdata/Builtins.lc 261:107-261:112 PrimitiveType
846testdata/Builtins.lc 262:3-262:10 RasterContext V5 'Line | {a} -> Float -> ProvokingVertex -> RasterContext a 'Line
847testdata/Builtins.lc 262:3-262:111 Type
829testdata/Builtins.lc 262:26-262:31 Type 848testdata/Builtins.lc 262:26-262:31 Type
849testdata/Builtins.lc 262:26-262:111 Type
830testdata/Builtins.lc 262:35-262:50 Type 850testdata/Builtins.lc 262:35-262:50 Type
831testdata/Builtins.lc 262:35-262:107 Type 851testdata/Builtins.lc 262:35-262:111 Type
832testdata/Builtins.lc 262:89-262:102 PrimitiveType->Type 852testdata/Builtins.lc 262:91-262:104 Type -> PrimitiveType->Type
833testdata/Builtins.lc 262:89-262:107 Type 853testdata/Builtins.lc 262:91-262:106 PrimitiveType->Type
834testdata/Builtins.lc 262:103-262:107 PrimitiveType 854testdata/Builtins.lc 262:91-262:111 Type
855testdata/Builtins.lc 262:105-262:106 Type
856testdata/Builtins.lc 262:107-262:111 PrimitiveType
835testdata/Builtins.lc 266:5-266:12 Type->Type 857testdata/Builtins.lc 266:5-266:12 Type->Type
836testdata/Builtins.lc 266:14-266:15 Type 858testdata/Builtins.lc 266:14-266:15 Type
837testdata/Builtins.lc 266:14-266:20 Type->Type 859testdata/Builtins.lc 266:14-266:20 Type->Type
@@ -1248,640 +1270,584 @@ testdata/Builtins.lc 345:71-345:78 Type->Type
1248testdata/Builtins.lc 345:74-345:75 Type 1270testdata/Builtins.lc 345:74-345:75 Type
1249testdata/Builtins.lc 345:77-345:78 Type 1271testdata/Builtins.lc 345:77-345:78 Type
1250testdata/Builtins.lc 345:80-345:81 Type 1272testdata/Builtins.lc 345:80-345:81 Type
1251testdata/Builtins.lc 347:6-347:12 Nat -> Type->Type | Type 1273testdata/Builtins.lc 349:6-349:12 Nat -> Type->Type | Type
1252testdata/Builtins.lc 347:19-347:22 Type 1274testdata/Builtins.lc 349:19-349:22 Type
1253testdata/Builtins.lc 350:6-350:14 Nat -> Type->Type | Type 1275testdata/Builtins.lc 351:6-351:14 Nat -> Type->Type | Type
1254testdata/Builtins.lc 350:6-351:15 Type 1276testdata/Builtins.lc 351:6-352:15 Type
1255testdata/Builtins.lc 350:6-351:42 Type 1277testdata/Builtins.lc 351:6-352:42 Type
1256testdata/Builtins.lc 350:21-350:24 Type 1278testdata/Builtins.lc 351:21-351:24 Type
1257testdata/Builtins.lc 351:7-351:15 Fragment V4 V3 | Type | {a:Nat} -> {b} -> VecS Float 3 -> Vector a b -> Fragment a b 1279testdata/Builtins.lc 352:7-352:15 Fragment V4 V3 | Type | {a:Nat} -> {b} -> VecS Float 3 -> Vector a b -> Fragment a b
1258testdata/Builtins.lc 351:16-351:29 Type 1280testdata/Builtins.lc 352:16-352:29 Type
1259testdata/Builtins.lc 351:17-351:20 Nat -> Type->Type 1281testdata/Builtins.lc 352:17-352:20 Nat -> Type->Type
1260testdata/Builtins.lc 351:17-351:22 Type->Type 1282testdata/Builtins.lc 352:17-352:22 Type->Type
1261testdata/Builtins.lc 351:21-351:22 V1 1283testdata/Builtins.lc 352:21-352:22 V1
1262testdata/Builtins.lc 351:23-351:28 Type 1284testdata/Builtins.lc 352:23-352:28 Type
1263testdata/Builtins.lc 351:30-351:42 Type 1285testdata/Builtins.lc 352:30-352:42 Type
1264testdata/Builtins.lc 351:31-351:37 Nat -> Type->Type 1286testdata/Builtins.lc 352:31-352:37 Nat -> Type->Type
1265testdata/Builtins.lc 351:31-351:39 Type->Type 1287testdata/Builtins.lc 352:31-352:39 Type->Type
1266testdata/Builtins.lc 351:38-351:39 Nat 1288testdata/Builtins.lc 352:38-352:39 Nat
1267testdata/Builtins.lc 351:40-351:41 Type 1289testdata/Builtins.lc 352:40-352:41 Type
1268testdata/Builtins.lc 353:6-353:20 Nat -> Type->Type 1290testdata/Builtins.lc 354:6-354:20 Nat -> Type->Type
1269testdata/Builtins.lc 353:27-353:33 Type->Type 1291testdata/Builtins.lc 354:27-354:33 Type->Type
1270testdata/Builtins.lc 353:27-353:48 Type 1292testdata/Builtins.lc 354:27-354:48 Type
1271testdata/Builtins.lc 353:34-353:48 Type 1293testdata/Builtins.lc 354:34-354:48 Type
1272testdata/Builtins.lc 353:35-353:43 Nat -> Type->Type 1294testdata/Builtins.lc 354:35-354:43 Nat -> Type->Type
1273testdata/Builtins.lc 353:35-353:45 Type->Type 1295testdata/Builtins.lc 354:35-354:45 Type->Type
1274testdata/Builtins.lc 353:44-353:45 V3 1296testdata/Builtins.lc 354:44-354:45 V3
1275testdata/Builtins.lc 353:46-353:47 V1 1297testdata/Builtins.lc 354:46-354:47 V1
1276testdata/Builtins.lc 355:1-355:15 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a 1298testdata/Builtins.lc 356:1-356:15 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a
1277testdata/Builtins.lc 355:19-355:63 Type 1299testdata/Builtins.lc 356:19-356:63 Type
1278testdata/Builtins.lc 355:20-355:21 V3 1300testdata/Builtins.lc 356:20-356:21 V3
1279testdata/Builtins.lc 355:25-355:30 Type 1301testdata/Builtins.lc 356:25-356:30 Type
1280testdata/Builtins.lc 355:35-355:43 Nat -> Type->Type 1302testdata/Builtins.lc 356:35-356:43 Nat -> Type->Type
1281testdata/Builtins.lc 355:35-355:45 Type->Type 1303testdata/Builtins.lc 356:35-356:45 Type->Type
1282testdata/Builtins.lc 355:35-355:47 Type 1304testdata/Builtins.lc 356:35-356:47 Type
1283testdata/Builtins.lc 355:35-355:63 Type 1305testdata/Builtins.lc 356:35-356:63 Type
1284testdata/Builtins.lc 355:44-355:45 V2 1306testdata/Builtins.lc 356:44-356:45 V2
1285testdata/Builtins.lc 355:46-355:47 Type 1307testdata/Builtins.lc 356:46-356:47 Type
1286testdata/Builtins.lc 355:51-355:59 Nat -> Type->Type 1308testdata/Builtins.lc 356:51-356:59 Nat -> Type->Type
1287testdata/Builtins.lc 355:51-355:61 Type->Type 1309testdata/Builtins.lc 356:51-356:61 Type->Type
1288testdata/Builtins.lc 355:51-355:63 Type 1310testdata/Builtins.lc 356:51-356:63 Type
1289testdata/Builtins.lc 355:60-355:61 Nat 1311testdata/Builtins.lc 356:60-356:61 Nat
1290testdata/Builtins.lc 355:62-355:63 Type 1312testdata/Builtins.lc 356:62-356:63 Type
1291testdata/Builtins.lc 357:20-357:76 Type 1313testdata/Builtins.lc 358:20-358:76 Type
1292testdata/Builtins.lc 357:21-357:22 V3 1314testdata/Builtins.lc 358:21-358:22 V3
1293testdata/Builtins.lc 357:26-357:31 Type 1315testdata/Builtins.lc 358:26-358:31 Type
1294testdata/Builtins.lc 357:36-357:50 Nat -> Type->Type 1316testdata/Builtins.lc 358:36-358:50 Nat -> Type->Type
1295testdata/Builtins.lc 357:36-357:52 Type->Type 1317testdata/Builtins.lc 358:36-358:52 Type->Type
1296testdata/Builtins.lc 357:36-357:54 Type 1318testdata/Builtins.lc 358:36-358:54 Type
1297testdata/Builtins.lc 357:36-357:76 Type 1319testdata/Builtins.lc 358:36-358:76 Type
1298testdata/Builtins.lc 357:51-357:52 V2 1320testdata/Builtins.lc 358:51-358:52 V2
1299testdata/Builtins.lc 357:53-357:54 Type 1321testdata/Builtins.lc 358:53-358:54 Type
1300testdata/Builtins.lc 357:58-357:72 Nat -> Type->Type 1322testdata/Builtins.lc 358:58-358:72 Nat -> Type->Type
1301testdata/Builtins.lc 357:58-357:74 Type->Type 1323testdata/Builtins.lc 358:58-358:74 Type->Type
1302testdata/Builtins.lc 357:58-357:76 Type 1324testdata/Builtins.lc 358:58-358:76 Type
1303testdata/Builtins.lc 357:73-357:74 Nat 1325testdata/Builtins.lc 358:73-358:74 Nat
1304testdata/Builtins.lc 357:75-357:76 Type 1326testdata/Builtins.lc 358:75-358:76 Type
1305testdata/Builtins.lc 358:1-358:16 {a} -> {b:Nat} -> a->Float -> Stream (Fragment b a) -> Stream (Fragment b a) 1327testdata/Builtins.lc 359:1-359:16 {a} -> {b:Nat} -> a->Float -> Stream (Fragment b a) -> Stream (Fragment b a)
1306testdata/Builtins.lc 358:21-358:30 {a} -> {b} -> a->b -> Stream a -> Stream b 1328testdata/Builtins.lc 359:21-359:30 {a} -> {b} -> a->b -> Stream a -> Stream b
1307testdata/Builtins.lc 358:21-358:49 Stream (Fragment V0 V3) -> Stream (Fragment V1 V4) | V1->Float -> Stream (Fragment V1 V2) -> Stream (Fragment V2 V3) 1329testdata/Builtins.lc 359:21-359:49 Stream (Fragment V0 V3) -> Stream (Fragment V1 V4) | V1->Float -> Stream (Fragment V1 V2) -> Stream (Fragment V2 V3)
1308testdata/Builtins.lc 358:31-358:49 Fragment V0 V5 -> Fragment V1 V6 1330testdata/Builtins.lc 359:31-359:49 Fragment V0 V5 -> Fragment V1 V6
1309testdata/Builtins.lc 358:32-358:46 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a 1331testdata/Builtins.lc 359:32-359:46 {a} -> {b:Nat} -> a->Float -> Fragment b a -> Fragment b a
1310testdata/Builtins.lc 358:47-358:48 V6->Float 1332testdata/Builtins.lc 359:47-359:48 V6->Float
1311testdata/Builtins.lc 360:6-360:18 Type | Type->Type 1333testdata/Builtins.lc 361:6-361:18 Type | Type->Type
1312testdata/Builtins.lc 360:6-363:7 Type 1334testdata/Builtins.lc 361:6-364:7 Type
1313testdata/Builtins.lc 361:3-361:9 Interpolated V2 | Type | {a} -> {b : Floating a} -> Interpolated a 1335testdata/Builtins.lc 362:3-362:9 Interpolated V2 | Type | {a} -> {b : Floating a} -> Interpolated a
1314testdata/Builtins.lc 361:11-361:24 Interpolated V3 | Type | {a} -> {b : Floating a} -> Interpolated a 1336testdata/Builtins.lc 362:11-362:24 Interpolated V3 | Type | {a} -> {b : Floating a} -> Interpolated a
1315testdata/Builtins.lc 362:26-362:38 Type 1337testdata/Builtins.lc 363:26-363:38 Type
1316testdata/Builtins.lc 362:26-362:56 Type 1338testdata/Builtins.lc 363:26-363:56 Type
1317testdata/Builtins.lc 362:27-362:35 Type->Type 1339testdata/Builtins.lc 363:27-363:35 Type->Type
1318testdata/Builtins.lc 362:36-362:37 Type 1340testdata/Builtins.lc 363:36-363:37 Type
1319testdata/Builtins.lc 362:42-362:54 Type->Type
1320testdata/Builtins.lc 362:42-362:56 Type
1321testdata/Builtins.lc 362:55-362:56 Type
1322testdata/Builtins.lc 363:3-363:7 Interpolated V3 | {a} -> Interpolated a
1323testdata/Builtins.lc 363:42-363:54 Type->Type 1341testdata/Builtins.lc 363:42-363:54 Type->Type
1324testdata/Builtins.lc 363:42-363:56 Type 1342testdata/Builtins.lc 363:42-363:56 Type
1325testdata/Builtins.lc 363:55-363:56 Type 1343testdata/Builtins.lc 363:55-363:56 Type
1326testdata/Builtins.lc 366:5-366:21 Type->Type 1344testdata/Builtins.lc 364:3-364:7 Interpolated V3 | {a} -> Interpolated a
1327testdata/Builtins.lc 366:27-366:29 Type 1345testdata/Builtins.lc 364:42-364:54 Type->Type
1328testdata/Builtins.lc 366:27-369:82 Type | Type->Type 1346testdata/Builtins.lc 364:42-364:56 Type
1329testdata/Builtins.lc 367:36-367:37 Type 1347testdata/Builtins.lc 364:55-364:56 Type
1330testdata/Builtins.lc 367:36-367:42 Type->Type 1348testdata/Builtins.lc 367:5-367:21 Type->Type
1331testdata/Builtins.lc 367:36-369:82 Type 1349testdata/Builtins.lc 367:27-367:29 Type
1332testdata/Builtins.lc 367:41-367:42 Type | Type->Type 1350testdata/Builtins.lc 367:27-370:82 Type | Type->Type
1333testdata/Builtins.lc 368:23-368:53 Type 1351testdata/Builtins.lc 368:36-368:37 Type
1334testdata/Builtins.lc 368:23-368:63 Type->Type 1352testdata/Builtins.lc 368:36-368:42 Type->Type
1335testdata/Builtins.lc 368:23-369:82 Type 1353testdata/Builtins.lc 368:36-370:82 Type
1336testdata/Builtins.lc 368:57-368:63 Type | Type -> Type->Type | Type->Type 1354testdata/Builtins.lc 368:41-368:42 Type | Type->Type
1337testdata/Builtins.lc 368:58-368:59 Type 1355testdata/Builtins.lc 369:23-369:53 Type
1338testdata/Builtins.lc 368:61-368:62 Type 1356testdata/Builtins.lc 369:23-369:63 Type->Type
1339testdata/Builtins.lc 369:23-369:69 Type 1357testdata/Builtins.lc 369:23-370:82 Type
1340testdata/Builtins.lc 369:23-369:82 Type->Type 1358testdata/Builtins.lc 369:57-369:63 Type | Type -> Type->Type | Type->Type
1341testdata/Builtins.lc 369:73-369:82 Type | Type -> Type -> Type->Type | Type -> Type->Type | Type->Type 1359testdata/Builtins.lc 369:58-369:59 Type
1342testdata/Builtins.lc 369:74-369:75 Type 1360testdata/Builtins.lc 369:61-369:62 Type
1343testdata/Builtins.lc 369:74-369:78 Type->Type 1361testdata/Builtins.lc 370:23-370:69 Type
1344testdata/Builtins.lc 369:77-369:78 Type 1362testdata/Builtins.lc 370:23-370:82 Type->Type
1345testdata/Builtins.lc 369:80-369:81 Type 1363testdata/Builtins.lc 370:73-370:82 Type | Type -> Type -> Type->Type | Type -> Type->Type | Type->Type
1346testdata/Builtins.lc 371:1-371:10 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (VecS Float 4) a} -> c->Float -> b -> RasterContext d -> Primitive c d -> Stream (Fragment 1 a) 1364testdata/Builtins.lc 370:74-370:75 Type
1347testdata/Builtins.lc 372:8-376:43 Type 1365testdata/Builtins.lc 370:74-370:78 Type->Type
1348testdata/Builtins.lc 372:9-372:10 V7 1366testdata/Builtins.lc 370:77-370:78 Type
1349testdata/Builtins.lc 372:9-372:12 Type->Type 1367testdata/Builtins.lc 370:80-370:81 Type
1350testdata/Builtins.lc 372:9-372:43 Type 1368testdata/Builtins.lc 372:1-372:10 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (VecS Float 4) a} -> b -> RasterContext c d -> Primitive c d -> Stream (Fragment 1 a)
1351testdata/Builtins.lc 372:11-372:12 Type -> Type->Type 1369testdata/Builtins.lc 373:8-378:26 Type
1352testdata/Builtins.lc 372:13-372:29 Type->Type 1370testdata/Builtins.lc 373:10-373:11 V7
1353testdata/Builtins.lc 372:13-372:43 Type 1371testdata/Builtins.lc 373:10-373:13 Type->Type
1354testdata/Builtins.lc 372:30-372:43 V5 1372testdata/Builtins.lc 373:10-373:44 Type
1355testdata/Builtins.lc 372:45-372:46 V4 1373testdata/Builtins.lc 373:12-373:13 Type -> Type->Type
1356testdata/Builtins.lc 372:45-372:48 Type->Type 1374testdata/Builtins.lc 373:14-373:30 Type->Type
1357testdata/Builtins.lc 372:45-372:78 Type 1375testdata/Builtins.lc 373:14-373:44 Type
1358testdata/Builtins.lc 372:45-376:43 Type 1376testdata/Builtins.lc 373:31-373:44 V5
1359testdata/Builtins.lc 372:47-372:48 Type -> Type->Type 1377testdata/Builtins.lc 374:10-374:11 V4
1360testdata/Builtins.lc 372:49-372:62 Type -> Type->Type 1378testdata/Builtins.lc 374:10-374:13 Type->Type
1361testdata/Builtins.lc 372:49-372:76 Type->Type 1379testdata/Builtins.lc 374:10-374:43 Type
1362testdata/Builtins.lc 372:49-372:78 Type 1380testdata/Builtins.lc 374:10-378:26 Type
1363testdata/Builtins.lc 372:63-372:76 Type 1381testdata/Builtins.lc 374:12-374:13 Type -> Type->Type
1364testdata/Builtins.lc 372:64-372:67 Nat -> Type->Type 1382testdata/Builtins.lc 374:14-374:27 Type -> Type->Type
1365testdata/Builtins.lc 372:64-372:69 Type->Type 1383testdata/Builtins.lc 374:14-374:41 Type->Type
1366testdata/Builtins.lc 372:68-372:69 V1 1384testdata/Builtins.lc 374:14-374:43 Type
1367testdata/Builtins.lc 372:70-372:75 Type 1385testdata/Builtins.lc 374:28-374:41 Type
1368testdata/Builtins.lc 372:77-372:78 Type 1386testdata/Builtins.lc 374:29-374:32 Nat -> Type->Type
1369testdata/Builtins.lc 373:8-376:43 Type 1387testdata/Builtins.lc 374:29-374:34 Type->Type
1370testdata/Builtins.lc 373:9-373:10 Type 1388testdata/Builtins.lc 374:33-374:34 V1
1371testdata/Builtins.lc 373:14-373:19 Type 1389testdata/Builtins.lc 374:35-374:40 Type
1372testdata/Builtins.lc 374:8-374:21 Type 1390testdata/Builtins.lc 374:42-374:43 Type
1373testdata/Builtins.lc 374:8-376:43 Type 1391testdata/Builtins.lc 375:8-375:21 Type
1374testdata/Builtins.lc 375:8-375:21 PrimitiveType->Type 1392testdata/Builtins.lc 375:8-378:26 Type
1375testdata/Builtins.lc 375:8-375:23 Type 1393testdata/Builtins.lc 376:8-376:21 Type -> PrimitiveType->Type
1376testdata/Builtins.lc 375:8-376:43 Type 1394testdata/Builtins.lc 376:8-376:23 PrimitiveType->Type
1377testdata/Builtins.lc 375:22-375:23 V5 1395testdata/Builtins.lc 376:8-376:25 Type
1378testdata/Builtins.lc 376:8-376:17 Type -> PrimitiveType->Type 1396testdata/Builtins.lc 376:8-378:26 Type
1379testdata/Builtins.lc 376:8-376:19 PrimitiveType->Type 1397testdata/Builtins.lc 376:22-376:23 Type
1380testdata/Builtins.lc 376:8-376:21 Type 1398testdata/Builtins.lc 376:24-376:25 V4
1381testdata/Builtins.lc 376:8-376:43 Type 1399testdata/Builtins.lc 377:8-377:17 Type -> PrimitiveType->Type
1382testdata/Builtins.lc 376:18-376:19 Type 1400testdata/Builtins.lc 377:8-377:19 PrimitiveType->Type
1383testdata/Builtins.lc 376:20-376:21 PrimitiveType 1401testdata/Builtins.lc 377:8-377:21 Type
1384testdata/Builtins.lc 376:25-376:39 Nat -> Type->Type 1402testdata/Builtins.lc 377:8-378:26 Type
1385testdata/Builtins.lc 376:25-376:41 Type->Type 1403testdata/Builtins.lc 377:18-377:19 Type
1386testdata/Builtins.lc 376:25-376:43 Type 1404testdata/Builtins.lc 377:20-377:21 PrimitiveType
1387testdata/Builtins.lc 376:40-376:41 V1 1405testdata/Builtins.lc 378:8-378:22 Nat -> Type->Type
1388testdata/Builtins.lc 376:42-376:43 Type 1406testdata/Builtins.lc 378:8-378:24 Type->Type
1389testdata/Builtins.lc 378:1-378:20 {a} -> {b:PrimitiveType} -> RasterContext b -> a -> Stream (Primitive (JoinTupleType (VecS Float 4) (InterpolatedType a)) b) -> Stream (Fragment 1 (InterpolatedType a)) 1407testdata/Builtins.lc 378:8-378:26 Type
1390testdata/Builtins.lc 378:30-378:45 {a} -> {b} -> (a -> Stream b) -> Stream a -> Stream b 1408testdata/Builtins.lc 378:23-378:24 V1
1391testdata/Builtins.lc 378:30-378:74 Stream (Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V2)) V0) -> Stream (Fragment 1 (InterpolatedType V3)) 1409testdata/Builtins.lc 378:25-378:26 Type
1392testdata/Builtins.lc 378:46-378:74 Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V2)) V0 -> Stream (Fragment 1 (InterpolatedType V3)) 1410testdata/Builtins.lc 380:1-380:20 {a} -> {b:PrimitiveType} -> RasterContext (JoinTupleType (VecS Float 4) (InterpolatedType a)) b -> a -> Stream (Primitive (JoinTupleType (VecS Float 4) (InterpolatedType a)) b) -> Stream (Fragment 1 (InterpolatedType a))
1393testdata/Builtins.lc 378:47-378:56 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (VecS Float 4) a} -> c->Float -> b -> RasterContext d -> Primitive c d -> Stream (Fragment 1 a) 1411testdata/Builtins.lc 380:30-380:45 {a} -> {b} -> (a -> Stream b) -> Stream a -> Stream b
1394testdata/Builtins.lc 378:47-378:66 V1 -> RasterContext V1 -> Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V3)) V2 -> Stream (Fragment 1 (InterpolatedType V4)) 1412testdata/Builtins.lc 380:30-380:64 Stream (Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V2)) V0) -> Stream (Fragment 1 (InterpolatedType V3))
1395testdata/Builtins.lc 378:47-378:69 RasterContext V0 -> Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V5)) V1 -> Stream (Fragment 1 (InterpolatedType V6)) 1413testdata/Builtins.lc 380:46-380:64 Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V2)) V0 -> Stream (Fragment 1 (InterpolatedType V3))
1396testdata/Builtins.lc 378:57-378:66 JoinTupleType (VecS Float 4) (InterpolatedType V1) -> Float 1414testdata/Builtins.lc 380:47-380:56 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (VecS Float 4) a} -> b -> RasterContext c d -> Primitive c d -> Stream (Fragment 1 a)
1397testdata/Builtins.lc 378:64-378:65 V1 1415testdata/Builtins.lc 380:47-380:59 RasterContext (JoinTupleType (VecS Float 4) (InterpolatedType V4)) V0 -> Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V5)) V1 -> Stream (Fragment 1 (InterpolatedType V6))
1398testdata/Builtins.lc 378:67-378:69 V5 1416testdata/Builtins.lc 380:57-380:59 V5
1399testdata/Builtins.lc 378:70-378:73 V4 1417testdata/Builtins.lc 380:60-380:63 V4
1400testdata/Builtins.lc 379:1-379:33 {a} -> {b:PrimitiveType} -> RasterContext b -> (JoinTupleType (VecS Float 4) (InterpolatedType a) -> Float) -> a -> Stream (Primitive (JoinTupleType (VecS Float 4) (InterpolatedType a)) b) -> Stream (Fragment 1 (InterpolatedType a)) 1418testdata/Builtins.lc 383:1-383:14 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Bool
1401testdata/Builtins.lc 379:46-379:61 {a} -> {b} -> (a -> Stream b) -> Stream a -> Stream b 1419testdata/Builtins.lc 383:18-383:53 Type
1402testdata/Builtins.lc 379:46-379:83 Stream (Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V2)) V0) -> Stream (Fragment 1 (InterpolatedType V3)) 1420testdata/Builtins.lc 383:19-383:20 V3
1403testdata/Builtins.lc 379:62-379:83 Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V2)) V0 -> Stream (Fragment 1 (InterpolatedType V3)) 1421testdata/Builtins.lc 383:24-383:28 Type
1404testdata/Builtins.lc 379:63-379:72 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (VecS Float 4) a} -> c->Float -> b -> RasterContext d -> Primitive c d -> Stream (Fragment 1 a) 1422testdata/Builtins.lc 383:33-383:41 Nat -> Type->Type
1405testdata/Builtins.lc 379:63-379:75 V1 -> RasterContext V1 -> Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V3)) V2 -> Stream (Fragment 1 (InterpolatedType V4)) 1423testdata/Builtins.lc 383:33-383:43 Type->Type
1406testdata/Builtins.lc 379:63-379:78 RasterContext V0 -> Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V5)) V1 -> Stream (Fragment 1 (InterpolatedType V6)) 1424testdata/Builtins.lc 383:33-383:45 Type
1407testdata/Builtins.lc 379:73-379:75 V7 1425testdata/Builtins.lc 383:33-383:53 Type
1408testdata/Builtins.lc 379:76-379:78 V5 1426testdata/Builtins.lc 383:42-383:43 V2
1409testdata/Builtins.lc 379:79-379:82 V5 1427testdata/Builtins.lc 383:44-383:45 Type
1410testdata/Builtins.lc 381:1-381:14 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Bool 1428testdata/Builtins.lc 383:49-383:53 Type
1411testdata/Builtins.lc 381:18-381:53 Type 1429testdata/Builtins.lc 385:20-385:75 Type
1412testdata/Builtins.lc 381:19-381:20 V3 1430testdata/Builtins.lc 385:21-385:22 V3
1413testdata/Builtins.lc 381:24-381:28 Type 1431testdata/Builtins.lc 385:26-385:30 Type
1414testdata/Builtins.lc 381:33-381:41 Nat -> Type->Type 1432testdata/Builtins.lc 385:35-385:49 Nat -> Type->Type
1415testdata/Builtins.lc 381:33-381:43 Type->Type 1433testdata/Builtins.lc 385:35-385:51 Type->Type
1416testdata/Builtins.lc 381:33-381:45 Type 1434testdata/Builtins.lc 385:35-385:53 Type
1417testdata/Builtins.lc 381:33-381:53 Type 1435testdata/Builtins.lc 385:35-385:75 Type
1418testdata/Builtins.lc 381:42-381:43 V2 1436testdata/Builtins.lc 385:50-385:51 V2
1419testdata/Builtins.lc 381:44-381:45 Type 1437testdata/Builtins.lc 385:52-385:53 Type
1420testdata/Builtins.lc 381:49-381:53 Type 1438testdata/Builtins.lc 385:57-385:71 Nat -> Type->Type
1421testdata/Builtins.lc 383:20-383:75 Type 1439testdata/Builtins.lc 385:57-385:73 Type->Type
1422testdata/Builtins.lc 383:21-383:22 V3 1440testdata/Builtins.lc 385:57-385:75 Type
1423testdata/Builtins.lc 383:26-383:30 Type 1441testdata/Builtins.lc 385:72-385:73 Nat
1424testdata/Builtins.lc 383:35-383:49 Nat -> Type->Type 1442testdata/Builtins.lc 385:74-385:75 Type
1425testdata/Builtins.lc 383:35-383:51 Type->Type 1443testdata/Builtins.lc 386:1-386:16 {a} -> {b:Nat} -> a->Bool -> Stream (Fragment b a) -> Stream (Fragment b a)
1426testdata/Builtins.lc 383:35-383:53 Type 1444testdata/Builtins.lc 386:21-386:33 {a} -> a->Bool -> Stream a -> Stream a
1427testdata/Builtins.lc 383:35-383:75 Type 1445testdata/Builtins.lc 386:21-386:51 Stream (Fragment V0 V3) -> Stream (Fragment V1 V4) | V1->Bool -> Stream (Fragment V1 V2) -> Stream (Fragment V2 V3)
1428testdata/Builtins.lc 383:50-383:51 V2 1446testdata/Builtins.lc 386:34-386:51 Fragment V0 V4 -> Bool
1429testdata/Builtins.lc 383:52-383:53 Type 1447testdata/Builtins.lc 386:35-386:48 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Bool
1430testdata/Builtins.lc 383:57-383:71 Nat -> Type->Type 1448testdata/Builtins.lc 386:49-386:50 V5->Bool
1431testdata/Builtins.lc 383:57-383:73 Type->Type 1449testdata/Builtins.lc 388:1-388:12 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b
1432testdata/Builtins.lc 383:57-383:75 Type 1450testdata/Builtins.lc 388:16-388:56 Type
1433testdata/Builtins.lc 383:72-383:73 Nat 1451testdata/Builtins.lc 388:17-388:18 V5
1434testdata/Builtins.lc 383:74-383:75 Type 1452testdata/Builtins.lc 388:22-388:23 Type | V4
1435testdata/Builtins.lc 384:1-384:16 {a} -> {b:Nat} -> a->Bool -> Stream (Fragment b a) -> Stream (Fragment b a) 1453testdata/Builtins.lc 388:28-388:36 Nat -> Type->Type
1436testdata/Builtins.lc 384:21-384:33 {a} -> a->Bool -> Stream a -> Stream a 1454testdata/Builtins.lc 388:28-388:38 Type->Type
1437testdata/Builtins.lc 384:21-384:51 Stream (Fragment V0 V3) -> Stream (Fragment V1 V4) | V1->Bool -> Stream (Fragment V1 V2) -> Stream (Fragment V2 V3) 1455testdata/Builtins.lc 388:28-388:40 Type
1438testdata/Builtins.lc 384:34-384:51 Fragment V0 V4 -> Bool 1456testdata/Builtins.lc 388:28-388:56 Type
1439testdata/Builtins.lc 384:35-384:48 {a} -> {b:Nat} -> a->Bool -> Fragment b a -> Bool 1457testdata/Builtins.lc 388:37-388:38 V2
1440testdata/Builtins.lc 384:49-384:50 V5->Bool 1458testdata/Builtins.lc 388:39-388:40 Type
1441testdata/Builtins.lc 386:1-386:12 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b 1459testdata/Builtins.lc 388:44-388:52 Nat -> Type->Type
1442testdata/Builtins.lc 386:16-386:56 Type 1460testdata/Builtins.lc 388:44-388:54 Type->Type
1443testdata/Builtins.lc 386:17-386:18 V5 1461testdata/Builtins.lc 388:44-388:56 Type
1444testdata/Builtins.lc 386:22-386:23 Type | V4 1462testdata/Builtins.lc 388:53-388:54 Nat
1445testdata/Builtins.lc 386:28-386:36 Nat -> Type->Type 1463testdata/Builtins.lc 388:55-388:56 Type
1446testdata/Builtins.lc 386:28-386:38 Type->Type 1464testdata/Builtins.lc 390:17-390:69 Type
1447testdata/Builtins.lc 386:28-386:40 Type 1465testdata/Builtins.lc 390:18-390:19 V5
1448testdata/Builtins.lc 386:28-386:56 Type 1466testdata/Builtins.lc 390:23-390:24 Type | V4
1449testdata/Builtins.lc 386:37-386:38 V2 1467testdata/Builtins.lc 390:29-390:43 Nat -> Type->Type
1450testdata/Builtins.lc 386:39-386:40 Type 1468testdata/Builtins.lc 390:29-390:45 Type->Type
1451testdata/Builtins.lc 386:44-386:52 Nat -> Type->Type 1469testdata/Builtins.lc 390:29-390:47 Type
1452testdata/Builtins.lc 386:44-386:54 Type->Type 1470testdata/Builtins.lc 390:29-390:69 Type
1453testdata/Builtins.lc 386:44-386:56 Type 1471testdata/Builtins.lc 390:44-390:45 V2
1454testdata/Builtins.lc 386:53-386:54 Nat 1472testdata/Builtins.lc 390:46-390:47 Type
1455testdata/Builtins.lc 386:55-386:56 Type 1473testdata/Builtins.lc 390:51-390:65 Nat -> Type->Type
1456testdata/Builtins.lc 388:17-388:69 Type 1474testdata/Builtins.lc 390:51-390:67 Type->Type
1457testdata/Builtins.lc 388:18-388:19 V5 1475testdata/Builtins.lc 390:51-390:69 Type
1458testdata/Builtins.lc 388:23-388:24 Type | V4 1476testdata/Builtins.lc 390:66-390:67 Nat
1459testdata/Builtins.lc 388:29-388:43 Nat -> Type->Type 1477testdata/Builtins.lc 390:68-390:69 Type
1460testdata/Builtins.lc 388:29-388:45 Type->Type 1478testdata/Builtins.lc 391:1-391:13 {a} -> {b} -> {c:Nat} -> a->b -> Stream (Fragment c a) -> Stream (Fragment c b)
1461testdata/Builtins.lc 388:29-388:47 Type 1479testdata/Builtins.lc 391:18-391:27 {a} -> {b} -> a->b -> Stream a -> Stream b
1462testdata/Builtins.lc 388:29-388:69 Type 1480testdata/Builtins.lc 391:18-391:43 Stream (Fragment V0 V4) -> Stream (Fragment V1 V4) | V2->V2 -> Stream (Fragment V1 V3) -> Stream (Fragment V2 V3)
1463testdata/Builtins.lc 388:44-388:45 V2 1481testdata/Builtins.lc 391:28-391:43 Fragment V0 V6 -> Fragment V1 V6
1464testdata/Builtins.lc 388:46-388:47 Type 1482testdata/Builtins.lc 391:29-391:40 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b
1465testdata/Builtins.lc 388:51-388:65 Nat -> Type->Type 1483testdata/Builtins.lc 391:41-391:42 V8->V8
1466testdata/Builtins.lc 388:51-388:67 Type->Type 1484testdata/Builtins.lc 393:6-393:11 Nat -> Type->Type | Type
1467testdata/Builtins.lc 388:51-388:69 Type 1485testdata/Builtins.lc 393:6-397:68 Type
1468testdata/Builtins.lc 388:66-388:67 Nat 1486testdata/Builtins.lc 393:15-393:18 Type
1469testdata/Builtins.lc 388:68-388:69 Type 1487testdata/Builtins.lc 393:22-393:26 Type
1470testdata/Builtins.lc 389:1-389:13 {a} -> {b} -> {c:Nat} -> a->b -> Stream (Fragment c a) -> Stream (Fragment c b) 1488testdata/Builtins.lc 393:22-393:34 Type
1471testdata/Builtins.lc 389:18-389:27 {a} -> {b} -> a->b -> Stream a -> Stream b 1489testdata/Builtins.lc 393:30-393:34 Type
1472testdata/Builtins.lc 389:18-389:43 Stream (Fragment V0 V4) -> Stream (Fragment V1 V4) | V2->V2 -> Stream (Fragment V1 V3) -> Stream (Fragment V2 V3) 1490testdata/Builtins.lc 394:3-394:13 Image V6 (Color V3) | {a:Nat} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : d ~ VecScalar b c} -> d -> Image a (Color d)
1473testdata/Builtins.lc 389:28-389:43 Fragment V0 V6 -> Fragment V1 V6 1491testdata/Builtins.lc 394:3-395:57 Type
1474testdata/Builtins.lc 389:29-389:40 {a} -> {b} -> {c:Nat} -> a->b -> Fragment c a -> Fragment c b 1492testdata/Builtins.lc 394:47-395:57 Type
1475testdata/Builtins.lc 389:41-389:42 V8->V8 1493testdata/Builtins.lc 394:48-394:51 Type->Type
1476testdata/Builtins.lc 391:6-391:11 Nat -> Type->Type | Type 1494testdata/Builtins.lc 394:48-394:53 Type
1477testdata/Builtins.lc 391:6-395:68 Type 1495testdata/Builtins.lc 394:52-394:53 V3
1478testdata/Builtins.lc 391:15-391:18 Type 1496testdata/Builtins.lc 394:55-394:60 V2
1479testdata/Builtins.lc 391:22-391:26 Type 1497testdata/Builtins.lc 394:55-394:62 Type->Type
1480testdata/Builtins.lc 391:22-391:34 Type 1498testdata/Builtins.lc 394:55-394:76 Type
1481testdata/Builtins.lc 391:30-391:34 Type 1499testdata/Builtins.lc 394:55-395:57 Type
1482testdata/Builtins.lc 392:3-392:13 Image V6 (Color V3) | {a:Nat} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : d ~ VecScalar b c} -> d -> Image a (Color d) 1500testdata/Builtins.lc 394:61-394:62 Type -> Type->Type
1483testdata/Builtins.lc 392:3-393:57 Type 1501testdata/Builtins.lc 394:63-394:72 Nat -> Type->Type
1484testdata/Builtins.lc 392:47-393:57 Type 1502testdata/Builtins.lc 394:63-394:74 Type->Type
1485testdata/Builtins.lc 392:48-392:51 Type->Type 1503testdata/Builtins.lc 394:63-394:76 Type
1486testdata/Builtins.lc 392:48-392:53 Type 1504testdata/Builtins.lc 394:73-394:74 V4
1487testdata/Builtins.lc 392:52-392:53 V3 1505testdata/Builtins.lc 394:75-394:76 Type
1488testdata/Builtins.lc 392:55-392:60 V2 1506testdata/Builtins.lc 395:26-395:31 Type
1489testdata/Builtins.lc 392:55-392:62 Type->Type 1507testdata/Builtins.lc 395:26-395:57 Type
1490testdata/Builtins.lc 392:55-392:76 Type 1508testdata/Builtins.lc 395:36-395:41 Nat -> Type->Type
1491testdata/Builtins.lc 392:55-393:57 Type 1509testdata/Builtins.lc 395:36-395:43 Type->Type
1492testdata/Builtins.lc 392:61-392:62 Type -> Type->Type 1510testdata/Builtins.lc 395:36-395:57 Type
1493testdata/Builtins.lc 392:63-392:72 Nat -> Type->Type 1511testdata/Builtins.lc 395:42-395:43 Nat | V7
1494testdata/Builtins.lc 392:63-392:74 Type->Type 1512testdata/Builtins.lc 395:42-395:57 Image V6 (Color V3) -> Type
1495testdata/Builtins.lc 392:63-392:76 Type 1513testdata/Builtins.lc 395:44-395:57 Type
1496testdata/Builtins.lc 392:73-392:74 V4 1514testdata/Builtins.lc 395:45-395:50 Type->Type
1497testdata/Builtins.lc 392:75-392:76 Type 1515testdata/Builtins.lc 395:51-395:56 Type
1498testdata/Builtins.lc 393:26-393:31 Type 1516testdata/Builtins.lc 396:3-396:13 Image V1 (Depth Float) | {a:Nat} -> Float -> Image a (Depth Float)
1499testdata/Builtins.lc 393:26-393:57 Type 1517testdata/Builtins.lc 396:3-396:68 Type
1500testdata/Builtins.lc 393:36-393:41 Nat -> Type->Type 1518testdata/Builtins.lc 396:37-396:42 Type
1501testdata/Builtins.lc 393:36-393:43 Type->Type 1519testdata/Builtins.lc 396:37-396:68 Type
1502testdata/Builtins.lc 393:36-393:57 Type 1520testdata/Builtins.lc 396:47-396:52 Nat -> Type->Type
1503testdata/Builtins.lc 393:42-393:43 Nat | V7 1521testdata/Builtins.lc 396:47-396:54 Type->Type
1504testdata/Builtins.lc 393:42-393:57 Image V6 (Color V3) -> Type 1522testdata/Builtins.lc 396:47-396:68 Type
1505testdata/Builtins.lc 393:44-393:57 Type 1523testdata/Builtins.lc 396:53-396:54 Nat | V2
1506testdata/Builtins.lc 393:45-393:50 Type->Type 1524testdata/Builtins.lc 396:53-396:68 Image V1 (Depth Float) -> Type
1507testdata/Builtins.lc 393:51-393:56 Type 1525testdata/Builtins.lc 396:55-396:68 Type
1508testdata/Builtins.lc 394:3-394:13 Image V1 (Depth Float) | {a:Nat} -> Float -> Image a (Depth Float) 1526testdata/Builtins.lc 396:56-396:61 Type->Type
1509testdata/Builtins.lc 394:3-394:68 Type 1527testdata/Builtins.lc 396:62-396:67 Type
1510testdata/Builtins.lc 394:37-394:42 Type 1528testdata/Builtins.lc 397:3-397:15 Image V1 (Stencil Int) | {a:Nat} -> Int -> Image a (Stencil Int)
1511testdata/Builtins.lc 394:37-394:68 Type 1529testdata/Builtins.lc 397:3-397:68 Type
1512testdata/Builtins.lc 394:47-394:52 Nat -> Type->Type 1530testdata/Builtins.lc 397:37-397:40 Type
1513testdata/Builtins.lc 394:47-394:54 Type->Type 1531testdata/Builtins.lc 397:37-397:68 Type
1514testdata/Builtins.lc 394:47-394:68 Type 1532testdata/Builtins.lc 397:47-397:52 Nat -> Type->Type
1515testdata/Builtins.lc 394:53-394:54 Nat | V2 1533testdata/Builtins.lc 397:47-397:54 Type->Type
1516testdata/Builtins.lc 394:53-394:68 Image V1 (Depth Float) -> Type 1534testdata/Builtins.lc 397:47-397:68 Type
1517testdata/Builtins.lc 394:55-394:68 Type 1535testdata/Builtins.lc 397:53-397:54 Nat | V2
1518testdata/Builtins.lc 394:56-394:61 Type->Type 1536testdata/Builtins.lc 397:53-397:68 Image V1 (Stencil Int) -> Type
1519testdata/Builtins.lc 394:62-394:67 Type 1537testdata/Builtins.lc 397:55-397:68 Type
1520testdata/Builtins.lc 395:3-395:15 Image V1 (Stencil Int) | {a:Nat} -> Int -> Image a (Stencil Int) 1538testdata/Builtins.lc 397:56-397:63 Type->Type
1521testdata/Builtins.lc 395:3-395:68 Type 1539testdata/Builtins.lc 397:64-397:67 Type
1522testdata/Builtins.lc 395:37-395:40 Type 1540testdata/Builtins.lc 400:6-400:20 Nat -> Type->Type | Type
1523testdata/Builtins.lc 395:37-395:68 Type 1541testdata/Builtins.lc 400:27-400:30 Type
1524testdata/Builtins.lc 395:47-395:52 Nat -> Type->Type 1542testdata/Builtins.lc 403:5-403:18 Type->Type
1525testdata/Builtins.lc 395:47-395:54 Type->Type 1543testdata/Builtins.lc 403:26-403:31 Type
1526testdata/Builtins.lc 395:47-395:68 Type 1544testdata/Builtins.lc 403:26-403:55 Type->Type
1527testdata/Builtins.lc 395:53-395:54 Nat | V2 1545testdata/Builtins.lc 403:26-405:91 Type | Type->Type
1528testdata/Builtins.lc 395:53-395:68 Image V1 (Stencil Int) -> Type 1546testdata/Builtins.lc 403:35-403:49 Nat -> Type->Type
1529testdata/Builtins.lc 395:55-395:68 Type 1547testdata/Builtins.lc 403:35-403:52 Type->Type
1530testdata/Builtins.lc 395:56-395:63 Type->Type 1548testdata/Builtins.lc 403:35-403:55 Nat -> Type->Type | Type | Type->Type
1531testdata/Builtins.lc 395:64-395:67 Type 1549testdata/Builtins.lc 403:50-403:52 Nat
1532testdata/Builtins.lc 398:6-398:20 Nat -> Type->Type | Type 1550testdata/Builtins.lc 403:53-403:55 Type
1533testdata/Builtins.lc 398:27-398:30 Type 1551testdata/Builtins.lc 404:20-404:44 Type
1534testdata/Builtins.lc 401:5-401:18 Type->Type 1552testdata/Builtins.lc 404:20-404:74 Type->Type
1535testdata/Builtins.lc 401:26-401:31 Type 1553testdata/Builtins.lc 404:20-405:91 Type
1536testdata/Builtins.lc 401:26-401:55 Type->Type 1554testdata/Builtins.lc 404:48-404:62 Nat -> Type->Type
1537testdata/Builtins.lc 401:26-403:91 Type | Type->Type 1555testdata/Builtins.lc 404:48-404:65 Type->Type
1538testdata/Builtins.lc 401:35-401:49 Nat -> Type->Type 1556testdata/Builtins.lc 404:48-404:74 Nat -> Type->Type | Type | Type -> Type->Type | Type->Type
1539testdata/Builtins.lc 401:35-401:52 Type->Type 1557testdata/Builtins.lc 404:63-404:65 Nat
1540testdata/Builtins.lc 401:35-401:55 Nat -> Type->Type | Type | Type->Type 1558testdata/Builtins.lc 404:66-404:74 Type
1541testdata/Builtins.lc 401:50-401:52 Nat 1559testdata/Builtins.lc 404:67-404:69 Type
1542testdata/Builtins.lc 401:53-401:55 Type 1560testdata/Builtins.lc 404:71-404:73 Type
1543testdata/Builtins.lc 402:20-402:44 Type 1561testdata/Builtins.lc 405:20-405:57 Type
1544testdata/Builtins.lc 402:20-402:74 Type->Type 1562testdata/Builtins.lc 405:20-405:91 Type->Type
1545testdata/Builtins.lc 402:20-403:91 Type 1563testdata/Builtins.lc 405:61-405:75 Nat -> Type->Type
1546testdata/Builtins.lc 402:48-402:62 Nat -> Type->Type 1564testdata/Builtins.lc 405:61-405:78 Type->Type
1547testdata/Builtins.lc 402:48-402:65 Type->Type 1565testdata/Builtins.lc 405:61-405:91 Nat -> Type->Type | Type | Type -> Type -> Type->Type | Type -> Type->Type | Type->Type
1548testdata/Builtins.lc 402:48-402:74 Nat -> Type->Type | Type | Type -> Type->Type | Type->Type 1566testdata/Builtins.lc 405:76-405:78 Nat
1549testdata/Builtins.lc 402:63-402:65 Nat 1567testdata/Builtins.lc 405:79-405:91 Type
1550testdata/Builtins.lc 402:66-402:74 Type 1568testdata/Builtins.lc 405:80-405:82 Type
1551testdata/Builtins.lc 402:67-402:69 Type 1569testdata/Builtins.lc 405:80-405:86 Type->Type
1552testdata/Builtins.lc 402:71-402:73 Type 1570testdata/Builtins.lc 405:84-405:86 Type
1553testdata/Builtins.lc 403:20-403:57 Type 1571testdata/Builtins.lc 405:88-405:90 Type
1554testdata/Builtins.lc 403:20-403:91 Type->Type 1572testdata/Builtins.lc 408:5-408:20 Type->Type
1555testdata/Builtins.lc 403:61-403:75 Nat -> Type->Type 1573testdata/Builtins.lc 408:28-408:33 Type
1556testdata/Builtins.lc 403:61-403:78 Type->Type 1574testdata/Builtins.lc 408:28-408:41 Type->Type
1557testdata/Builtins.lc 403:61-403:91 Nat -> Type->Type | Type | Type -> Type -> Type->Type | Type -> Type->Type | Type->Type 1575testdata/Builtins.lc 408:28-410:99 Type | Type->Type
1558testdata/Builtins.lc 403:76-403:78 Nat 1576testdata/Builtins.lc 408:37-408:41 Nat -> Type->Type | Type | Type->Type
1559testdata/Builtins.lc 403:79-403:91 Type 1577testdata/Builtins.lc 409:22-409:46 Type
1560testdata/Builtins.lc 403:80-403:82 Type 1578testdata/Builtins.lc 409:22-409:64 Type->Type
1561testdata/Builtins.lc 403:80-403:86 Type->Type 1579testdata/Builtins.lc 409:22-410:99 Type
1562testdata/Builtins.lc 403:84-403:86 Type 1580testdata/Builtins.lc 409:50-409:54 a:Type -> a -> a->Type
1563testdata/Builtins.lc 403:88-403:90 Type 1581testdata/Builtins.lc 409:50-409:58 Nat -> Nat->Type
1564testdata/Builtins.lc 406:5-406:20 Type->Type 1582testdata/Builtins.lc 409:50-409:61 Nat->Type
1565testdata/Builtins.lc 406:28-406:33 Type 1583testdata/Builtins.lc 409:50-409:64 Nat -> Type->Type | Type | Type -> Type->Type | Type->Type
1566testdata/Builtins.lc 406:28-406:41 Type->Type 1584testdata/Builtins.lc 409:55-409:58 Type
1567testdata/Builtins.lc 406:28-408:99 Type | Type->Type 1585testdata/Builtins.lc 409:59-409:61 Nat
1568testdata/Builtins.lc 406:37-406:41 Nat -> Type->Type | Type | Type->Type 1586testdata/Builtins.lc 409:62-409:64 Nat
1569testdata/Builtins.lc 407:22-407:46 Type 1587testdata/Builtins.lc 410:22-410:59 Type
1570testdata/Builtins.lc 407:22-407:64 Type->Type 1588testdata/Builtins.lc 410:22-410:99 Type->Type
1571testdata/Builtins.lc 407:22-408:99 Type 1589testdata/Builtins.lc 410:63-410:65 Type -> Type->Type
1572testdata/Builtins.lc 407:50-407:54 a:Type -> a -> a->Type 1590testdata/Builtins.lc 410:63-410:82 Type->Type
1573testdata/Builtins.lc 407:50-407:58 Nat -> Nat->Type 1591testdata/Builtins.lc 410:63-410:99 Nat -> Type->Type | Type | Type -> Type -> Type->Type | Type -> Type->Type | Type->Type
1574testdata/Builtins.lc 407:50-407:61 Nat->Type 1592testdata/Builtins.lc 410:66-410:82 Type
1575testdata/Builtins.lc 407:50-407:64 Nat -> Type->Type | Type | Type -> Type->Type | Type->Type 1593testdata/Builtins.lc 410:67-410:71 a:Type -> a -> a->Type
1576testdata/Builtins.lc 407:55-407:58 Type 1594testdata/Builtins.lc 410:67-410:75 Nat -> Nat->Type
1577testdata/Builtins.lc 407:59-407:61 Nat 1595testdata/Builtins.lc 410:67-410:78 Nat->Type
1578testdata/Builtins.lc 407:62-407:64 Nat 1596testdata/Builtins.lc 410:72-410:75 Type
1579testdata/Builtins.lc 408:22-408:59 Type 1597testdata/Builtins.lc 410:76-410:78 Nat
1580testdata/Builtins.lc 408:22-408:99 Type->Type 1598testdata/Builtins.lc 410:79-410:81 Nat
1581testdata/Builtins.lc 408:63-408:65 Type -> Type->Type 1599testdata/Builtins.lc 410:83-410:99 Type
1582testdata/Builtins.lc 408:63-408:82 Type->Type 1600testdata/Builtins.lc 410:84-410:88 a:Type -> a -> a->Type
1583testdata/Builtins.lc 408:63-408:99 Nat -> Type->Type | Type | Type -> Type -> Type->Type | Type -> Type->Type | Type->Type 1601testdata/Builtins.lc 410:84-410:92 Nat -> Nat->Type
1584testdata/Builtins.lc 408:66-408:82 Type 1602testdata/Builtins.lc 410:84-410:95 Nat->Type
1585testdata/Builtins.lc 408:67-408:71 a:Type -> a -> a->Type 1603testdata/Builtins.lc 410:89-410:92 Type
1586testdata/Builtins.lc 408:67-408:75 Nat -> Nat->Type 1604testdata/Builtins.lc 410:93-410:95 Nat
1587testdata/Builtins.lc 408:67-408:78 Nat->Type 1605testdata/Builtins.lc 410:96-410:98 Nat
1588testdata/Builtins.lc 408:72-408:75 Type 1606testdata/Builtins.lc 412:7-412:20 Type->Type
1589testdata/Builtins.lc 408:76-408:78 Nat 1607testdata/Builtins.lc 412:7-412:65 Type
1590testdata/Builtins.lc 408:79-408:81 Nat 1608testdata/Builtins.lc 412:29-412:42 {a} -> {b} -> {c : DefaultFragOp b} -> FragmentOperation b
1591testdata/Builtins.lc 408:83-408:99 Type 1609testdata/Builtins.lc 412:46-412:63 Type->Type
1592testdata/Builtins.lc 408:84-408:88 a:Type -> a -> a->Type 1610testdata/Builtins.lc 412:46-412:65 Type
1593testdata/Builtins.lc 408:84-408:92 Nat -> Nat->Type 1611testdata/Builtins.lc 412:64-412:65 Type
1594testdata/Builtins.lc 408:84-408:95 Nat->Type 1612testdata/Builtins.lc 413:37-413:42 Type
1595testdata/Builtins.lc 408:89-408:92 Type 1613testdata/Builtins.lc 413:37-413:112 ({a : DefaultFragOp V1} -> FragmentOperation V2) -> {c : DefaultFragOp V2} -> FragmentOperation V3
1596testdata/Builtins.lc 408:93-408:95 Nat 1614testdata/Builtins.lc 413:37-414:36 Type | Type->Type
1597testdata/Builtins.lc 408:96-408:98 Nat 1615testdata/Builtins.lc 413:37-414:77 {a : DefaultFragOp V1} -> FragmentOperation V2 | {a} -> {b : DefaultFragOp a} -> FragmentOperation a
1598testdata/Builtins.lc 410:7-410:20 Type->Type 1616testdata/Builtins.lc 413:69-413:76 {a} -> {b:Nat} -> {c} -> {d} -> {e : a ~ VecScalar b Bool} -> {f : c ~ VecScalar b d} -> {g : Num d} -> Blending d -> a -> FragmentOperation (Color c)
1599testdata/Builtins.lc 410:7-410:65 Type 1617testdata/Builtins.lc 413:69-413:87 VecScalar V2 Bool -> FragmentOperation (Color (VecScalar V3 V2))
1600testdata/Builtins.lc 410:29-410:42 {a} -> {b} -> {c : DefaultFragOp b} -> FragmentOperation b 1618testdata/Builtins.lc 413:69-413:112 FragmentOperation (Color (VecS V1 4)) | a:Nat -> {b : DefaultFragOp (Color (VecS Float ('Succ ('Succ ('Succ ('Succ a))))))} -> FragmentOperation (Color (VecS Float ('Succ ('Succ ('Succ ('Succ a)))))) | a:Nat -> {b : DefaultFragOp (Color (VecS Float ('Succ ('Succ ('Succ a)))))} -> FragmentOperation (Color (VecS Float ('Succ ('Succ ('Succ a))))) | a:Nat -> {b : DefaultFragOp (Color (VecS Float ('Succ ('Succ a))))} -> FragmentOperation (Color (VecS Float ('Succ ('Succ a)))) | a:Nat -> {b : DefaultFragOp (Color (VecS Float ('Succ a)))} -> FragmentOperation (Color (VecS Float ('Succ a))) | a:Nat -> {b : DefaultFragOp (Color (VecS V1 a))} -> FragmentOperation (Color (VecS V2 a)) | a:Type -> b:Nat -> {c : DefaultFragOp (Color (VecS a b))} -> FragmentOperation (Color (VecS a b)) | a:Type -> {b : DefaultFragOp (Color a)} -> FragmentOperation (Color a)
1601testdata/Builtins.lc 410:46-410:63 Type->Type 1619testdata/Builtins.lc 413:77-413:87 {a} -> Blending a
1602testdata/Builtins.lc 410:46-410:65 Type 1620testdata/Builtins.lc 413:88-413:112 VecS Bool 4
1603testdata/Builtins.lc 410:64-410:65 Type 1621testdata/Builtins.lc 413:89-413:91 {a} -> a -> a -> a -> a -> VecS a 4
1604testdata/Builtins.lc 411:37-411:42 Type 1622testdata/Builtins.lc 413:89-413:96 Bool -> Bool -> Bool -> VecS Bool 4
1605testdata/Builtins.lc 411:37-411:112 ({a : DefaultFragOp V1} -> FragmentOperation V2) -> {c : DefaultFragOp V2} -> FragmentOperation V3 1623testdata/Builtins.lc 413:89-413:101 Bool -> Bool -> VecS Bool 4
1606testdata/Builtins.lc 411:37-412:36 Type | Type->Type 1624testdata/Builtins.lc 413:89-413:106 Bool -> VecS Bool 4
1607testdata/Builtins.lc 411:37-412:77 {a : DefaultFragOp V1} -> FragmentOperation V2 | {a} -> {b : DefaultFragOp a} -> FragmentOperation a 1625testdata/Builtins.lc 413:92-413:96 Bool
1608testdata/Builtins.lc 411:69-411:76 {a} -> {b:Nat} -> {c} -> {d} -> {e : a ~ VecScalar b Bool} -> {f : c ~ VecScalar b d} -> {g : Num d} -> Blending d -> a -> FragmentOperation (Color c) 1626testdata/Builtins.lc 413:97-413:101 Bool
1609testdata/Builtins.lc 411:69-411:87 VecScalar V2 Bool -> FragmentOperation (Color (VecScalar V3 V2)) 1627testdata/Builtins.lc 413:102-413:106 Bool
1610testdata/Builtins.lc 411:69-411:112 FragmentOperation (Color (VecS V1 4)) | a:Nat -> {b : DefaultFragOp (Color (VecS Float ('Succ ('Succ ('Succ ('Succ a))))))} -> FragmentOperation (Color (VecS Float ('Succ ('Succ ('Succ ('Succ a)))))) | a:Nat -> {b : DefaultFragOp (Color (VecS Float ('Succ ('Succ ('Succ a)))))} -> FragmentOperation (Color (VecS Float ('Succ ('Succ ('Succ a))))) | a:Nat -> {b : DefaultFragOp (Color (VecS Float ('Succ ('Succ a))))} -> FragmentOperation (Color (VecS Float ('Succ ('Succ a)))) | a:Nat -> {b : DefaultFragOp (Color (VecS Float ('Succ a)))} -> FragmentOperation (Color (VecS Float ('Succ a))) | a:Nat -> {b : DefaultFragOp (Color (VecS V1 a))} -> FragmentOperation (Color (VecS V2 a)) | a:Type -> b:Nat -> {c : DefaultFragOp (Color (VecS a b))} -> FragmentOperation (Color (VecS a b)) | a:Type -> {b : DefaultFragOp (Color a)} -> FragmentOperation (Color a) 1628testdata/Builtins.lc 413:107-413:111 Bool
1611testdata/Builtins.lc 411:77-411:87 {a} -> Blending a 1629testdata/Builtins.lc 414:31-414:36 Type
1612testdata/Builtins.lc 411:88-411:112 VecS Bool 4 1630testdata/Builtins.lc 414:31-414:77 ({a : DefaultFragOp V1} -> FragmentOperation V2) -> {c : DefaultFragOp V2} -> FragmentOperation V3
1613testdata/Builtins.lc 411:89-411:91 {a} -> a -> a -> a -> a -> VecS a 4 1631testdata/Builtins.lc 414:60-414:67 ComparisonFunction -> Bool -> FragmentOperation (Depth Float)
1614testdata/Builtins.lc 411:89-411:96 Bool -> Bool -> Bool -> VecS Bool 4 1632testdata/Builtins.lc 414:60-414:72 Bool -> FragmentOperation (Depth Float)
1615testdata/Builtins.lc 411:89-411:101 Bool -> Bool -> VecS Bool 4 1633testdata/Builtins.lc 414:60-414:77 FragmentOperation (Depth Float) | a:Type -> {b : DefaultFragOp (Depth a)} -> FragmentOperation (Depth a)
1616testdata/Builtins.lc 411:89-411:106 Bool -> VecS Bool 4 1634testdata/Builtins.lc 414:68-414:72 ComparisonFunction
1617testdata/Builtins.lc 411:92-411:96 Bool 1635testdata/Builtins.lc 414:73-414:77 Bool
1618testdata/Builtins.lc 411:97-411:101 Bool 1636testdata/Builtins.lc 421:6-421:17 Nat -> Type->Type | Type
1619testdata/Builtins.lc 411:102-411:106 Bool 1637testdata/Builtins.lc 421:6-423:14 Type
1620testdata/Builtins.lc 411:107-411:111 Bool 1638testdata/Builtins.lc 421:24-421:27 Type
1621testdata/Builtins.lc 412:31-412:36 Type 1639testdata/Builtins.lc 422:3-422:13 FrameBuffer V5 V4 | Type | {a:Nat} -> {b} -> FragOps' b -> Stream (Fragment a (RemSemantics b)) -> FrameBuffer a b -> FrameBuffer a b
1622testdata/Builtins.lc 412:31-412:77 ({a : DefaultFragOp V1} -> FragmentOperation V2) -> {c : DefaultFragOp V2} -> FragmentOperation V3 1640testdata/Builtins.lc 422:19-422:27 Type->Type
1623testdata/Builtins.lc 412:60-412:67 ComparisonFunction -> Bool -> FragmentOperation (Depth Float) 1641testdata/Builtins.lc 422:19-422:29 Type
1624testdata/Builtins.lc 412:60-412:72 Bool -> FragmentOperation (Depth Float) 1642testdata/Builtins.lc 422:19-422:106 Type
1625testdata/Builtins.lc 412:60-412:77 FragmentOperation (Depth Float) | a:Type -> {b : DefaultFragOp (Depth a)} -> FragmentOperation (Depth a) 1643testdata/Builtins.lc 422:28-422:29 Type
1626testdata/Builtins.lc 412:68-412:72 ComparisonFunction 1644testdata/Builtins.lc 422:33-422:68 Type
1627testdata/Builtins.lc 412:73-412:77 Bool 1645testdata/Builtins.lc 422:33-422:106 Type
1628testdata/Builtins.lc 419:6-419:17 Nat -> Type->Type | Type 1646testdata/Builtins.lc 422:34-422:48 Nat -> Type->Type
1629testdata/Builtins.lc 419:6-421:14 Type 1647testdata/Builtins.lc 422:34-422:50 Type->Type
1630testdata/Builtins.lc 419:24-419:27 Type 1648testdata/Builtins.lc 422:49-422:50 Nat
1631testdata/Builtins.lc 420:3-420:13 FrameBuffer V5 V4 | Type | {a:Nat} -> {b} -> FragOps' b -> Stream (Fragment a (RemSemantics b)) -> FrameBuffer a b -> FrameBuffer a b 1649testdata/Builtins.lc 422:51-422:67 Type
1632testdata/Builtins.lc 420:19-420:27 Type->Type 1650testdata/Builtins.lc 422:52-422:64 Type->Type
1633testdata/Builtins.lc 420:19-420:29 Type 1651testdata/Builtins.lc 422:65-422:66 Type
1634testdata/Builtins.lc 420:19-420:106 Type 1652testdata/Builtins.lc 422:72-422:83 Nat -> Type->Type
1635testdata/Builtins.lc 420:28-420:29 Type 1653testdata/Builtins.lc 422:72-422:85 Type->Type
1636testdata/Builtins.lc 420:33-420:68 Type 1654testdata/Builtins.lc 422:72-422:87 Type
1637testdata/Builtins.lc 420:33-420:106 Type 1655testdata/Builtins.lc 422:72-422:106 Type
1638testdata/Builtins.lc 420:34-420:48 Nat -> Type->Type 1656testdata/Builtins.lc 422:84-422:85 Nat
1639testdata/Builtins.lc 420:34-420:50 Type->Type 1657testdata/Builtins.lc 422:86-422:87 Type
1640testdata/Builtins.lc 420:49-420:50 Nat 1658testdata/Builtins.lc 422:91-422:102 Nat -> Type->Type
1641testdata/Builtins.lc 420:51-420:67 Type 1659testdata/Builtins.lc 422:91-422:104 Type->Type
1642testdata/Builtins.lc 420:52-420:64 Type->Type 1660testdata/Builtins.lc 422:91-422:106 Type
1643testdata/Builtins.lc 420:65-420:66 Type 1661testdata/Builtins.lc 422:103-422:104 Nat
1644testdata/Builtins.lc 420:72-420:83 Nat -> Type->Type 1662testdata/Builtins.lc 422:105-422:106 Type
1645testdata/Builtins.lc 420:72-420:85 Type->Type 1663testdata/Builtins.lc 423:3-423:14 FrameBuffer V7 V6 | Type | {a:Nat} -> {b} -> {c} -> {d : SameLayerCounts c} -> {e : PreFrameBuffer a b ~ TFFrameBuffer c} -> c -> FrameBuffer a b
1646testdata/Builtins.lc 420:72-420:87 Type 1664testdata/Builtins.lc 423:19-423:120 Type
1647testdata/Builtins.lc 420:72-420:106 Type 1665testdata/Builtins.lc 423:20-423:36 Type->Type
1648testdata/Builtins.lc 420:84-420:85 Nat 1666testdata/Builtins.lc 423:20-423:38 Type
1649testdata/Builtins.lc 420:86-420:87 Type 1667testdata/Builtins.lc 423:37-423:38 Type
1650testdata/Builtins.lc 420:91-420:102 Nat -> Type->Type 1668testdata/Builtins.lc 423:40-423:55 Type->Type
1651testdata/Builtins.lc 420:91-420:104 Type->Type 1669testdata/Builtins.lc 423:40-423:57 Type
1652testdata/Builtins.lc 420:91-420:106 Type 1670testdata/Builtins.lc 423:40-423:120 Type
1653testdata/Builtins.lc 420:103-420:104 Nat 1671testdata/Builtins.lc 423:56-423:57 V2
1654testdata/Builtins.lc 420:105-420:106 Type 1672testdata/Builtins.lc 423:59-423:73 Nat -> Type->Type
1655testdata/Builtins.lc 421:3-421:14 FrameBuffer V7 V6 | Type | {a:Nat} -> {b} -> {c} -> {d : SameLayerCounts c} -> {e : PreFrameBuffer a b ~ TFFrameBuffer c} -> c -> FrameBuffer a b 1673testdata/Builtins.lc 423:59-423:75 Type->Type
1656testdata/Builtins.lc 421:19-421:120 Type 1674testdata/Builtins.lc 423:59-423:77 Type
1657testdata/Builtins.lc 421:20-421:36 Type->Type 1675testdata/Builtins.lc 423:59-423:79 Type->Type
1658testdata/Builtins.lc 421:20-421:38 Type 1676testdata/Builtins.lc 423:59-423:95 Type
1659testdata/Builtins.lc 421:37-421:38 Type 1677testdata/Builtins.lc 423:59-423:120 Type
1660testdata/Builtins.lc 421:40-421:55 Type->Type 1678testdata/Builtins.lc 423:74-423:75 Nat
1661testdata/Builtins.lc 421:40-421:57 Type 1679testdata/Builtins.lc 423:76-423:77 Type
1662testdata/Builtins.lc 421:40-421:120 Type 1680testdata/Builtins.lc 423:78-423:79 Type -> Type->Type
1663testdata/Builtins.lc 421:56-421:57 V2 1681testdata/Builtins.lc 423:80-423:93 Type->Type
1664testdata/Builtins.lc 421:59-421:73 Nat -> Type->Type 1682testdata/Builtins.lc 423:80-423:95 Type
1665testdata/Builtins.lc 421:59-421:75 Type->Type 1683testdata/Builtins.lc 423:94-423:95 Type
1666testdata/Builtins.lc 421:59-421:77 Type 1684testdata/Builtins.lc 423:100-423:101 Type
1667testdata/Builtins.lc 421:59-421:79 Type->Type 1685testdata/Builtins.lc 423:100-423:120 Type
1668testdata/Builtins.lc 421:59-421:95 Type 1686testdata/Builtins.lc 423:105-423:116 Nat -> Type->Type
1669testdata/Builtins.lc 421:59-421:120 Type 1687testdata/Builtins.lc 423:105-423:118 Type->Type
1670testdata/Builtins.lc 421:74-421:75 Nat 1688testdata/Builtins.lc 423:105-423:120 Type
1671testdata/Builtins.lc 421:76-421:77 Type 1689testdata/Builtins.lc 423:117-423:118 Nat
1672testdata/Builtins.lc 421:78-421:79 Type -> Type->Type 1690testdata/Builtins.lc 423:119-423:120 Type
1673testdata/Builtins.lc 421:80-421:93 Type->Type 1691testdata/Builtins.lc 425:1-425:11 {a:Nat} -> {b} -> {c} -> FragOps' b -> (c -> RemSemantics b) -> Stream (Fragment a c) -> FrameBuffer a b -> FrameBuffer a b
1674testdata/Builtins.lc 421:80-421:95 Type 1692testdata/Builtins.lc 425:34-425:44 {a:Nat} -> {b} -> FragOps' b -> Stream (Fragment a (RemSemantics b)) -> FrameBuffer a b -> FrameBuffer a b
1675testdata/Builtins.lc 421:94-421:95 Type 1693testdata/Builtins.lc 425:34-425:48 Stream (Fragment V1 (RemSemantics V0)) -> FrameBuffer V2 V1 -> FrameBuffer V3 V2
1676testdata/Builtins.lc 421:100-421:101 Type 1694testdata/Builtins.lc 425:34-425:76 FrameBuffer V2 V1 -> FrameBuffer V3 V2
1677testdata/Builtins.lc 421:100-421:120 Type 1695testdata/Builtins.lc 425:34-425:79 FrameBuffer V2 V1
1678testdata/Builtins.lc 421:105-421:116 Nat -> Type->Type 1696testdata/Builtins.lc 425:45-425:48 V9
1679testdata/Builtins.lc 421:105-421:118 Type->Type 1697testdata/Builtins.lc 425:49-425:76 Stream (Fragment V2 (RemSemantics V1))
1680testdata/Builtins.lc 421:105-421:120 Type 1698testdata/Builtins.lc 425:50-425:62 {a} -> {b} -> {c:Nat} -> a->b -> Stream (Fragment c a) -> Stream (Fragment c b)
1681testdata/Builtins.lc 421:117-421:118 Nat 1699testdata/Builtins.lc 425:50-425:70 Stream (Fragment V0 V2) -> Stream (Fragment V1 V2)
1682testdata/Builtins.lc 421:119-421:120 Type 1700testdata/Builtins.lc 425:63-425:70 V10
1683testdata/Builtins.lc 423:1-423:11 {a:Nat} -> {b} -> {c} -> FragOps' b -> (c -> RemSemantics b) -> Stream (Fragment a c) -> FrameBuffer a b -> FrameBuffer a b 1701testdata/Builtins.lc 425:71-425:75 V6
1684testdata/Builtins.lc 423:34-423:44 {a:Nat} -> {b} -> FragOps' b -> Stream (Fragment a (RemSemantics b)) -> FrameBuffer a b -> FrameBuffer a b 1702testdata/Builtins.lc 425:77-425:79 V4
1685testdata/Builtins.lc 423:34-423:48 Stream (Fragment V1 (RemSemantics V0)) -> FrameBuffer V2 V1 -> FrameBuffer V3 V2 1703testdata/Builtins.lc 427:1-427:20 {a} -> a->a
1686testdata/Builtins.lc 423:34-423:76 FrameBuffer V2 V1 -> FrameBuffer V3 V2 1704testdata/Builtins.lc 427:25-427:26 V1
1687testdata/Builtins.lc 423:34-423:79 FrameBuffer V2 V1 1705testdata/Builtins.lc 430:1-430:9 {a} -> FrameBuffer 1 a -> Image 1 a
1688testdata/Builtins.lc 423:45-423:48 V9 1706testdata/Builtins.lc 430:24-430:35 Nat -> Type->Type
1689testdata/Builtins.lc 423:49-423:76 Stream (Fragment V2 (RemSemantics V1)) 1707testdata/Builtins.lc 430:24-430:37 Type->Type
1690testdata/Builtins.lc 423:50-423:62 {a} -> {b} -> {c:Nat} -> a->b -> Stream (Fragment c a) -> Stream (Fragment c b) 1708testdata/Builtins.lc 430:24-430:39 Type
1691testdata/Builtins.lc 423:50-423:70 Stream (Fragment V0 V2) -> Stream (Fragment V1 V2) 1709testdata/Builtins.lc 430:24-430:52 Type
1692testdata/Builtins.lc 423:63-423:70 V10 1710testdata/Builtins.lc 430:36-430:37 V1
1693testdata/Builtins.lc 423:71-423:75 V6 1711testdata/Builtins.lc 430:38-430:39 V1
1694testdata/Builtins.lc 423:77-423:79 V4 1712testdata/Builtins.lc 430:43-430:48 Nat -> Type->Type
1695testdata/Builtins.lc 425:1-425:20 {a} -> a->a 1713testdata/Builtins.lc 430:43-430:50 Type->Type
1696testdata/Builtins.lc 425:25-425:26 V1 1714testdata/Builtins.lc 430:43-430:52 Type
1697testdata/Builtins.lc 428:1-428:9 {a} -> FrameBuffer 1 a -> Image 1 a 1715testdata/Builtins.lc 430:49-430:50 V1
1698testdata/Builtins.lc 428:24-428:35 Nat -> Type->Type 1716testdata/Builtins.lc 430:51-430:52 Type
1699testdata/Builtins.lc 428:24-428:37 Type->Type 1717testdata/Builtins.lc 431:1-431:14 FrameBuffer 1 (Tuple2 (Depth Float) (Color (VecS Float 4))) -> Image 1 (Color (VecS Float 4))
1700testdata/Builtins.lc 428:24-428:39 Type 1718testdata/Builtins.lc 431:24-431:35 Nat -> Type->Type
1701testdata/Builtins.lc 428:24-428:52 Type 1719testdata/Builtins.lc 431:24-431:37 Type->Type
1702testdata/Builtins.lc 428:36-428:37 V1 1720testdata/Builtins.lc 431:24-431:72 Type
1703testdata/Builtins.lc 428:38-428:39 V1 1721testdata/Builtins.lc 431:36-431:37 V1
1704testdata/Builtins.lc 428:43-428:48 Nat -> Type->Type 1722testdata/Builtins.lc 431:38-431:72 Type
1705testdata/Builtins.lc 428:43-428:50 Type->Type 1723testdata/Builtins.lc 431:39-431:44 Type->Type
1706testdata/Builtins.lc 428:43-428:52 Type 1724testdata/Builtins.lc 431:39-431:50 Type
1707testdata/Builtins.lc 428:49-428:50 V1 1725testdata/Builtins.lc 431:45-431:50 Type
1708testdata/Builtins.lc 428:51-428:52 Type 1726testdata/Builtins.lc 431:52-431:57 Type->Type
1709testdata/Builtins.lc 429:1-429:14 FrameBuffer 1 (Tuple2 (Depth Float) (Color (VecS Float 4))) -> Image 1 (Color (VecS Float 4)) 1727testdata/Builtins.lc 431:52-431:71 Type
1710testdata/Builtins.lc 429:24-429:35 Nat -> Type->Type 1728testdata/Builtins.lc 431:58-431:71 Type
1711testdata/Builtins.lc 429:24-429:37 Type->Type 1729testdata/Builtins.lc 431:59-431:62 Nat -> Type->Type
1712testdata/Builtins.lc 429:24-429:72 Type 1730testdata/Builtins.lc 431:59-431:64 Type->Type
1713testdata/Builtins.lc 429:36-429:37 V1 1731testdata/Builtins.lc 431:63-431:64 V1
1714testdata/Builtins.lc 429:38-429:72 Type 1732testdata/Builtins.lc 431:65-431:70 Type
1715testdata/Builtins.lc 429:39-429:44 Type->Type 1733testdata/Builtins.lc 431:76-431:81 Nat -> Type->Type
1716testdata/Builtins.lc 429:39-429:50 Type 1734testdata/Builtins.lc 431:76-431:83 Type->Type
1717testdata/Builtins.lc 429:45-429:50 Type 1735testdata/Builtins.lc 431:76-431:105 Type
1718testdata/Builtins.lc 429:52-429:57 Type->Type 1736testdata/Builtins.lc 431:82-431:83 V1
1719testdata/Builtins.lc 429:52-429:71 Type 1737testdata/Builtins.lc 431:84-431:105 Type
1720testdata/Builtins.lc 429:58-429:71 Type 1738testdata/Builtins.lc 431:85-431:90 Type->Type
1721testdata/Builtins.lc 429:59-429:62 Nat -> Type->Type 1739testdata/Builtins.lc 431:91-431:104 Type
1722testdata/Builtins.lc 429:59-429:64 Type->Type 1740testdata/Builtins.lc 431:92-431:95 Nat -> Type->Type
1723testdata/Builtins.lc 429:63-429:64 V1 1741testdata/Builtins.lc 431:92-431:97 Type->Type
1724testdata/Builtins.lc 429:65-429:70 Type 1742testdata/Builtins.lc 431:96-431:97 V1
1725testdata/Builtins.lc 429:76-429:81 Nat -> Type->Type 1743testdata/Builtins.lc 431:98-431:103 Type
1726testdata/Builtins.lc 429:76-429:83 Type->Type 1744testdata/Builtins.lc 433:6-433:12 Type
1727testdata/Builtins.lc 429:76-429:105 Type 1745testdata/Builtins.lc 433:6-434:12 Type
1728testdata/Builtins.lc 429:82-429:83 V1 1746testdata/Builtins.lc 434:3-434:12 Output | Type | {a:Nat} -> {b} -> FrameBuffer a b -> Output
1729testdata/Builtins.lc 429:84-429:105 Type 1747testdata/Builtins.lc 434:26-434:37 Nat -> Type->Type
1730testdata/Builtins.lc 429:85-429:90 Type->Type 1748testdata/Builtins.lc 434:26-434:39 Type->Type
1731testdata/Builtins.lc 429:91-429:104 Type 1749testdata/Builtins.lc 434:26-434:41 Type
1732testdata/Builtins.lc 429:92-429:95 Nat -> Type->Type 1750testdata/Builtins.lc 434:26-434:51 Type
1733testdata/Builtins.lc 429:92-429:97 Type->Type 1751testdata/Builtins.lc 434:38-434:39 V3
1734testdata/Builtins.lc 429:96-429:97 V1 1752testdata/Builtins.lc 434:40-434:41 V1
1735testdata/Builtins.lc 429:98-429:103 Type 1753testdata/Builtins.lc 434:45-434:51 Type
1736testdata/Builtins.lc 431:6-431:12 Type 1754testdata/Builtins.lc 440:1-440:8 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a
1737testdata/Builtins.lc 431:6-432:12 Type 1755testdata/Builtins.lc 440:10-440:17 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a
1738testdata/Builtins.lc 432:3-432:12 Output | Type | {a:Nat} -> {b} -> FrameBuffer a b -> Output 1756testdata/Builtins.lc 440:19-440:26 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a
1739testdata/Builtins.lc 432:26-432:37 Nat -> Type->Type 1757testdata/Builtins.lc 440:34-440:37 Type->Type
1740testdata/Builtins.lc 432:26-432:39 Type->Type 1758testdata/Builtins.lc 440:34-440:58 Type
1741testdata/Builtins.lc 432:26-432:41 Type 1759testdata/Builtins.lc 440:34-440:73 Type
1742testdata/Builtins.lc 432:26-432:51 Type 1760testdata/Builtins.lc 440:38-440:58 Type
1743testdata/Builtins.lc 432:38-432:39 V3 1761testdata/Builtins.lc 440:39-440:55 Type->Type
1744testdata/Builtins.lc 432:40-432:41 V1 1762testdata/Builtins.lc 440:56-440:57 V1
1745testdata/Builtins.lc 432:45-432:51 Type 1763testdata/Builtins.lc 440:62-440:63 Type
1746testdata/Builtins.lc 438:1-438:8 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a 1764testdata/Builtins.lc 440:62-440:73 Type
1747testdata/Builtins.lc 438:10-438:17 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a 1765testdata/Builtins.lc 440:67-440:68 Type
1748testdata/Builtins.lc 438:19-438:26 {a} -> {b : Num (MatVecScalarElem a)} -> a -> a->a 1766testdata/Builtins.lc 440:67-440:73 Type
1749testdata/Builtins.lc 438:34-438:37 Type->Type 1767testdata/Builtins.lc 440:72-440:73 Type
1750testdata/Builtins.lc 438:34-438:58 Type 1768testdata/Builtins.lc 441:1-441:9 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b
1751testdata/Builtins.lc 438:34-438:73 Type 1769testdata/Builtins.lc 441:11-441:19 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b
1752testdata/Builtins.lc 438:38-438:58 Type 1770testdata/Builtins.lc 441:21-441:29 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b
1753testdata/Builtins.lc 438:39-438:55 Type->Type 1771testdata/Builtins.lc 441:34-441:80 Type
1754testdata/Builtins.lc 438:56-438:57 V1 1772testdata/Builtins.lc 441:35-441:36 V3
1755testdata/Builtins.lc 438:62-438:63 Type
1756testdata/Builtins.lc 438:62-438:73 Type
1757testdata/Builtins.lc 438:67-438:68 Type
1758testdata/Builtins.lc 438:67-438:73 Type
1759testdata/Builtins.lc 438:72-438:73 Type
1760testdata/Builtins.lc 439:1-439:9 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b
1761testdata/Builtins.lc 439:11-439:19 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b
1762testdata/Builtins.lc 439:21-439:29 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> {d : Num a} -> b -> a->b
1763testdata/Builtins.lc 439:34-439:80 Type
1764testdata/Builtins.lc 439:35-439:36 V3
1765testdata/Builtins.lc 439:35-439:38 Type->Type
1766testdata/Builtins.lc 439:35-439:57 Type
1767testdata/Builtins.lc 439:37-439:38 Type -> Type->Type
1768testdata/Builtins.lc 439:39-439:55 Type->Type
1769testdata/Builtins.lc 439:39-439:57 Type
1770testdata/Builtins.lc 439:56-439:57 V1
1771testdata/Builtins.lc 439:59-439:62 Type->Type
1772testdata/Builtins.lc 439:59-439:64 Type
1773testdata/Builtins.lc 439:59-439:80 Type
1774testdata/Builtins.lc 439:63-439:64 Type
1775testdata/Builtins.lc 439:69-439:70 Type
1776testdata/Builtins.lc 439:69-439:80 Type
1777testdata/Builtins.lc 439:74-439:75 Type
1778testdata/Builtins.lc 439:74-439:80 Type
1779testdata/Builtins.lc 439:79-439:80 Type
1780testdata/Builtins.lc 440:1-440:8 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b
1781testdata/Builtins.lc 440:10-440:17 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b
1782testdata/Builtins.lc 440:34-440:75 Type
1783testdata/Builtins.lc 440:35-440:38 Type->Type
1784testdata/Builtins.lc 440:35-440:40 Type
1785testdata/Builtins.lc 440:39-440:40 V5
1786testdata/Builtins.lc 440:42-440:43 V4
1787testdata/Builtins.lc 440:42-440:45 Type->Type
1788testdata/Builtins.lc 440:42-440:59 Type
1789testdata/Builtins.lc 440:42-440:75 Type
1790testdata/Builtins.lc 440:44-440:45 Type -> Type->Type
1791testdata/Builtins.lc 440:46-440:55 Nat -> Type->Type
1792testdata/Builtins.lc 440:46-440:57 Type->Type
1793testdata/Builtins.lc 440:46-440:59 Type
1794testdata/Builtins.lc 440:56-440:57 V2
1795testdata/Builtins.lc 440:58-440:59 Type
1796testdata/Builtins.lc 440:64-440:65 Type
1797testdata/Builtins.lc 440:64-440:75 Type
1798testdata/Builtins.lc 440:69-440:70 Type
1799testdata/Builtins.lc 440:69-440:75 Type
1800testdata/Builtins.lc 440:74-440:75 Type
1801testdata/Builtins.lc 441:1-441:9 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b
1802testdata/Builtins.lc 441:11-441:19 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b
1803testdata/Builtins.lc 441:34-441:75 Type
1804testdata/Builtins.lc 441:35-441:38 Type->Type 1773testdata/Builtins.lc 441:35-441:38 Type->Type
1805testdata/Builtins.lc 441:35-441:40 Type 1774testdata/Builtins.lc 441:35-441:57 Type
1806testdata/Builtins.lc 441:39-441:40 V5 1775testdata/Builtins.lc 441:37-441:38 Type -> Type->Type
1807testdata/Builtins.lc 441:42-441:43 V4 1776testdata/Builtins.lc 441:39-441:55 Type->Type
1808testdata/Builtins.lc 441:42-441:45 Type->Type 1777testdata/Builtins.lc 441:39-441:57 Type
1809testdata/Builtins.lc 441:42-441:59 Type 1778testdata/Builtins.lc 441:56-441:57 V1
1810testdata/Builtins.lc 441:42-441:75 Type 1779testdata/Builtins.lc 441:59-441:62 Type->Type
1811testdata/Builtins.lc 441:44-441:45 Type -> Type->Type 1780testdata/Builtins.lc 441:59-441:64 Type
1812testdata/Builtins.lc 441:46-441:55 Nat -> Type->Type 1781testdata/Builtins.lc 441:59-441:80 Type
1813testdata/Builtins.lc 441:46-441:57 Type->Type 1782testdata/Builtins.lc 441:63-441:64 Type
1814testdata/Builtins.lc 441:46-441:59 Type
1815testdata/Builtins.lc 441:56-441:57 V2
1816testdata/Builtins.lc 441:58-441:59 Type
1817testdata/Builtins.lc 441:64-441:65 Type
1818testdata/Builtins.lc 441:64-441:75 Type
1819testdata/Builtins.lc 441:69-441:70 Type 1783testdata/Builtins.lc 441:69-441:70 Type
1820testdata/Builtins.lc 441:69-441:75 Type 1784testdata/Builtins.lc 441:69-441:80 Type
1821testdata/Builtins.lc 441:74-441:75 Type 1785testdata/Builtins.lc 441:74-441:75 Type
1822testdata/Builtins.lc 442:1-442:8 {a} -> {b : Signed (MatVecScalarElem a)} -> a->a 1786testdata/Builtins.lc 441:74-441:80 Type
1823testdata/Builtins.lc 442:34-442:40 Type->Type 1787testdata/Builtins.lc 441:79-441:80 Type
1824testdata/Builtins.lc 442:34-442:61 Type 1788testdata/Builtins.lc 442:1-442:8 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b
1825testdata/Builtins.lc 442:34-442:71 Type 1789testdata/Builtins.lc 442:10-442:17 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b
1826testdata/Builtins.lc 442:41-442:61 Type 1790testdata/Builtins.lc 442:34-442:75 Type
1827testdata/Builtins.lc 442:42-442:58 Type->Type 1791testdata/Builtins.lc 442:35-442:38 Type->Type
1828testdata/Builtins.lc 442:59-442:60 V1 1792testdata/Builtins.lc 442:35-442:40 Type
1829testdata/Builtins.lc 442:65-442:66 Type 1793testdata/Builtins.lc 442:39-442:40 V5
1830testdata/Builtins.lc 442:65-442:71 Type 1794testdata/Builtins.lc 442:42-442:43 V4
1831testdata/Builtins.lc 442:70-442:71 Type 1795testdata/Builtins.lc 442:42-442:45 Type->Type
1832testdata/Builtins.lc 444:1-444:9 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b 1796testdata/Builtins.lc 442:42-442:59 Type
1833testdata/Builtins.lc 444:11-444:18 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b 1797testdata/Builtins.lc 442:42-442:75 Type
1834testdata/Builtins.lc 444:20-444:28 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b 1798testdata/Builtins.lc 442:44-442:45 Type -> Type->Type
1835testdata/Builtins.lc 444:34-444:80 Type 1799testdata/Builtins.lc 442:46-442:55 Nat -> Type->Type
1836testdata/Builtins.lc 444:35-444:43 Type->Type 1800testdata/Builtins.lc 442:46-442:57 Type->Type
1837testdata/Builtins.lc 444:35-444:45 Type 1801testdata/Builtins.lc 442:46-442:59 Type
1838testdata/Builtins.lc 444:44-444:45 V5 1802testdata/Builtins.lc 442:56-442:57 V2
1839testdata/Builtins.lc 444:47-444:48 V4 1803testdata/Builtins.lc 442:58-442:59 Type
1840testdata/Builtins.lc 444:47-444:50 Type->Type 1804testdata/Builtins.lc 442:64-442:65 Type
1841testdata/Builtins.lc 444:47-444:64 Type 1805testdata/Builtins.lc 442:64-442:75 Type
1842testdata/Builtins.lc 444:47-444:80 Type 1806testdata/Builtins.lc 442:69-442:70 Type
1843testdata/Builtins.lc 444:49-444:50 Type -> Type->Type 1807testdata/Builtins.lc 442:69-442:75 Type
1844testdata/Builtins.lc 444:51-444:60 Nat -> Type->Type 1808testdata/Builtins.lc 442:74-442:75 Type
1845testdata/Builtins.lc 444:51-444:62 Type->Type 1809testdata/Builtins.lc 443:1-443:9 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b
1846testdata/Builtins.lc 444:51-444:64 Type 1810testdata/Builtins.lc 443:11-443:19 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b
1847testdata/Builtins.lc 444:61-444:62 V2 1811testdata/Builtins.lc 443:34-443:75 Type
1848testdata/Builtins.lc 444:63-444:64 Type 1812testdata/Builtins.lc 443:35-443:38 Type->Type
1849testdata/Builtins.lc 444:69-444:70 Type 1813testdata/Builtins.lc 443:35-443:40 Type
1850testdata/Builtins.lc 444:69-444:80 Type 1814testdata/Builtins.lc 443:39-443:40 V5
1851testdata/Builtins.lc 444:74-444:75 Type 1815testdata/Builtins.lc 443:42-443:43 V4
1852testdata/Builtins.lc 444:74-444:80 Type 1816testdata/Builtins.lc 443:42-443:45 Type->Type
1853testdata/Builtins.lc 444:79-444:80 Type 1817testdata/Builtins.lc 443:42-443:59 Type
1854testdata/Builtins.lc 445:1-445:10 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b 1818testdata/Builtins.lc 443:42-443:75 Type
1855testdata/Builtins.lc 445:12-445:20 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b 1819testdata/Builtins.lc 443:44-443:45 Type -> Type->Type
1856testdata/Builtins.lc 445:22-445:31 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b 1820testdata/Builtins.lc 443:46-443:55 Nat -> Type->Type
1857testdata/Builtins.lc 445:34-445:80 Type 1821testdata/Builtins.lc 443:46-443:57 Type->Type
1858testdata/Builtins.lc 445:35-445:43 Type->Type 1822testdata/Builtins.lc 443:46-443:59 Type
1859testdata/Builtins.lc 445:35-445:45 Type 1823testdata/Builtins.lc 443:56-443:57 V2
1860testdata/Builtins.lc 445:44-445:45 V5 1824testdata/Builtins.lc 443:58-443:59 Type
1861testdata/Builtins.lc 445:47-445:48 V4 1825testdata/Builtins.lc 443:64-443:65 Type
1862testdata/Builtins.lc 445:47-445:50 Type->Type 1826testdata/Builtins.lc 443:64-443:75 Type
1863testdata/Builtins.lc 445:47-445:64 Type 1827testdata/Builtins.lc 443:69-443:70 Type
1864testdata/Builtins.lc 445:47-445:80 Type 1828testdata/Builtins.lc 443:69-443:75 Type
1865testdata/Builtins.lc 445:49-445:50 Type -> Type->Type 1829testdata/Builtins.lc 443:74-443:75 Type
1866testdata/Builtins.lc 445:51-445:60 Nat -> Type->Type 1830testdata/Builtins.lc 444:1-444:8 {a} -> {b : Signed (MatVecScalarElem a)} -> a->a
1867testdata/Builtins.lc 445:51-445:62 Type->Type 1831testdata/Builtins.lc 444:34-444:40 Type->Type
1868testdata/Builtins.lc 445:51-445:64 Type 1832testdata/Builtins.lc 444:34-444:61 Type
1869testdata/Builtins.lc 445:61-445:62 V2 1833testdata/Builtins.lc 444:34-444:71 Type
1870testdata/Builtins.lc 445:63-445:64 Type 1834testdata/Builtins.lc 444:41-444:61 Type
1871testdata/Builtins.lc 445:69-445:70 Type 1835testdata/Builtins.lc 444:42-444:58 Type->Type
1872testdata/Builtins.lc 445:69-445:80 Type 1836testdata/Builtins.lc 444:59-444:60 V1
1873testdata/Builtins.lc 445:74-445:75 Type 1837testdata/Builtins.lc 444:65-444:66 Type
1874testdata/Builtins.lc 445:74-445:80 Type 1838testdata/Builtins.lc 444:65-444:71 Type
1875testdata/Builtins.lc 445:79-445:80 Type 1839testdata/Builtins.lc 444:70-444:71 Type
1876testdata/Builtins.lc 446:1-446:9 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b->b 1840testdata/Builtins.lc 446:1-446:9 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b
1877testdata/Builtins.lc 446:34-446:75 Type 1841testdata/Builtins.lc 446:11-446:18 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b
1842testdata/Builtins.lc 446:20-446:28 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> b->b
1843testdata/Builtins.lc 446:34-446:80 Type
1878testdata/Builtins.lc 446:35-446:43 Type->Type 1844testdata/Builtins.lc 446:35-446:43 Type->Type
1879testdata/Builtins.lc 446:35-446:45 Type 1845testdata/Builtins.lc 446:35-446:45 Type
1880testdata/Builtins.lc 446:44-446:45 V5 1846testdata/Builtins.lc 446:44-446:45 V5
1881testdata/Builtins.lc 446:47-446:48 V4 1847testdata/Builtins.lc 446:47-446:48 V4
1882testdata/Builtins.lc 446:47-446:50 Type->Type 1848testdata/Builtins.lc 446:47-446:50 Type->Type
1883testdata/Builtins.lc 446:47-446:64 Type 1849testdata/Builtins.lc 446:47-446:64 Type
1884testdata/Builtins.lc 446:47-446:75 Type 1850testdata/Builtins.lc 446:47-446:80 Type
1885testdata/Builtins.lc 446:49-446:50 Type -> Type->Type 1851testdata/Builtins.lc 446:49-446:50 Type -> Type->Type
1886testdata/Builtins.lc 446:51-446:60 Nat -> Type->Type 1852testdata/Builtins.lc 446:51-446:60 Nat -> Type->Type
1887testdata/Builtins.lc 446:51-446:62 Type->Type 1853testdata/Builtins.lc 446:51-446:62 Type->Type
@@ -1889,49 +1855,41 @@ testdata/Builtins.lc 446:51-446:64 Type
1889testdata/Builtins.lc 446:61-446:62 V2 1855testdata/Builtins.lc 446:61-446:62 V2
1890testdata/Builtins.lc 446:63-446:64 Type 1856testdata/Builtins.lc 446:63-446:64 Type
1891testdata/Builtins.lc 446:69-446:70 Type 1857testdata/Builtins.lc 446:69-446:70 Type
1892testdata/Builtins.lc 446:69-446:75 Type 1858testdata/Builtins.lc 446:69-446:80 Type
1893testdata/Builtins.lc 446:74-446:75 Type 1859testdata/Builtins.lc 446:74-446:75 Type
1894testdata/Builtins.lc 447:1-447:12 {a} -> {b} -> {c:Nat} -> {d} -> {e : Integral a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Word} -> b -> d->b 1860testdata/Builtins.lc 446:74-446:80 Type
1895testdata/Builtins.lc 447:14-447:25 {a} -> {b} -> {c:Nat} -> {d} -> {e : Integral a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Word} -> b -> d->b 1861testdata/Builtins.lc 446:79-446:80 Type
1896testdata/Builtins.lc 447:34-447:102 Type 1862testdata/Builtins.lc 447:1-447:10 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b
1863testdata/Builtins.lc 447:12-447:20 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b
1864testdata/Builtins.lc 447:22-447:31 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> a->b
1865testdata/Builtins.lc 447:34-447:80 Type
1897testdata/Builtins.lc 447:35-447:43 Type->Type 1866testdata/Builtins.lc 447:35-447:43 Type->Type
1898testdata/Builtins.lc 447:35-447:45 Type 1867testdata/Builtins.lc 447:35-447:45 Type
1899testdata/Builtins.lc 447:44-447:45 V7 1868testdata/Builtins.lc 447:44-447:45 V5
1900testdata/Builtins.lc 447:47-447:48 V6 1869testdata/Builtins.lc 447:47-447:48 V4
1901testdata/Builtins.lc 447:47-447:50 Type->Type 1870testdata/Builtins.lc 447:47-447:50 Type->Type
1902testdata/Builtins.lc 447:47-447:64 Type 1871testdata/Builtins.lc 447:47-447:64 Type
1903testdata/Builtins.lc 447:47-447:102 Type 1872testdata/Builtins.lc 447:47-447:80 Type
1904testdata/Builtins.lc 447:49-447:50 Type -> Type->Type 1873testdata/Builtins.lc 447:49-447:50 Type -> Type->Type
1905testdata/Builtins.lc 447:51-447:60 Nat -> Type->Type 1874testdata/Builtins.lc 447:51-447:60 Nat -> Type->Type
1906testdata/Builtins.lc 447:51-447:62 Type->Type 1875testdata/Builtins.lc 447:51-447:62 Type->Type
1907testdata/Builtins.lc 447:51-447:64 Type 1876testdata/Builtins.lc 447:51-447:64 Type
1908testdata/Builtins.lc 447:61-447:62 V4 1877testdata/Builtins.lc 447:61-447:62 V2
1909testdata/Builtins.lc 447:63-447:64 Type 1878testdata/Builtins.lc 447:63-447:64 Type
1910testdata/Builtins.lc 447:66-447:67 V3 1879testdata/Builtins.lc 447:69-447:70 Type
1911testdata/Builtins.lc 447:66-447:69 Type->Type 1880testdata/Builtins.lc 447:69-447:80 Type
1912testdata/Builtins.lc 447:66-447:86 Type 1881testdata/Builtins.lc 447:74-447:75 Type
1913testdata/Builtins.lc 447:66-447:102 Type 1882testdata/Builtins.lc 447:74-447:80 Type
1914testdata/Builtins.lc 447:68-447:69 Type -> Type->Type 1883testdata/Builtins.lc 447:79-447:80 Type
1915testdata/Builtins.lc 447:70-447:79 Nat -> Type->Type 1884testdata/Builtins.lc 448:1-448:9 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b->b
1916testdata/Builtins.lc 447:70-447:81 Type->Type 1885testdata/Builtins.lc 448:34-448:75 Type
1917testdata/Builtins.lc 447:70-447:86 Type
1918testdata/Builtins.lc 447:80-447:81 Nat
1919testdata/Builtins.lc 447:82-447:86 Type
1920testdata/Builtins.lc 447:91-447:92 Type
1921testdata/Builtins.lc 447:91-447:102 Type
1922testdata/Builtins.lc 447:96-447:97 Type
1923testdata/Builtins.lc 447:96-447:102 Type
1924testdata/Builtins.lc 447:101-447:102 Type
1925testdata/Builtins.lc 448:1-448:13 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> Word->b
1926testdata/Builtins.lc 448:15-448:27 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> Word->b
1927testdata/Builtins.lc 448:34-448:83 Type
1928testdata/Builtins.lc 448:35-448:43 Type->Type 1886testdata/Builtins.lc 448:35-448:43 Type->Type
1929testdata/Builtins.lc 448:35-448:45 Type 1887testdata/Builtins.lc 448:35-448:45 Type
1930testdata/Builtins.lc 448:44-448:45 V5 1888testdata/Builtins.lc 448:44-448:45 V5
1931testdata/Builtins.lc 448:47-448:48 V4 1889testdata/Builtins.lc 448:47-448:48 V4
1932testdata/Builtins.lc 448:47-448:50 Type->Type 1890testdata/Builtins.lc 448:47-448:50 Type->Type
1933testdata/Builtins.lc 448:47-448:64 Type 1891testdata/Builtins.lc 448:47-448:64 Type
1934testdata/Builtins.lc 448:47-448:83 Type 1892testdata/Builtins.lc 448:47-448:75 Type
1935testdata/Builtins.lc 448:49-448:50 Type -> Type->Type 1893testdata/Builtins.lc 448:49-448:50 Type -> Type->Type
1936testdata/Builtins.lc 448:51-448:60 Nat -> Type->Type 1894testdata/Builtins.lc 448:51-448:60 Nat -> Type->Type
1937testdata/Builtins.lc 448:51-448:62 Type->Type 1895testdata/Builtins.lc 448:51-448:62 Type->Type
@@ -1939,354 +1897,372 @@ testdata/Builtins.lc 448:51-448:64 Type
1939testdata/Builtins.lc 448:61-448:62 V2 1897testdata/Builtins.lc 448:61-448:62 V2
1940testdata/Builtins.lc 448:63-448:64 Type 1898testdata/Builtins.lc 448:63-448:64 Type
1941testdata/Builtins.lc 448:69-448:70 Type 1899testdata/Builtins.lc 448:69-448:70 Type
1942testdata/Builtins.lc 448:69-448:83 Type 1900testdata/Builtins.lc 448:69-448:75 Type
1943testdata/Builtins.lc 448:74-448:78 Type 1901testdata/Builtins.lc 448:74-448:75 Type
1944testdata/Builtins.lc 448:74-448:83 Type 1902testdata/Builtins.lc 449:1-449:12 {a} -> {b} -> {c:Nat} -> {d} -> {e : Integral a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Word} -> b -> d->b
1945testdata/Builtins.lc 448:82-448:83 Type 1903testdata/Builtins.lc 449:14-449:25 {a} -> {b} -> {c:Nat} -> {d} -> {e : Integral a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Word} -> b -> d->b
1946testdata/Builtins.lc 450:1-450:8 Bool -> Bool->Bool 1904testdata/Builtins.lc 449:34-449:102 Type
1947testdata/Builtins.lc 450:10-450:16 Bool -> Bool->Bool 1905testdata/Builtins.lc 449:35-449:43 Type->Type
1948testdata/Builtins.lc 450:18-450:25 Bool -> Bool->Bool 1906testdata/Builtins.lc 449:35-449:45 Type
1949testdata/Builtins.lc 450:34-450:38 Type 1907testdata/Builtins.lc 449:44-449:45 V7
1950testdata/Builtins.lc 450:42-450:46 Type 1908testdata/Builtins.lc 449:47-449:48 V6
1951testdata/Builtins.lc 450:42-450:54 Type 1909testdata/Builtins.lc 449:47-449:50 Type->Type
1952testdata/Builtins.lc 450:50-450:54 Type 1910testdata/Builtins.lc 449:47-449:64 Type
1953testdata/Builtins.lc 451:1-451:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Bool} -> a->a 1911testdata/Builtins.lc 449:47-449:102 Type
1954testdata/Builtins.lc 451:34-451:56 Type 1912testdata/Builtins.lc 449:49-449:50 Type -> Type->Type
1955testdata/Builtins.lc 451:34-451:66 Type 1913testdata/Builtins.lc 449:51-449:60 Nat -> Type->Type
1956testdata/Builtins.lc 451:35-451:36 V3 1914testdata/Builtins.lc 449:51-449:62 Type->Type
1957testdata/Builtins.lc 451:35-451:38 Type->Type 1915testdata/Builtins.lc 449:51-449:64 Type
1958testdata/Builtins.lc 451:37-451:38 Type -> Type->Type 1916testdata/Builtins.lc 449:61-449:62 V4
1959testdata/Builtins.lc 451:39-451:48 Nat -> Type->Type 1917testdata/Builtins.lc 449:63-449:64 Type
1960testdata/Builtins.lc 451:39-451:50 Type->Type 1918testdata/Builtins.lc 449:66-449:67 V3
1961testdata/Builtins.lc 451:39-451:55 Type 1919testdata/Builtins.lc 449:66-449:69 Type->Type
1962testdata/Builtins.lc 451:49-451:50 V1 1920testdata/Builtins.lc 449:66-449:86 Type
1963testdata/Builtins.lc 451:51-451:55 Type 1921testdata/Builtins.lc 449:66-449:102 Type
1964testdata/Builtins.lc 451:60-451:61 Type 1922testdata/Builtins.lc 449:68-449:69 Type -> Type->Type
1965testdata/Builtins.lc 451:60-451:66 Type 1923testdata/Builtins.lc 449:70-449:79 Nat -> Type->Type
1966testdata/Builtins.lc 451:65-451:66 Type 1924testdata/Builtins.lc 449:70-449:81 Type->Type
1967testdata/Builtins.lc 452:1-452:8 {a:Nat} -> VecScalar a Bool -> Bool 1925testdata/Builtins.lc 449:70-449:86 Type
1968testdata/Builtins.lc 452:10-452:17 {a:Nat} -> VecScalar a Bool -> Bool 1926testdata/Builtins.lc 449:80-449:81 Nat
1969testdata/Builtins.lc 452:34-452:43 Nat -> Type->Type 1927testdata/Builtins.lc 449:82-449:86 Type
1970testdata/Builtins.lc 452:34-452:45 Type->Type 1928testdata/Builtins.lc 449:91-449:92 Type
1971testdata/Builtins.lc 452:34-452:50 Type 1929testdata/Builtins.lc 449:91-449:102 Type
1972testdata/Builtins.lc 452:34-452:58 Type 1930testdata/Builtins.lc 449:96-449:97 Type
1973testdata/Builtins.lc 452:44-452:45 V1 1931testdata/Builtins.lc 449:96-449:102 Type
1974testdata/Builtins.lc 452:46-452:50 Type 1932testdata/Builtins.lc 449:101-449:102 Type
1975testdata/Builtins.lc 452:54-452:58 Type 1933testdata/Builtins.lc 450:1-450:13 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> Word->b
1976testdata/Builtins.lc 455:1-455:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1934testdata/Builtins.lc 450:15-450:27 {a} -> {b} -> {c:Nat} -> {d : Integral a} -> {e : b ~ VecScalar c a} -> b -> Word->b
1977testdata/Builtins.lc 455:11-455:20 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1935testdata/Builtins.lc 450:34-450:83 Type
1978testdata/Builtins.lc 455:22-455:30 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1936testdata/Builtins.lc 450:35-450:43 Type->Type
1979testdata/Builtins.lc 455:32-455:41 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1937testdata/Builtins.lc 450:35-450:45 Type
1980testdata/Builtins.lc 455:43-455:51 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1938testdata/Builtins.lc 450:44-450:45 V5
1981testdata/Builtins.lc 455:53-455:62 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1939testdata/Builtins.lc 450:47-450:48 V4
1982testdata/Builtins.lc 455:64-455:71 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1940testdata/Builtins.lc 450:47-450:50 Type->Type
1983testdata/Builtins.lc 455:73-455:81 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1941testdata/Builtins.lc 450:47-450:64 Type
1984testdata/Builtins.lc 455:83-455:94 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1942testdata/Builtins.lc 450:47-450:83 Type
1985testdata/Builtins.lc 455:96-455:107 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1943testdata/Builtins.lc 450:49-450:50 Type -> Type->Type
1986testdata/Builtins.lc 455:109-455:116 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1944testdata/Builtins.lc 450:51-450:60 Nat -> Type->Type
1987testdata/Builtins.lc 455:118-455:126 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1945testdata/Builtins.lc 450:51-450:62 Type->Type
1988testdata/Builtins.lc 455:128-455:135 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1946testdata/Builtins.lc 450:51-450:64 Type
1989testdata/Builtins.lc 455:137-455:145 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1947testdata/Builtins.lc 450:61-450:62 V2
1990testdata/Builtins.lc 455:147-455:154 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1948testdata/Builtins.lc 450:63-450:64 Type
1991testdata/Builtins.lc 455:156-455:163 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1949testdata/Builtins.lc 450:69-450:70 Type
1992testdata/Builtins.lc 455:165-455:173 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1950testdata/Builtins.lc 450:69-450:83 Type
1993testdata/Builtins.lc 455:175-455:183 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1951testdata/Builtins.lc 450:74-450:78 Type
1994testdata/Builtins.lc 455:185-455:193 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1952testdata/Builtins.lc 450:74-450:83 Type
1995testdata/Builtins.lc 455:195-455:206 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1953testdata/Builtins.lc 450:82-450:83 Type
1996testdata/Builtins.lc 456:34-456:57 Type 1954testdata/Builtins.lc 452:1-452:8 Bool -> Bool->Bool
1997testdata/Builtins.lc 456:34-456:67 Type 1955testdata/Builtins.lc 452:10-452:16 Bool -> Bool->Bool
1998testdata/Builtins.lc 456:35-456:36 V3 1956testdata/Builtins.lc 452:18-452:25 Bool -> Bool->Bool
1999testdata/Builtins.lc 456:35-456:38 Type->Type 1957testdata/Builtins.lc 452:34-452:38 Type
2000testdata/Builtins.lc 456:37-456:38 Type -> Type->Type 1958testdata/Builtins.lc 452:42-452:46 Type
2001testdata/Builtins.lc 456:39-456:48 Nat -> Type->Type 1959testdata/Builtins.lc 452:42-452:54 Type
2002testdata/Builtins.lc 456:39-456:50 Type->Type 1960testdata/Builtins.lc 452:50-452:54 Type
2003testdata/Builtins.lc 456:39-456:56 Type 1961testdata/Builtins.lc 453:1-453:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Bool} -> a->a
2004testdata/Builtins.lc 456:49-456:50 V1 1962testdata/Builtins.lc 453:34-453:56 Type
2005testdata/Builtins.lc 456:51-456:56 Type 1963testdata/Builtins.lc 453:34-453:66 Type
2006testdata/Builtins.lc 456:61-456:62 Type 1964testdata/Builtins.lc 453:35-453:36 V3
2007testdata/Builtins.lc 456:61-456:67 Type 1965testdata/Builtins.lc 453:35-453:38 Type->Type
2008testdata/Builtins.lc 456:66-456:67 Type 1966testdata/Builtins.lc 453:37-453:38 Type -> Type->Type
2009testdata/Builtins.lc 457:1-457:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a 1967testdata/Builtins.lc 453:39-453:48 Nat -> Type->Type
2010testdata/Builtins.lc 457:10-457:19 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a 1968testdata/Builtins.lc 453:39-453:50 Type->Type
2011testdata/Builtins.lc 457:34-457:57 Type 1969testdata/Builtins.lc 453:39-453:55 Type
2012testdata/Builtins.lc 457:34-457:72 Type 1970testdata/Builtins.lc 453:49-453:50 V1
2013testdata/Builtins.lc 457:35-457:36 V3 1971testdata/Builtins.lc 453:51-453:55 Type
2014testdata/Builtins.lc 457:35-457:38 Type->Type 1972testdata/Builtins.lc 453:60-453:61 Type
2015testdata/Builtins.lc 457:37-457:38 Type -> Type->Type 1973testdata/Builtins.lc 453:60-453:66 Type
2016testdata/Builtins.lc 457:39-457:48 Nat -> Type->Type 1974testdata/Builtins.lc 453:65-453:66 Type
2017testdata/Builtins.lc 457:39-457:50 Type->Type 1975testdata/Builtins.lc 454:1-454:8 {a:Nat} -> VecScalar a Bool -> Bool
2018testdata/Builtins.lc 457:39-457:56 Type 1976testdata/Builtins.lc 454:10-454:17 {a:Nat} -> VecScalar a Bool -> Bool
2019testdata/Builtins.lc 457:49-457:50 V1 1977testdata/Builtins.lc 454:34-454:43 Nat -> Type->Type
2020testdata/Builtins.lc 457:51-457:56 Type 1978testdata/Builtins.lc 454:34-454:45 Type->Type
2021testdata/Builtins.lc 457:61-457:62 Type 1979testdata/Builtins.lc 454:34-454:50 Type
2022testdata/Builtins.lc 457:61-457:72 Type 1980testdata/Builtins.lc 454:34-454:58 Type
2023testdata/Builtins.lc 457:66-457:67 Type 1981testdata/Builtins.lc 454:44-454:45 V1
2024testdata/Builtins.lc 457:66-457:72 Type 1982testdata/Builtins.lc 454:46-454:50 Type
2025testdata/Builtins.lc 457:71-457:72 Type 1983testdata/Builtins.lc 454:54-454:58 Type
2026testdata/Builtins.lc 459:1-459:10 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1984testdata/Builtins.lc 457:1-457:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2027testdata/Builtins.lc 459:12-459:21 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1985testdata/Builtins.lc 457:11-457:20 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2028testdata/Builtins.lc 459:23-459:32 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1986testdata/Builtins.lc 457:22-457:30 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2029testdata/Builtins.lc 459:34-459:47 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1987testdata/Builtins.lc 457:32-457:41 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2030testdata/Builtins.lc 459:49-459:57 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1988testdata/Builtins.lc 457:43-457:51 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2031testdata/Builtins.lc 459:59-459:68 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 1989testdata/Builtins.lc 457:53-457:62 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2032testdata/Builtins.lc 460:34-460:57 Type 1990testdata/Builtins.lc 457:64-457:71 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2033testdata/Builtins.lc 460:34-460:67 Type 1991testdata/Builtins.lc 457:73-457:81 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2034testdata/Builtins.lc 460:35-460:36 V3 1992testdata/Builtins.lc 457:83-457:94 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2035testdata/Builtins.lc 460:35-460:38 Type->Type 1993testdata/Builtins.lc 457:96-457:107 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2036testdata/Builtins.lc 460:37-460:38 Type -> Type->Type 1994testdata/Builtins.lc 457:109-457:116 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2037testdata/Builtins.lc 460:39-460:48 Nat -> Type->Type 1995testdata/Builtins.lc 457:118-457:126 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2038testdata/Builtins.lc 460:39-460:50 Type->Type 1996testdata/Builtins.lc 457:128-457:135 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2039testdata/Builtins.lc 460:39-460:56 Type 1997testdata/Builtins.lc 457:137-457:145 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2040testdata/Builtins.lc 460:49-460:50 V1 1998testdata/Builtins.lc 457:147-457:154 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2041testdata/Builtins.lc 460:51-460:56 Type 1999testdata/Builtins.lc 457:156-457:163 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2042testdata/Builtins.lc 460:61-460:62 Type 2000testdata/Builtins.lc 457:165-457:173 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2043testdata/Builtins.lc 460:61-460:67 Type 2001testdata/Builtins.lc 457:175-457:183 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2044testdata/Builtins.lc 460:66-460:67 Type 2002testdata/Builtins.lc 457:185-457:193 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2045testdata/Builtins.lc 461:1-461:8 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b 2003testdata/Builtins.lc 457:195-457:206 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2046testdata/Builtins.lc 461:10-461:17 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b 2004testdata/Builtins.lc 458:34-458:57 Type
2047testdata/Builtins.lc 461:34-461:75 Type 2005testdata/Builtins.lc 458:34-458:67 Type
2048testdata/Builtins.lc 461:35-461:38 Type->Type 2006testdata/Builtins.lc 458:35-458:36 V3
2049testdata/Builtins.lc 461:35-461:40 Type 2007testdata/Builtins.lc 458:35-458:38 Type->Type
2050testdata/Builtins.lc 461:39-461:40 V5 2008testdata/Builtins.lc 458:37-458:38 Type -> Type->Type
2051testdata/Builtins.lc 461:42-461:43 V4 2009testdata/Builtins.lc 458:39-458:48 Nat -> Type->Type
2052testdata/Builtins.lc 461:42-461:45 Type->Type 2010testdata/Builtins.lc 458:39-458:50 Type->Type
2053testdata/Builtins.lc 461:42-461:59 Type 2011testdata/Builtins.lc 458:39-458:56 Type
2054testdata/Builtins.lc 461:42-461:75 Type 2012testdata/Builtins.lc 458:49-458:50 V1
2055testdata/Builtins.lc 461:44-461:45 Type -> Type->Type 2013testdata/Builtins.lc 458:51-458:56 Type
2056testdata/Builtins.lc 461:46-461:55 Nat -> Type->Type 2014testdata/Builtins.lc 458:61-458:62 Type
2057testdata/Builtins.lc 461:46-461:57 Type->Type 2015testdata/Builtins.lc 458:61-458:67 Type
2058testdata/Builtins.lc 461:46-461:59 Type 2016testdata/Builtins.lc 458:66-458:67 Type
2059testdata/Builtins.lc 461:56-461:57 V2 2017testdata/Builtins.lc 459:1-459:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a
2060testdata/Builtins.lc 461:58-461:59 Type 2018testdata/Builtins.lc 459:10-459:19 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a
2061testdata/Builtins.lc 461:64-461:65 Type 2019testdata/Builtins.lc 459:34-459:57 Type
2062testdata/Builtins.lc 461:64-461:75 Type 2020testdata/Builtins.lc 459:34-459:72 Type
2063testdata/Builtins.lc 461:69-461:70 Type 2021testdata/Builtins.lc 459:35-459:36 V3
2064testdata/Builtins.lc 461:69-461:75 Type 2022testdata/Builtins.lc 459:35-459:38 Type->Type
2065testdata/Builtins.lc 461:74-461:75 Type 2023testdata/Builtins.lc 459:37-459:38 Type -> Type->Type
2066testdata/Builtins.lc 462:1-462:9 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b 2024testdata/Builtins.lc 459:39-459:48 Nat -> Type->Type
2067testdata/Builtins.lc 462:11-462:19 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b 2025testdata/Builtins.lc 459:39-459:50 Type->Type
2068testdata/Builtins.lc 462:34-462:75 Type 2026testdata/Builtins.lc 459:39-459:56 Type
2027testdata/Builtins.lc 459:49-459:50 V1
2028testdata/Builtins.lc 459:51-459:56 Type
2029testdata/Builtins.lc 459:61-459:62 Type
2030testdata/Builtins.lc 459:61-459:72 Type
2031testdata/Builtins.lc 459:66-459:67 Type
2032testdata/Builtins.lc 459:66-459:72 Type
2033testdata/Builtins.lc 459:71-459:72 Type
2034testdata/Builtins.lc 461:1-461:10 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2035testdata/Builtins.lc 461:12-461:21 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2036testdata/Builtins.lc 461:23-461:32 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2037testdata/Builtins.lc 461:34-461:47 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2038testdata/Builtins.lc 461:49-461:57 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2039testdata/Builtins.lc 461:59-461:68 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2040testdata/Builtins.lc 462:34-462:57 Type
2041testdata/Builtins.lc 462:34-462:67 Type
2042testdata/Builtins.lc 462:35-462:36 V3
2069testdata/Builtins.lc 462:35-462:38 Type->Type 2043testdata/Builtins.lc 462:35-462:38 Type->Type
2070testdata/Builtins.lc 462:35-462:40 Type 2044testdata/Builtins.lc 462:37-462:38 Type -> Type->Type
2071testdata/Builtins.lc 462:39-462:40 V5 2045testdata/Builtins.lc 462:39-462:48 Nat -> Type->Type
2072testdata/Builtins.lc 462:42-462:43 V4 2046testdata/Builtins.lc 462:39-462:50 Type->Type
2073testdata/Builtins.lc 462:42-462:45 Type->Type 2047testdata/Builtins.lc 462:39-462:56 Type
2074testdata/Builtins.lc 462:42-462:59 Type 2048testdata/Builtins.lc 462:49-462:50 V1
2075testdata/Builtins.lc 462:42-462:75 Type 2049testdata/Builtins.lc 462:51-462:56 Type
2076testdata/Builtins.lc 462:44-462:45 Type -> Type->Type 2050testdata/Builtins.lc 462:61-462:62 Type
2077testdata/Builtins.lc 462:46-462:55 Nat -> Type->Type 2051testdata/Builtins.lc 462:61-462:67 Type
2078testdata/Builtins.lc 462:46-462:57 Type->Type 2052testdata/Builtins.lc 462:66-462:67 Type
2079testdata/Builtins.lc 462:46-462:59 Type 2053testdata/Builtins.lc 463:1-463:8 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b
2080testdata/Builtins.lc 462:56-462:57 V2 2054testdata/Builtins.lc 463:10-463:17 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b->b
2081testdata/Builtins.lc 462:58-462:59 Type 2055testdata/Builtins.lc 463:34-463:75 Type
2082testdata/Builtins.lc 462:64-462:65 Type
2083testdata/Builtins.lc 462:64-462:75 Type
2084testdata/Builtins.lc 462:69-462:70 Type
2085testdata/Builtins.lc 462:69-462:75 Type
2086testdata/Builtins.lc 462:74-462:75 Type
2087testdata/Builtins.lc 463:1-463:10 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a->c
2088testdata/Builtins.lc 463:12-463:21 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a->c
2089testdata/Builtins.lc 463:34-463:89 Type
2090testdata/Builtins.lc 463:35-463:36 V5
2091testdata/Builtins.lc 463:35-463:38 Type->Type 2056testdata/Builtins.lc 463:35-463:38 Type->Type
2092testdata/Builtins.lc 463:35-463:56 Type 2057testdata/Builtins.lc 463:35-463:40 Type
2093testdata/Builtins.lc 463:37-463:38 Type -> Type->Type 2058testdata/Builtins.lc 463:39-463:40 V5
2094testdata/Builtins.lc 463:39-463:48 Nat -> Type->Type 2059testdata/Builtins.lc 463:42-463:43 V4
2095testdata/Builtins.lc 463:39-463:50 Type->Type 2060testdata/Builtins.lc 463:42-463:45 Type->Type
2096testdata/Builtins.lc 463:39-463:56 Type 2061testdata/Builtins.lc 463:42-463:59 Type
2097testdata/Builtins.lc 463:49-463:50 V3 2062testdata/Builtins.lc 463:42-463:75 Type
2098testdata/Builtins.lc 463:51-463:56 Type 2063testdata/Builtins.lc 463:44-463:45 Type -> Type->Type
2099testdata/Builtins.lc 463:58-463:59 V2 2064testdata/Builtins.lc 463:46-463:55 Nat -> Type->Type
2100testdata/Builtins.lc 463:58-463:61 Type->Type 2065testdata/Builtins.lc 463:46-463:57 Type->Type
2101testdata/Builtins.lc 463:58-463:78 Type 2066testdata/Builtins.lc 463:46-463:59 Type
2102testdata/Builtins.lc 463:58-463:89 Type 2067testdata/Builtins.lc 463:56-463:57 V2
2103testdata/Builtins.lc 463:60-463:61 Type -> Type->Type 2068testdata/Builtins.lc 463:58-463:59 Type
2104testdata/Builtins.lc 463:62-463:71 Nat -> Type->Type 2069testdata/Builtins.lc 463:64-463:65 Type
2105testdata/Builtins.lc 463:62-463:73 Type->Type 2070testdata/Builtins.lc 463:64-463:75 Type
2106testdata/Builtins.lc 463:62-463:78 Type 2071testdata/Builtins.lc 463:69-463:70 Type
2107testdata/Builtins.lc 463:72-463:73 Nat 2072testdata/Builtins.lc 463:69-463:75 Type
2108testdata/Builtins.lc 463:74-463:78 Type 2073testdata/Builtins.lc 463:74-463:75 Type
2109testdata/Builtins.lc 463:83-463:84 Type 2074testdata/Builtins.lc 464:1-464:9 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b
2110testdata/Builtins.lc 463:83-463:89 Type 2075testdata/Builtins.lc 464:11-464:19 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a->b
2111testdata/Builtins.lc 463:88-463:89 Type 2076testdata/Builtins.lc 464:34-464:75 Type
2112testdata/Builtins.lc 464:1-464:8 {a} -> {b} -> {c:Nat} -> {d : Signed a} -> {e : b ~ VecScalar c a} -> b->b 2077testdata/Builtins.lc 464:35-464:38 Type->Type
2113testdata/Builtins.lc 464:10-464:18 {a} -> {b} -> {c:Nat} -> {d : Signed a} -> {e : b ~ VecScalar c a} -> b->b 2078testdata/Builtins.lc 464:35-464:40 Type
2114testdata/Builtins.lc 464:34-464:73 Type 2079testdata/Builtins.lc 464:39-464:40 V5
2115testdata/Builtins.lc 464:35-464:41 Type->Type 2080testdata/Builtins.lc 464:42-464:43 V4
2116testdata/Builtins.lc 464:35-464:43 Type 2081testdata/Builtins.lc 464:42-464:45 Type->Type
2117testdata/Builtins.lc 464:42-464:43 V5 2082testdata/Builtins.lc 464:42-464:59 Type
2118testdata/Builtins.lc 464:45-464:46 V4 2083testdata/Builtins.lc 464:42-464:75 Type
2119testdata/Builtins.lc 464:45-464:48 Type->Type 2084testdata/Builtins.lc 464:44-464:45 Type -> Type->Type
2120testdata/Builtins.lc 464:45-464:62 Type 2085testdata/Builtins.lc 464:46-464:55 Nat -> Type->Type
2121testdata/Builtins.lc 464:45-464:73 Type 2086testdata/Builtins.lc 464:46-464:57 Type->Type
2122testdata/Builtins.lc 464:47-464:48 Type -> Type->Type 2087testdata/Builtins.lc 464:46-464:59 Type
2123testdata/Builtins.lc 464:49-464:58 Nat -> Type->Type 2088testdata/Builtins.lc 464:56-464:57 V2
2124testdata/Builtins.lc 464:49-464:60 Type->Type 2089testdata/Builtins.lc 464:58-464:59 Type
2125testdata/Builtins.lc 464:49-464:62 Type 2090testdata/Builtins.lc 464:64-464:65 Type
2126testdata/Builtins.lc 464:59-464:60 V2 2091testdata/Builtins.lc 464:64-464:75 Type
2127testdata/Builtins.lc 464:61-464:62 Type 2092testdata/Builtins.lc 464:69-464:70 Type
2128testdata/Builtins.lc 464:67-464:68 Type 2093testdata/Builtins.lc 464:69-464:75 Type
2129testdata/Builtins.lc 464:67-464:73 Type 2094testdata/Builtins.lc 464:74-464:75 Type
2130testdata/Builtins.lc 464:72-464:73 Type 2095testdata/Builtins.lc 465:1-465:10 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a->c
2131testdata/Builtins.lc 465:1-465:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> Tuple2 a a 2096testdata/Builtins.lc 465:12-465:21 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a->c
2132testdata/Builtins.lc 465:34-465:57 Type 2097testdata/Builtins.lc 465:34-465:89 Type
2133testdata/Builtins.lc 465:34-465:72 Type 2098testdata/Builtins.lc 465:35-465:36 V5
2134testdata/Builtins.lc 465:35-465:36 V3
2135testdata/Builtins.lc 465:35-465:38 Type->Type 2099testdata/Builtins.lc 465:35-465:38 Type->Type
2100testdata/Builtins.lc 465:35-465:56 Type
2136testdata/Builtins.lc 465:37-465:38 Type -> Type->Type 2101testdata/Builtins.lc 465:37-465:38 Type -> Type->Type
2137testdata/Builtins.lc 465:39-465:48 Nat -> Type->Type 2102testdata/Builtins.lc 465:39-465:48 Nat -> Type->Type
2138testdata/Builtins.lc 465:39-465:50 Type->Type 2103testdata/Builtins.lc 465:39-465:50 Type->Type
2139testdata/Builtins.lc 465:39-465:56 Type 2104testdata/Builtins.lc 465:39-465:56 Type
2140testdata/Builtins.lc 465:49-465:50 V1 2105testdata/Builtins.lc 465:49-465:50 V3
2141testdata/Builtins.lc 465:51-465:56 Type 2106testdata/Builtins.lc 465:51-465:56 Type
2142testdata/Builtins.lc 465:61-465:62 Type 2107testdata/Builtins.lc 465:58-465:59 V2
2143testdata/Builtins.lc 465:61-465:72 Type 2108testdata/Builtins.lc 465:58-465:61 Type->Type
2144testdata/Builtins.lc 465:66-465:72 Type 2109testdata/Builtins.lc 465:58-465:78 Type
2145testdata/Builtins.lc 465:67-465:68 Type 2110testdata/Builtins.lc 465:58-465:89 Type
2146testdata/Builtins.lc 465:70-465:71 Type 2111testdata/Builtins.lc 465:60-465:61 Type -> Type->Type
2147testdata/Builtins.lc 466:1-466:10 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b -> b->b 2112testdata/Builtins.lc 465:62-465:71 Nat -> Type->Type
2148testdata/Builtins.lc 466:34-466:80 Type 2113testdata/Builtins.lc 465:62-465:73 Type->Type
2149testdata/Builtins.lc 466:35-466:38 Type->Type 2114testdata/Builtins.lc 465:62-465:78 Type
2150testdata/Builtins.lc 466:35-466:40 Type 2115testdata/Builtins.lc 465:72-465:73 Nat
2151testdata/Builtins.lc 466:39-466:40 V5 2116testdata/Builtins.lc 465:74-465:78 Type
2152testdata/Builtins.lc 466:42-466:43 V4 2117testdata/Builtins.lc 465:83-465:84 Type
2153testdata/Builtins.lc 466:42-466:45 Type->Type 2118testdata/Builtins.lc 465:83-465:89 Type
2154testdata/Builtins.lc 466:42-466:59 Type 2119testdata/Builtins.lc 465:88-465:89 Type
2155testdata/Builtins.lc 466:42-466:80 Type 2120testdata/Builtins.lc 466:1-466:8 {a} -> {b} -> {c:Nat} -> {d : Signed a} -> {e : b ~ VecScalar c a} -> b->b
2156testdata/Builtins.lc 466:44-466:45 Type -> Type->Type 2121testdata/Builtins.lc 466:10-466:18 {a} -> {b} -> {c:Nat} -> {d : Signed a} -> {e : b ~ VecScalar c a} -> b->b
2157testdata/Builtins.lc 466:46-466:55 Nat -> Type->Type 2122testdata/Builtins.lc 466:34-466:73 Type
2158testdata/Builtins.lc 466:46-466:57 Type->Type 2123testdata/Builtins.lc 466:35-466:41 Type->Type
2159testdata/Builtins.lc 466:46-466:59 Type 2124testdata/Builtins.lc 466:35-466:43 Type
2160testdata/Builtins.lc 466:56-466:57 V2 2125testdata/Builtins.lc 466:42-466:43 V5
2161testdata/Builtins.lc 466:58-466:59 Type 2126testdata/Builtins.lc 466:45-466:46 V4
2162testdata/Builtins.lc 466:64-466:65 Type 2127testdata/Builtins.lc 466:45-466:48 Type->Type
2163testdata/Builtins.lc 466:64-466:80 Type 2128testdata/Builtins.lc 466:45-466:62 Type
2164testdata/Builtins.lc 466:69-466:70 Type 2129testdata/Builtins.lc 466:45-466:73 Type
2165testdata/Builtins.lc 466:69-466:80 Type 2130testdata/Builtins.lc 466:47-466:48 Type -> Type->Type
2166testdata/Builtins.lc 466:74-466:75 Type 2131testdata/Builtins.lc 466:49-466:58 Nat -> Type->Type
2167testdata/Builtins.lc 466:74-466:80 Type 2132testdata/Builtins.lc 466:49-466:60 Type->Type
2168testdata/Builtins.lc 466:79-466:80 Type 2133testdata/Builtins.lc 466:49-466:62 Type
2169testdata/Builtins.lc 467:1-467:11 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a -> a->b 2134testdata/Builtins.lc 466:59-466:60 V2
2170testdata/Builtins.lc 467:34-467:80 Type 2135testdata/Builtins.lc 466:61-466:62 Type
2136testdata/Builtins.lc 466:67-466:68 Type
2137testdata/Builtins.lc 466:67-466:73 Type
2138testdata/Builtins.lc 466:72-466:73 Type
2139testdata/Builtins.lc 467:1-467:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> Tuple2 a a
2140testdata/Builtins.lc 467:34-467:57 Type
2141testdata/Builtins.lc 467:34-467:72 Type
2142testdata/Builtins.lc 467:35-467:36 V3
2171testdata/Builtins.lc 467:35-467:38 Type->Type 2143testdata/Builtins.lc 467:35-467:38 Type->Type
2172testdata/Builtins.lc 467:35-467:40 Type 2144testdata/Builtins.lc 467:37-467:38 Type -> Type->Type
2173testdata/Builtins.lc 467:39-467:40 V5 2145testdata/Builtins.lc 467:39-467:48 Nat -> Type->Type
2174testdata/Builtins.lc 467:42-467:43 V4 2146testdata/Builtins.lc 467:39-467:50 Type->Type
2175testdata/Builtins.lc 467:42-467:45 Type->Type 2147testdata/Builtins.lc 467:39-467:56 Type
2176testdata/Builtins.lc 467:42-467:59 Type 2148testdata/Builtins.lc 467:49-467:50 V1
2177testdata/Builtins.lc 467:42-467:80 Type 2149testdata/Builtins.lc 467:51-467:56 Type
2178testdata/Builtins.lc 467:44-467:45 Type -> Type->Type 2150testdata/Builtins.lc 467:61-467:62 Type
2179testdata/Builtins.lc 467:46-467:55 Nat -> Type->Type 2151testdata/Builtins.lc 467:61-467:72 Type
2180testdata/Builtins.lc 467:46-467:57 Type->Type 2152testdata/Builtins.lc 467:66-467:72 Type
2181testdata/Builtins.lc 467:46-467:59 Type 2153testdata/Builtins.lc 467:67-467:68 Type
2182testdata/Builtins.lc 467:56-467:57 V2 2154testdata/Builtins.lc 467:70-467:71 Type
2183testdata/Builtins.lc 467:58-467:59 Type 2155testdata/Builtins.lc 468:1-468:10 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> b -> b->b
2184testdata/Builtins.lc 467:64-467:65 Type 2156testdata/Builtins.lc 468:34-468:80 Type
2185testdata/Builtins.lc 467:64-467:80 Type
2186testdata/Builtins.lc 467:69-467:70 Type
2187testdata/Builtins.lc 467:69-467:80 Type
2188testdata/Builtins.lc 467:74-467:75 Type
2189testdata/Builtins.lc 467:74-467:80 Type
2190testdata/Builtins.lc 467:79-467:80 Type
2191testdata/Builtins.lc 468:1-468:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a
2192testdata/Builtins.lc 468:34-468:57 Type
2193testdata/Builtins.lc 468:34-468:77 Type
2194testdata/Builtins.lc 468:35-468:36 V3
2195testdata/Builtins.lc 468:35-468:38 Type->Type 2157testdata/Builtins.lc 468:35-468:38 Type->Type
2196testdata/Builtins.lc 468:37-468:38 Type -> Type->Type 2158testdata/Builtins.lc 468:35-468:40 Type
2197testdata/Builtins.lc 468:39-468:48 Nat -> Type->Type 2159testdata/Builtins.lc 468:39-468:40 V5
2198testdata/Builtins.lc 468:39-468:50 Type->Type 2160testdata/Builtins.lc 468:42-468:43 V4
2199testdata/Builtins.lc 468:39-468:56 Type 2161testdata/Builtins.lc 468:42-468:45 Type->Type
2200testdata/Builtins.lc 468:49-468:50 V1 2162testdata/Builtins.lc 468:42-468:59 Type
2201testdata/Builtins.lc 468:51-468:56 Type 2163testdata/Builtins.lc 468:42-468:80 Type
2202testdata/Builtins.lc 468:61-468:62 Type 2164testdata/Builtins.lc 468:44-468:45 Type -> Type->Type
2203testdata/Builtins.lc 468:61-468:77 Type 2165testdata/Builtins.lc 468:46-468:55 Nat -> Type->Type
2204testdata/Builtins.lc 468:66-468:67 Type 2166testdata/Builtins.lc 468:46-468:57 Type->Type
2205testdata/Builtins.lc 468:66-468:77 Type 2167testdata/Builtins.lc 468:46-468:59 Type
2206testdata/Builtins.lc 468:71-468:72 Type 2168testdata/Builtins.lc 468:56-468:57 V2
2207testdata/Builtins.lc 468:71-468:77 Type 2169testdata/Builtins.lc 468:58-468:59 Type
2208testdata/Builtins.lc 468:76-468:77 Type 2170testdata/Builtins.lc 468:64-468:65 Type
2209testdata/Builtins.lc 469:1-469:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> Float->a 2171testdata/Builtins.lc 468:64-468:80 Type
2210testdata/Builtins.lc 469:34-469:57 Type 2172testdata/Builtins.lc 468:69-468:70 Type
2211testdata/Builtins.lc 469:34-469:81 Type 2173testdata/Builtins.lc 468:69-468:80 Type
2212testdata/Builtins.lc 469:35-469:36 V3 2174testdata/Builtins.lc 468:74-468:75 Type
2175testdata/Builtins.lc 468:74-468:80 Type
2176testdata/Builtins.lc 468:79-468:80 Type
2177testdata/Builtins.lc 469:1-469:11 {a} -> {b} -> {c:Nat} -> {d : Num a} -> {e : b ~ VecScalar c a} -> b -> a -> a->b
2178testdata/Builtins.lc 469:34-469:80 Type
2213testdata/Builtins.lc 469:35-469:38 Type->Type 2179testdata/Builtins.lc 469:35-469:38 Type->Type
2214testdata/Builtins.lc 469:37-469:38 Type -> Type->Type 2180testdata/Builtins.lc 469:35-469:40 Type
2215testdata/Builtins.lc 469:39-469:48 Nat -> Type->Type 2181testdata/Builtins.lc 469:39-469:40 V5
2216testdata/Builtins.lc 469:39-469:50 Type->Type 2182testdata/Builtins.lc 469:42-469:43 V4
2217testdata/Builtins.lc 469:39-469:56 Type 2183testdata/Builtins.lc 469:42-469:45 Type->Type
2218testdata/Builtins.lc 469:49-469:50 V1 2184testdata/Builtins.lc 469:42-469:59 Type
2219testdata/Builtins.lc 469:51-469:56 Type 2185testdata/Builtins.lc 469:42-469:80 Type
2220testdata/Builtins.lc 469:61-469:62 Type 2186testdata/Builtins.lc 469:44-469:45 Type -> Type->Type
2221testdata/Builtins.lc 469:61-469:81 Type 2187testdata/Builtins.lc 469:46-469:55 Nat -> Type->Type
2222testdata/Builtins.lc 469:66-469:67 Type 2188testdata/Builtins.lc 469:46-469:57 Type->Type
2223testdata/Builtins.lc 469:66-469:81 Type 2189testdata/Builtins.lc 469:46-469:59 Type
2224testdata/Builtins.lc 469:71-469:76 Type 2190testdata/Builtins.lc 469:56-469:57 V2
2225testdata/Builtins.lc 469:71-469:81 Type 2191testdata/Builtins.lc 469:58-469:59 Type
2226testdata/Builtins.lc 469:80-469:81 Type 2192testdata/Builtins.lc 469:64-469:65 Type
2227testdata/Builtins.lc 470:1-470:9 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a -> a -> c->a 2193testdata/Builtins.lc 469:64-469:80 Type
2228testdata/Builtins.lc 470:34-470:99 Type 2194testdata/Builtins.lc 469:69-469:70 Type
2229testdata/Builtins.lc 470:35-470:36 V5 2195testdata/Builtins.lc 469:69-469:80 Type
2196testdata/Builtins.lc 469:74-469:75 Type
2197testdata/Builtins.lc 469:74-469:80 Type
2198testdata/Builtins.lc 469:79-469:80 Type
2199testdata/Builtins.lc 470:1-470:8 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a
2200testdata/Builtins.lc 470:34-470:57 Type
2201testdata/Builtins.lc 470:34-470:77 Type
2202testdata/Builtins.lc 470:35-470:36 V3
2230testdata/Builtins.lc 470:35-470:38 Type->Type 2203testdata/Builtins.lc 470:35-470:38 Type->Type
2231testdata/Builtins.lc 470:35-470:56 Type
2232testdata/Builtins.lc 470:37-470:38 Type -> Type->Type 2204testdata/Builtins.lc 470:37-470:38 Type -> Type->Type
2233testdata/Builtins.lc 470:39-470:48 Nat -> Type->Type 2205testdata/Builtins.lc 470:39-470:48 Nat -> Type->Type
2234testdata/Builtins.lc 470:39-470:50 Type->Type 2206testdata/Builtins.lc 470:39-470:50 Type->Type
2235testdata/Builtins.lc 470:39-470:56 Type 2207testdata/Builtins.lc 470:39-470:56 Type
2236testdata/Builtins.lc 470:49-470:50 V3 2208testdata/Builtins.lc 470:49-470:50 V1
2237testdata/Builtins.lc 470:51-470:56 Type 2209testdata/Builtins.lc 470:51-470:56 Type
2238testdata/Builtins.lc 470:58-470:59 V2 2210testdata/Builtins.lc 470:61-470:62 Type
2239testdata/Builtins.lc 470:58-470:61 Type->Type 2211testdata/Builtins.lc 470:61-470:77 Type
2240testdata/Builtins.lc 470:58-470:78 Type 2212testdata/Builtins.lc 470:66-470:67 Type
2241testdata/Builtins.lc 470:58-470:99 Type 2213testdata/Builtins.lc 470:66-470:77 Type
2242testdata/Builtins.lc 470:60-470:61 Type -> Type->Type 2214testdata/Builtins.lc 470:71-470:72 Type
2243testdata/Builtins.lc 470:62-470:71 Nat -> Type->Type 2215testdata/Builtins.lc 470:71-470:77 Type
2244testdata/Builtins.lc 470:62-470:73 Type->Type 2216testdata/Builtins.lc 470:76-470:77 Type
2245testdata/Builtins.lc 470:62-470:78 Type 2217testdata/Builtins.lc 471:1-471:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> Float->a
2246testdata/Builtins.lc 470:72-470:73 Nat 2218testdata/Builtins.lc 471:34-471:57 Type
2247testdata/Builtins.lc 470:74-470:78 Type 2219testdata/Builtins.lc 471:34-471:81 Type
2248testdata/Builtins.lc 470:83-470:84 Type
2249testdata/Builtins.lc 470:83-470:99 Type
2250testdata/Builtins.lc 470:88-470:89 Type
2251testdata/Builtins.lc 470:88-470:99 Type
2252testdata/Builtins.lc 470:93-470:94 Type
2253testdata/Builtins.lc 470:93-470:99 Type
2254testdata/Builtins.lc 470:98-470:99 Type
2255testdata/Builtins.lc 471:1-471:9 {a} -> {b:Nat} -> {c : a ~ VecS Float b} -> a -> a->a
2256testdata/Builtins.lc 471:34-471:53 Type
2257testdata/Builtins.lc 471:34-471:68 Type
2258testdata/Builtins.lc 471:35-471:36 V3 2220testdata/Builtins.lc 471:35-471:36 V3
2259testdata/Builtins.lc 471:35-471:38 Type->Type 2221testdata/Builtins.lc 471:35-471:38 Type->Type
2260testdata/Builtins.lc 471:37-471:38 Type -> Type->Type 2222testdata/Builtins.lc 471:37-471:38 Type -> Type->Type
2261testdata/Builtins.lc 471:39-471:44 Nat -> Type->Type 2223testdata/Builtins.lc 471:39-471:48 Nat -> Type->Type
2262testdata/Builtins.lc 471:39-471:46 Type->Type 2224testdata/Builtins.lc 471:39-471:50 Type->Type
2263testdata/Builtins.lc 471:39-471:52 Type 2225testdata/Builtins.lc 471:39-471:56 Type
2264testdata/Builtins.lc 471:45-471:46 V1 2226testdata/Builtins.lc 471:49-471:50 V1
2265testdata/Builtins.lc 471:47-471:52 Type 2227testdata/Builtins.lc 471:51-471:56 Type
2266testdata/Builtins.lc 471:57-471:58 Type 2228testdata/Builtins.lc 471:61-471:62 Type
2267testdata/Builtins.lc 471:57-471:68 Type 2229testdata/Builtins.lc 471:61-471:81 Type
2268testdata/Builtins.lc 471:62-471:63 Type 2230testdata/Builtins.lc 471:66-471:67 Type
2269testdata/Builtins.lc 471:62-471:68 Type 2231testdata/Builtins.lc 471:66-471:81 Type
2270testdata/Builtins.lc 471:67-471:68 Type 2232testdata/Builtins.lc 471:71-471:76 Type
2271testdata/Builtins.lc 472:1-472:10 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> Float -> a->a 2233testdata/Builtins.lc 471:71-471:81 Type
2272testdata/Builtins.lc 472:34-472:57 Type 2234testdata/Builtins.lc 471:80-471:81 Type
2273testdata/Builtins.lc 472:34-472:76 Type 2235testdata/Builtins.lc 472:1-472:9 {a} -> {b:Nat} -> {c} -> {d : a ~ VecScalar b Float} -> {e : c ~ VecScalar b Bool} -> a -> a -> c->a
2274testdata/Builtins.lc 472:35-472:36 V3 2236testdata/Builtins.lc 472:34-472:99 Type
2237testdata/Builtins.lc 472:35-472:36 V5
2275testdata/Builtins.lc 472:35-472:38 Type->Type 2238testdata/Builtins.lc 472:35-472:38 Type->Type
2239testdata/Builtins.lc 472:35-472:56 Type
2276testdata/Builtins.lc 472:37-472:38 Type -> Type->Type 2240testdata/Builtins.lc 472:37-472:38 Type -> Type->Type
2277testdata/Builtins.lc 472:39-472:48 Nat -> Type->Type 2241testdata/Builtins.lc 472:39-472:48 Nat -> Type->Type
2278testdata/Builtins.lc 472:39-472:50 Type->Type 2242testdata/Builtins.lc 472:39-472:50 Type->Type
2279testdata/Builtins.lc 472:39-472:56 Type 2243testdata/Builtins.lc 472:39-472:56 Type
2280testdata/Builtins.lc 472:49-472:50 V1 2244testdata/Builtins.lc 472:49-472:50 V3
2281testdata/Builtins.lc 472:51-472:56 Type 2245testdata/Builtins.lc 472:51-472:56 Type
2282testdata/Builtins.lc 472:61-472:66 Type 2246testdata/Builtins.lc 472:58-472:59 V2
2283testdata/Builtins.lc 472:61-472:76 Type 2247testdata/Builtins.lc 472:58-472:61 Type->Type
2284testdata/Builtins.lc 472:70-472:71 Type 2248testdata/Builtins.lc 472:58-472:78 Type
2285testdata/Builtins.lc 472:70-472:76 Type 2249testdata/Builtins.lc 472:58-472:99 Type
2286testdata/Builtins.lc 472:75-472:76 Type 2250testdata/Builtins.lc 472:60-472:61 Type -> Type->Type
2287testdata/Builtins.lc 473:1-473:15 {a} -> {b:Nat} -> {c : a ~ VecS Float b} -> a -> a -> a->a 2251testdata/Builtins.lc 472:62-472:71 Nat -> Type->Type
2252testdata/Builtins.lc 472:62-472:73 Type->Type
2253testdata/Builtins.lc 472:62-472:78 Type
2254testdata/Builtins.lc 472:72-472:73 Nat
2255testdata/Builtins.lc 472:74-472:78 Type
2256testdata/Builtins.lc 472:83-472:84 Type
2257testdata/Builtins.lc 472:83-472:99 Type
2258testdata/Builtins.lc 472:88-472:89 Type
2259testdata/Builtins.lc 472:88-472:99 Type
2260testdata/Builtins.lc 472:93-472:94 Type
2261testdata/Builtins.lc 472:93-472:99 Type
2262testdata/Builtins.lc 472:98-472:99 Type
2263testdata/Builtins.lc 473:1-473:9 {a} -> {b:Nat} -> {c : a ~ VecS Float b} -> a -> a->a
2288testdata/Builtins.lc 473:34-473:53 Type 2264testdata/Builtins.lc 473:34-473:53 Type
2289testdata/Builtins.lc 473:34-473:73 Type 2265testdata/Builtins.lc 473:34-473:68 Type
2290testdata/Builtins.lc 473:35-473:36 V3 2266testdata/Builtins.lc 473:35-473:36 V3
2291testdata/Builtins.lc 473:35-473:38 Type->Type 2267testdata/Builtins.lc 473:35-473:38 Type->Type
2292testdata/Builtins.lc 473:37-473:38 Type -> Type->Type 2268testdata/Builtins.lc 473:37-473:38 Type -> Type->Type
@@ -2296,15 +2272,13 @@ testdata/Builtins.lc 473:39-473:52 Type
2296testdata/Builtins.lc 473:45-473:46 V1 2272testdata/Builtins.lc 473:45-473:46 V1
2297testdata/Builtins.lc 473:47-473:52 Type 2273testdata/Builtins.lc 473:47-473:52 Type
2298testdata/Builtins.lc 473:57-473:58 Type 2274testdata/Builtins.lc 473:57-473:58 Type
2299testdata/Builtins.lc 473:57-473:73 Type 2275testdata/Builtins.lc 473:57-473:68 Type
2300testdata/Builtins.lc 473:62-473:63 Type 2276testdata/Builtins.lc 473:62-473:63 Type
2301testdata/Builtins.lc 473:62-473:73 Type 2277testdata/Builtins.lc 473:62-473:68 Type
2302testdata/Builtins.lc 473:67-473:68 Type 2278testdata/Builtins.lc 473:67-473:68 Type
2303testdata/Builtins.lc 473:67-473:73 Type 2279testdata/Builtins.lc 474:1-474:10 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> Float -> a->a
2304testdata/Builtins.lc 473:72-473:73 Type
2305testdata/Builtins.lc 474:1-474:16 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> Float -> Float -> a->a
2306testdata/Builtins.lc 474:34-474:57 Type 2280testdata/Builtins.lc 474:34-474:57 Type
2307testdata/Builtins.lc 474:34-474:85 Type 2281testdata/Builtins.lc 474:34-474:76 Type
2308testdata/Builtins.lc 474:35-474:36 V3 2282testdata/Builtins.lc 474:35-474:36 V3
2309testdata/Builtins.lc 474:35-474:38 Type->Type 2283testdata/Builtins.lc 474:35-474:38 Type->Type
2310testdata/Builtins.lc 474:37-474:38 Type -> Type->Type 2284testdata/Builtins.lc 474:37-474:38 Type -> Type->Type
@@ -2314,95 +2288,98 @@ testdata/Builtins.lc 474:39-474:56 Type
2314testdata/Builtins.lc 474:49-474:50 V1 2288testdata/Builtins.lc 474:49-474:50 V1
2315testdata/Builtins.lc 474:51-474:56 Type 2289testdata/Builtins.lc 474:51-474:56 Type
2316testdata/Builtins.lc 474:61-474:66 Type 2290testdata/Builtins.lc 474:61-474:66 Type
2317testdata/Builtins.lc 474:61-474:85 Type 2291testdata/Builtins.lc 474:61-474:76 Type
2318testdata/Builtins.lc 474:70-474:75 Type 2292testdata/Builtins.lc 474:70-474:71 Type
2319testdata/Builtins.lc 474:70-474:85 Type 2293testdata/Builtins.lc 474:70-474:76 Type
2320testdata/Builtins.lc 474:79-474:80 Type 2294testdata/Builtins.lc 474:75-474:76 Type
2321testdata/Builtins.lc 474:79-474:85 Type 2295testdata/Builtins.lc 475:1-475:15 {a} -> {b:Nat} -> {c : a ~ VecS Float b} -> a -> a -> a->a
2322testdata/Builtins.lc 474:84-474:85 Type 2296testdata/Builtins.lc 475:34-475:53 Type
2323testdata/Builtins.lc 477:1-477:19 {a:Nat} -> VecScalar a Float -> VecScalar a Int 2297testdata/Builtins.lc 475:34-475:73 Type
2324testdata/Builtins.lc 477:34-477:43 Nat -> Type->Type 2298testdata/Builtins.lc 475:35-475:36 V3
2325testdata/Builtins.lc 477:34-477:45 Type->Type 2299testdata/Builtins.lc 475:35-475:38 Type->Type
2326testdata/Builtins.lc 477:34-477:51 Type 2300testdata/Builtins.lc 475:37-475:38 Type -> Type->Type
2327testdata/Builtins.lc 477:34-477:70 Type 2301testdata/Builtins.lc 475:39-475:44 Nat -> Type->Type
2328testdata/Builtins.lc 477:44-477:45 V1 2302testdata/Builtins.lc 475:39-475:46 Type->Type
2329testdata/Builtins.lc 477:46-477:51 Type 2303testdata/Builtins.lc 475:39-475:52 Type
2330testdata/Builtins.lc 477:55-477:64 Nat -> Type->Type 2304testdata/Builtins.lc 475:45-475:46 V1
2331testdata/Builtins.lc 477:55-477:66 Type->Type 2305testdata/Builtins.lc 475:47-475:52 Type
2332testdata/Builtins.lc 477:55-477:70 Type 2306testdata/Builtins.lc 475:57-475:58 Type
2333testdata/Builtins.lc 477:65-477:66 Nat 2307testdata/Builtins.lc 475:57-475:73 Type
2334testdata/Builtins.lc 477:67-477:70 Type 2308testdata/Builtins.lc 475:62-475:63 Type
2335testdata/Builtins.lc 478:1-478:20 {a:Nat} -> VecScalar a Float -> VecScalar a Word 2309testdata/Builtins.lc 475:62-475:73 Type
2336testdata/Builtins.lc 478:34-478:43 Nat -> Type->Type 2310testdata/Builtins.lc 475:67-475:68 Type
2337testdata/Builtins.lc 478:34-478:45 Type->Type 2311testdata/Builtins.lc 475:67-475:73 Type
2338testdata/Builtins.lc 478:34-478:51 Type 2312testdata/Builtins.lc 475:72-475:73 Type
2339testdata/Builtins.lc 478:34-478:71 Type 2313testdata/Builtins.lc 476:1-476:16 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> Float -> Float -> a->a
2340testdata/Builtins.lc 478:44-478:45 V1 2314testdata/Builtins.lc 476:34-476:57 Type
2341testdata/Builtins.lc 478:46-478:51 Type 2315testdata/Builtins.lc 476:34-476:85 Type
2342testdata/Builtins.lc 478:55-478:64 Nat -> Type->Type 2316testdata/Builtins.lc 476:35-476:36 V3
2343testdata/Builtins.lc 478:55-478:66 Type->Type 2317testdata/Builtins.lc 476:35-476:38 Type->Type
2344testdata/Builtins.lc 478:55-478:71 Type 2318testdata/Builtins.lc 476:37-476:38 Type -> Type->Type
2345testdata/Builtins.lc 478:65-478:66 Nat 2319testdata/Builtins.lc 476:39-476:48 Nat -> Type->Type
2346testdata/Builtins.lc 478:67-478:71 Type 2320testdata/Builtins.lc 476:39-476:50 Type->Type
2347testdata/Builtins.lc 479:1-479:19 {a:Nat} -> VecScalar a Int -> VecScalar a Float 2321testdata/Builtins.lc 476:39-476:56 Type
2322testdata/Builtins.lc 476:49-476:50 V1
2323testdata/Builtins.lc 476:51-476:56 Type
2324testdata/Builtins.lc 476:61-476:66 Type
2325testdata/Builtins.lc 476:61-476:85 Type
2326testdata/Builtins.lc 476:70-476:75 Type
2327testdata/Builtins.lc 476:70-476:85 Type
2328testdata/Builtins.lc 476:79-476:80 Type
2329testdata/Builtins.lc 476:79-476:85 Type
2330testdata/Builtins.lc 476:84-476:85 Type
2331testdata/Builtins.lc 479:1-479:19 {a:Nat} -> VecScalar a Float -> VecScalar a Int
2348testdata/Builtins.lc 479:34-479:43 Nat -> Type->Type 2332testdata/Builtins.lc 479:34-479:43 Nat -> Type->Type
2349testdata/Builtins.lc 479:34-479:45 Type->Type 2333testdata/Builtins.lc 479:34-479:45 Type->Type
2350testdata/Builtins.lc 479:34-479:49 Type 2334testdata/Builtins.lc 479:34-479:51 Type
2351testdata/Builtins.lc 479:34-479:72 Type 2335testdata/Builtins.lc 479:34-479:70 Type
2352testdata/Builtins.lc 479:44-479:45 V1 2336testdata/Builtins.lc 479:44-479:45 V1
2353testdata/Builtins.lc 479:46-479:49 Type 2337testdata/Builtins.lc 479:46-479:51 Type
2354testdata/Builtins.lc 479:55-479:64 Nat -> Type->Type 2338testdata/Builtins.lc 479:55-479:64 Nat -> Type->Type
2355testdata/Builtins.lc 479:55-479:66 Type->Type 2339testdata/Builtins.lc 479:55-479:66 Type->Type
2356testdata/Builtins.lc 479:55-479:72 Type 2340testdata/Builtins.lc 479:55-479:70 Type
2357testdata/Builtins.lc 479:65-479:66 Nat 2341testdata/Builtins.lc 479:65-479:66 Nat
2358testdata/Builtins.lc 479:67-479:72 Type 2342testdata/Builtins.lc 479:67-479:70 Type
2359testdata/Builtins.lc 480:1-480:20 {a:Nat} -> VecScalar a Word -> VecScalar a Float 2343testdata/Builtins.lc 480:1-480:20 {a:Nat} -> VecScalar a Float -> VecScalar a Word
2360testdata/Builtins.lc 480:34-480:43 Nat -> Type->Type 2344testdata/Builtins.lc 480:34-480:43 Nat -> Type->Type
2361testdata/Builtins.lc 480:34-480:45 Type->Type 2345testdata/Builtins.lc 480:34-480:45 Type->Type
2362testdata/Builtins.lc 480:34-480:50 Type 2346testdata/Builtins.lc 480:34-480:51 Type
2363testdata/Builtins.lc 480:34-480:72 Type 2347testdata/Builtins.lc 480:34-480:71 Type
2364testdata/Builtins.lc 480:44-480:45 V1 2348testdata/Builtins.lc 480:44-480:45 V1
2365testdata/Builtins.lc 480:46-480:50 Type 2349testdata/Builtins.lc 480:46-480:51 Type
2366testdata/Builtins.lc 480:55-480:64 Nat -> Type->Type 2350testdata/Builtins.lc 480:55-480:64 Nat -> Type->Type
2367testdata/Builtins.lc 480:55-480:66 Type->Type 2351testdata/Builtins.lc 480:55-480:66 Type->Type
2368testdata/Builtins.lc 480:55-480:72 Type 2352testdata/Builtins.lc 480:55-480:71 Type
2369testdata/Builtins.lc 480:65-480:66 Nat 2353testdata/Builtins.lc 480:65-480:66 Nat
2370testdata/Builtins.lc 480:67-480:72 Type 2354testdata/Builtins.lc 480:67-480:71 Type
2371testdata/Builtins.lc 482:1-482:11 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->Float 2355testdata/Builtins.lc 481:1-481:19 {a:Nat} -> VecScalar a Int -> VecScalar a Float
2372testdata/Builtins.lc 482:34-482:57 Type 2356testdata/Builtins.lc 481:34-481:43 Nat -> Type->Type
2373testdata/Builtins.lc 482:34-482:71 Type 2357testdata/Builtins.lc 481:34-481:45 Type->Type
2374testdata/Builtins.lc 482:35-482:36 V3 2358testdata/Builtins.lc 481:34-481:49 Type
2375testdata/Builtins.lc 482:35-482:38 Type->Type 2359testdata/Builtins.lc 481:34-481:72 Type
2376testdata/Builtins.lc 482:37-482:38 Type -> Type->Type 2360testdata/Builtins.lc 481:44-481:45 V1
2377testdata/Builtins.lc 482:39-482:48 Nat -> Type->Type 2361testdata/Builtins.lc 481:46-481:49 Type
2378testdata/Builtins.lc 482:39-482:50 Type->Type 2362testdata/Builtins.lc 481:55-481:64 Nat -> Type->Type
2379testdata/Builtins.lc 482:39-482:56 Type 2363testdata/Builtins.lc 481:55-481:66 Type->Type
2380testdata/Builtins.lc 482:49-482:50 V1 2364testdata/Builtins.lc 481:55-481:72 Type
2381testdata/Builtins.lc 482:51-482:56 Type 2365testdata/Builtins.lc 481:65-481:66 Nat
2382testdata/Builtins.lc 482:61-482:62 Type 2366testdata/Builtins.lc 481:67-481:72 Type
2383testdata/Builtins.lc 482:61-482:71 Type 2367testdata/Builtins.lc 482:1-482:20 {a:Nat} -> VecScalar a Word -> VecScalar a Float
2384testdata/Builtins.lc 482:66-482:71 Type 2368testdata/Builtins.lc 482:34-482:43 Nat -> Type->Type
2385testdata/Builtins.lc 483:1-483:13 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->Float 2369testdata/Builtins.lc 482:34-482:45 Type->Type
2386testdata/Builtins.lc 483:15-483:22 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->Float 2370testdata/Builtins.lc 482:34-482:50 Type
2387testdata/Builtins.lc 483:34-483:57 Type 2371testdata/Builtins.lc 482:34-482:72 Type
2388testdata/Builtins.lc 483:34-483:76 Type 2372testdata/Builtins.lc 482:44-482:45 V1
2389testdata/Builtins.lc 483:35-483:36 V3 2373testdata/Builtins.lc 482:46-482:50 Type
2390testdata/Builtins.lc 483:35-483:38 Type->Type 2374testdata/Builtins.lc 482:55-482:64 Nat -> Type->Type
2391testdata/Builtins.lc 483:37-483:38 Type -> Type->Type 2375testdata/Builtins.lc 482:55-482:66 Type->Type
2392testdata/Builtins.lc 483:39-483:48 Nat -> Type->Type 2376testdata/Builtins.lc 482:55-482:72 Type
2393testdata/Builtins.lc 483:39-483:50 Type->Type 2377testdata/Builtins.lc 482:65-482:66 Nat
2394testdata/Builtins.lc 483:39-483:56 Type 2378testdata/Builtins.lc 482:67-482:72 Type
2395testdata/Builtins.lc 483:49-483:50 V1 2379testdata/Builtins.lc 484:1-484:11 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->Float
2396testdata/Builtins.lc 483:51-483:56 Type
2397testdata/Builtins.lc 483:61-483:62 Type
2398testdata/Builtins.lc 483:61-483:76 Type
2399testdata/Builtins.lc 483:66-483:67 Type
2400testdata/Builtins.lc 483:66-483:76 Type
2401testdata/Builtins.lc 483:71-483:76 Type
2402testdata/Builtins.lc 484:1-484:10 {a} -> {b : a ~ VecS Float 3} -> a -> a->a
2403testdata/Builtins.lc 484:34-484:57 Type 2380testdata/Builtins.lc 484:34-484:57 Type
2404testdata/Builtins.lc 484:34-484:72 Type 2381testdata/Builtins.lc 484:34-484:71 Type
2405testdata/Builtins.lc 484:35-484:36 V1 2382testdata/Builtins.lc 484:35-484:36 V3
2406testdata/Builtins.lc 484:35-484:38 Type->Type 2383testdata/Builtins.lc 484:35-484:38 Type->Type
2407testdata/Builtins.lc 484:37-484:38 Type -> Type->Type 2384testdata/Builtins.lc 484:37-484:38 Type -> Type->Type
2408testdata/Builtins.lc 484:39-484:48 Nat -> Type->Type 2385testdata/Builtins.lc 484:39-484:48 Nat -> Type->Type
@@ -2411,13 +2388,12 @@ testdata/Builtins.lc 484:39-484:56 Type
2411testdata/Builtins.lc 484:49-484:50 V1 2388testdata/Builtins.lc 484:49-484:50 V1
2412testdata/Builtins.lc 484:51-484:56 Type 2389testdata/Builtins.lc 484:51-484:56 Type
2413testdata/Builtins.lc 484:61-484:62 Type 2390testdata/Builtins.lc 484:61-484:62 Type
2414testdata/Builtins.lc 484:61-484:72 Type 2391testdata/Builtins.lc 484:61-484:71 Type
2415testdata/Builtins.lc 484:66-484:67 Type 2392testdata/Builtins.lc 484:66-484:71 Type
2416testdata/Builtins.lc 484:66-484:72 Type 2393testdata/Builtins.lc 485:1-485:13 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->Float
2417testdata/Builtins.lc 484:71-484:72 Type 2394testdata/Builtins.lc 485:15-485:22 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->Float
2418testdata/Builtins.lc 485:1-485:14 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2419testdata/Builtins.lc 485:34-485:57 Type 2395testdata/Builtins.lc 485:34-485:57 Type
2420testdata/Builtins.lc 485:34-485:67 Type 2396testdata/Builtins.lc 485:34-485:76 Type
2421testdata/Builtins.lc 485:35-485:36 V3 2397testdata/Builtins.lc 485:35-485:36 V3
2422testdata/Builtins.lc 485:35-485:38 Type->Type 2398testdata/Builtins.lc 485:35-485:38 Type->Type
2423testdata/Builtins.lc 485:37-485:38 Type -> Type->Type 2399testdata/Builtins.lc 485:37-485:38 Type -> Type->Type
@@ -2427,13 +2403,14 @@ testdata/Builtins.lc 485:39-485:56 Type
2427testdata/Builtins.lc 485:49-485:50 V1 2403testdata/Builtins.lc 485:49-485:50 V1
2428testdata/Builtins.lc 485:51-485:56 Type 2404testdata/Builtins.lc 485:51-485:56 Type
2429testdata/Builtins.lc 485:61-485:62 Type 2405testdata/Builtins.lc 485:61-485:62 Type
2430testdata/Builtins.lc 485:61-485:67 Type 2406testdata/Builtins.lc 485:61-485:76 Type
2431testdata/Builtins.lc 485:66-485:67 Type 2407testdata/Builtins.lc 485:66-485:67 Type
2432testdata/Builtins.lc 486:1-486:16 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a 2408testdata/Builtins.lc 485:66-485:76 Type
2433testdata/Builtins.lc 486:18-486:29 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a 2409testdata/Builtins.lc 485:71-485:76 Type
2410testdata/Builtins.lc 486:1-486:10 {a} -> {b : a ~ VecS Float 3} -> a -> a->a
2434testdata/Builtins.lc 486:34-486:57 Type 2411testdata/Builtins.lc 486:34-486:57 Type
2435testdata/Builtins.lc 486:34-486:77 Type 2412testdata/Builtins.lc 486:34-486:72 Type
2436testdata/Builtins.lc 486:35-486:36 V3 2413testdata/Builtins.lc 486:35-486:36 V1
2437testdata/Builtins.lc 486:35-486:38 Type->Type 2414testdata/Builtins.lc 486:35-486:38 Type->Type
2438testdata/Builtins.lc 486:37-486:38 Type -> Type->Type 2415testdata/Builtins.lc 486:37-486:38 Type -> Type->Type
2439testdata/Builtins.lc 486:39-486:48 Nat -> Type->Type 2416testdata/Builtins.lc 486:39-486:48 Nat -> Type->Type
@@ -2442,15 +2419,13 @@ testdata/Builtins.lc 486:39-486:56 Type
2442testdata/Builtins.lc 486:49-486:50 V1 2419testdata/Builtins.lc 486:49-486:50 V1
2443testdata/Builtins.lc 486:51-486:56 Type 2420testdata/Builtins.lc 486:51-486:56 Type
2444testdata/Builtins.lc 486:61-486:62 Type 2421testdata/Builtins.lc 486:61-486:62 Type
2445testdata/Builtins.lc 486:61-486:77 Type 2422testdata/Builtins.lc 486:61-486:72 Type
2446testdata/Builtins.lc 486:66-486:67 Type 2423testdata/Builtins.lc 486:66-486:67 Type
2447testdata/Builtins.lc 486:66-486:77 Type 2424testdata/Builtins.lc 486:66-486:72 Type
2448testdata/Builtins.lc 486:71-486:72 Type 2425testdata/Builtins.lc 486:71-486:72 Type
2449testdata/Builtins.lc 486:71-486:77 Type 2426testdata/Builtins.lc 487:1-487:14 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2450testdata/Builtins.lc 486:76-486:77 Type
2451testdata/Builtins.lc 487:1-487:12 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a
2452testdata/Builtins.lc 487:34-487:57 Type 2427testdata/Builtins.lc 487:34-487:57 Type
2453testdata/Builtins.lc 487:34-487:72 Type 2428testdata/Builtins.lc 487:34-487:67 Type
2454testdata/Builtins.lc 487:35-487:36 V3 2429testdata/Builtins.lc 487:35-487:36 V3
2455testdata/Builtins.lc 487:35-487:38 Type->Type 2430testdata/Builtins.lc 487:35-487:38 Type->Type
2456testdata/Builtins.lc 487:37-487:38 Type -> Type->Type 2431testdata/Builtins.lc 487:37-487:38 Type -> Type->Type
@@ -2460,44 +2435,51 @@ testdata/Builtins.lc 487:39-487:56 Type
2460testdata/Builtins.lc 487:49-487:50 V1 2435testdata/Builtins.lc 487:49-487:50 V1
2461testdata/Builtins.lc 487:51-487:56 Type 2436testdata/Builtins.lc 487:51-487:56 Type
2462testdata/Builtins.lc 487:61-487:62 Type 2437testdata/Builtins.lc 487:61-487:62 Type
2463testdata/Builtins.lc 487:61-487:72 Type 2438testdata/Builtins.lc 487:61-487:67 Type
2464testdata/Builtins.lc 487:66-487:67 Type 2439testdata/Builtins.lc 487:66-487:67 Type
2465testdata/Builtins.lc 487:66-487:72 Type 2440testdata/Builtins.lc 488:1-488:16 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a
2466testdata/Builtins.lc 487:71-487:72 Type 2441testdata/Builtins.lc 488:18-488:29 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a -> a->a
2467testdata/Builtins.lc 489:1-489:14 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> Mat b a c 2442testdata/Builtins.lc 488:34-488:57 Type
2468testdata/Builtins.lc 489:34-489:37 Nat -> Nat -> Type->Type 2443testdata/Builtins.lc 488:34-488:77 Type
2469testdata/Builtins.lc 489:34-489:39 Nat -> Type->Type 2444testdata/Builtins.lc 488:35-488:36 V3
2470testdata/Builtins.lc 489:34-489:41 Type->Type 2445testdata/Builtins.lc 488:35-488:38 Type->Type
2471testdata/Builtins.lc 489:34-489:43 Type 2446testdata/Builtins.lc 488:37-488:38 Type -> Type->Type
2472testdata/Builtins.lc 489:34-489:56 Type 2447testdata/Builtins.lc 488:39-488:48 Nat -> Type->Type
2473testdata/Builtins.lc 489:38-489:39 V5 2448testdata/Builtins.lc 488:39-488:50 Type->Type
2474testdata/Builtins.lc 489:40-489:41 V3 2449testdata/Builtins.lc 488:39-488:56 Type
2475testdata/Builtins.lc 489:42-489:43 V1 2450testdata/Builtins.lc 488:49-488:50 V1
2476testdata/Builtins.lc 489:47-489:50 Nat -> Nat -> Type->Type 2451testdata/Builtins.lc 488:51-488:56 Type
2477testdata/Builtins.lc 489:47-489:52 Nat -> Type->Type 2452testdata/Builtins.lc 488:61-488:62 Type
2478testdata/Builtins.lc 489:47-489:54 Type->Type 2453testdata/Builtins.lc 488:61-488:77 Type
2479testdata/Builtins.lc 489:47-489:56 Type 2454testdata/Builtins.lc 488:66-488:67 Type
2480testdata/Builtins.lc 489:51-489:52 Nat 2455testdata/Builtins.lc 488:66-488:77 Type
2481testdata/Builtins.lc 489:53-489:54 Nat 2456testdata/Builtins.lc 488:71-488:72 Type
2482testdata/Builtins.lc 489:55-489:56 Type 2457testdata/Builtins.lc 488:71-488:77 Type
2483testdata/Builtins.lc 490:1-490:16 {a:Nat} -> {b} -> Mat a a b -> Float 2458testdata/Builtins.lc 488:76-488:77 Type
2484testdata/Builtins.lc 490:34-490:37 Nat -> Nat -> Type->Type 2459testdata/Builtins.lc 489:1-489:12 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a -> a->a
2485testdata/Builtins.lc 490:34-490:39 Nat -> Type->Type 2460testdata/Builtins.lc 489:34-489:57 Type
2486testdata/Builtins.lc 490:34-490:41 Type->Type 2461testdata/Builtins.lc 489:34-489:72 Type
2487testdata/Builtins.lc 490:34-490:43 Type 2462testdata/Builtins.lc 489:35-489:36 V3
2488testdata/Builtins.lc 490:34-490:52 Type 2463testdata/Builtins.lc 489:35-489:38 Type->Type
2489testdata/Builtins.lc 490:38-490:39 V3 2464testdata/Builtins.lc 489:37-489:38 Type -> Type->Type
2490testdata/Builtins.lc 490:40-490:41 Nat 2465testdata/Builtins.lc 489:39-489:48 Nat -> Type->Type
2491testdata/Builtins.lc 490:42-490:43 V1 2466testdata/Builtins.lc 489:39-489:50 Type->Type
2492testdata/Builtins.lc 490:47-490:52 Type 2467testdata/Builtins.lc 489:39-489:56 Type
2493testdata/Builtins.lc 491:1-491:12 {a:Nat} -> {b} -> Mat a a b -> Mat a a b 2468testdata/Builtins.lc 489:49-489:50 V1
2469testdata/Builtins.lc 489:51-489:56 Type
2470testdata/Builtins.lc 489:61-489:62 Type
2471testdata/Builtins.lc 489:61-489:72 Type
2472testdata/Builtins.lc 489:66-489:67 Type
2473testdata/Builtins.lc 489:66-489:72 Type
2474testdata/Builtins.lc 489:71-489:72 Type
2475testdata/Builtins.lc 491:1-491:14 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> Mat b a c
2494testdata/Builtins.lc 491:34-491:37 Nat -> Nat -> Type->Type 2476testdata/Builtins.lc 491:34-491:37 Nat -> Nat -> Type->Type
2495testdata/Builtins.lc 491:34-491:39 Nat -> Type->Type 2477testdata/Builtins.lc 491:34-491:39 Nat -> Type->Type
2496testdata/Builtins.lc 491:34-491:41 Type->Type 2478testdata/Builtins.lc 491:34-491:41 Type->Type
2497testdata/Builtins.lc 491:34-491:43 Type 2479testdata/Builtins.lc 491:34-491:43 Type
2498testdata/Builtins.lc 491:34-491:56 Type 2480testdata/Builtins.lc 491:34-491:56 Type
2499testdata/Builtins.lc 491:38-491:39 V3 2481testdata/Builtins.lc 491:38-491:39 V5
2500testdata/Builtins.lc 491:40-491:41 Nat 2482testdata/Builtins.lc 491:40-491:41 V3
2501testdata/Builtins.lc 491:42-491:43 V1 2483testdata/Builtins.lc 491:42-491:43 V1
2502testdata/Builtins.lc 491:47-491:50 Nat -> Nat -> Type->Type 2484testdata/Builtins.lc 491:47-491:50 Nat -> Nat -> Type->Type
2503testdata/Builtins.lc 491:47-491:52 Nat -> Type->Type 2485testdata/Builtins.lc 491:47-491:52 Nat -> Type->Type
@@ -2506,189 +2488,191 @@ testdata/Builtins.lc 491:47-491:56 Type
2506testdata/Builtins.lc 491:51-491:52 Nat 2488testdata/Builtins.lc 491:51-491:52 Nat
2507testdata/Builtins.lc 491:53-491:54 Nat 2489testdata/Builtins.lc 491:53-491:54 Nat
2508testdata/Builtins.lc 491:55-491:56 Type 2490testdata/Builtins.lc 491:55-491:56 Type
2509testdata/Builtins.lc 492:1-492:17 {a:Nat} -> {b} -> {c:Nat} -> VecS b a -> VecS b c -> Mat c a b 2491testdata/Builtins.lc 492:1-492:16 {a:Nat} -> {b} -> Mat a a b -> Float
2510testdata/Builtins.lc 492:34-492:37 Nat -> Type->Type 2492testdata/Builtins.lc 492:34-492:37 Nat -> Nat -> Type->Type
2511testdata/Builtins.lc 492:34-492:39 Type->Type 2493testdata/Builtins.lc 492:34-492:39 Nat -> Type->Type
2512testdata/Builtins.lc 492:34-492:41 Type 2494testdata/Builtins.lc 492:34-492:41 Type->Type
2513testdata/Builtins.lc 492:34-492:69 Type 2495testdata/Builtins.lc 492:34-492:43 Type
2514testdata/Builtins.lc 492:38-492:39 V5 2496testdata/Builtins.lc 492:34-492:52 Type
2515testdata/Builtins.lc 492:40-492:41 V3 2497testdata/Builtins.lc 492:38-492:39 V3
2516testdata/Builtins.lc 492:47-492:50 Nat -> Type->Type 2498testdata/Builtins.lc 492:40-492:41 Nat
2517testdata/Builtins.lc 492:47-492:52 Type->Type 2499testdata/Builtins.lc 492:42-492:43 V1
2518testdata/Builtins.lc 492:47-492:54 Type 2500testdata/Builtins.lc 492:47-492:52 Type
2519testdata/Builtins.lc 492:47-492:69 Type 2501testdata/Builtins.lc 493:1-493:12 {a:Nat} -> {b} -> Mat a a b -> Mat a a b
2520testdata/Builtins.lc 492:51-492:52 V2
2521testdata/Builtins.lc 492:53-492:54 Type
2522testdata/Builtins.lc 492:60-492:63 Nat -> Nat -> Type->Type
2523testdata/Builtins.lc 492:60-492:65 Nat -> Type->Type
2524testdata/Builtins.lc 492:60-492:67 Type->Type
2525testdata/Builtins.lc 492:60-492:69 Type
2526testdata/Builtins.lc 492:64-492:65 Nat
2527testdata/Builtins.lc 492:66-492:67 Nat
2528testdata/Builtins.lc 492:68-492:69 Type
2529testdata/Builtins.lc 493:1-493:14 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> VecS c b -> VecS c a
2530testdata/Builtins.lc 493:34-493:37 Nat -> Nat -> Type->Type 2502testdata/Builtins.lc 493:34-493:37 Nat -> Nat -> Type->Type
2531testdata/Builtins.lc 493:34-493:39 Nat -> Type->Type 2503testdata/Builtins.lc 493:34-493:39 Nat -> Type->Type
2532testdata/Builtins.lc 493:34-493:41 Type->Type 2504testdata/Builtins.lc 493:34-493:41 Type->Type
2533testdata/Builtins.lc 493:34-493:43 Type 2505testdata/Builtins.lc 493:34-493:43 Type
2534testdata/Builtins.lc 493:34-493:67 Type 2506testdata/Builtins.lc 493:34-493:56 Type
2535testdata/Builtins.lc 493:38-493:39 V5 2507testdata/Builtins.lc 493:38-493:39 V3
2536testdata/Builtins.lc 493:40-493:41 V3 2508testdata/Builtins.lc 493:40-493:41 Nat
2537testdata/Builtins.lc 493:42-493:43 V1 2509testdata/Builtins.lc 493:42-493:43 V1
2538testdata/Builtins.lc 493:47-493:50 Nat -> Type->Type 2510testdata/Builtins.lc 493:47-493:50 Nat -> Nat -> Type->Type
2539testdata/Builtins.lc 493:47-493:52 Type->Type 2511testdata/Builtins.lc 493:47-493:52 Nat -> Type->Type
2540testdata/Builtins.lc 493:47-493:54 Type 2512testdata/Builtins.lc 493:47-493:54 Type->Type
2541testdata/Builtins.lc 493:47-493:67 Type 2513testdata/Builtins.lc 493:47-493:56 Type
2542testdata/Builtins.lc 493:51-493:52 Nat 2514testdata/Builtins.lc 493:51-493:52 Nat
2543testdata/Builtins.lc 493:53-493:54 Type 2515testdata/Builtins.lc 493:53-493:54 Nat
2544testdata/Builtins.lc 493:60-493:63 Nat -> Type->Type 2516testdata/Builtins.lc 493:55-493:56 Type
2545testdata/Builtins.lc 493:60-493:65 Type->Type 2517testdata/Builtins.lc 494:1-494:17 {a:Nat} -> {b} -> {c:Nat} -> VecS b a -> VecS b c -> Mat c a b
2546testdata/Builtins.lc 493:60-493:67 Type
2547testdata/Builtins.lc 493:64-493:65 Nat
2548testdata/Builtins.lc 493:66-493:67 Type
2549testdata/Builtins.lc 494:1-494:14 {a:Nat} -> {b} -> {c:Nat} -> VecS b a -> Mat a c b -> VecS b c
2550testdata/Builtins.lc 494:34-494:37 Nat -> Type->Type 2518testdata/Builtins.lc 494:34-494:37 Nat -> Type->Type
2551testdata/Builtins.lc 494:34-494:39 Type->Type 2519testdata/Builtins.lc 494:34-494:39 Type->Type
2552testdata/Builtins.lc 494:34-494:41 Type 2520testdata/Builtins.lc 494:34-494:41 Type
2553testdata/Builtins.lc 494:34-494:67 Type 2521testdata/Builtins.lc 494:34-494:69 Type
2554testdata/Builtins.lc 494:38-494:39 V5 2522testdata/Builtins.lc 494:38-494:39 V5
2555testdata/Builtins.lc 494:40-494:41 V3 2523testdata/Builtins.lc 494:40-494:41 V3
2556testdata/Builtins.lc 494:47-494:50 Nat -> Nat -> Type->Type 2524testdata/Builtins.lc 494:47-494:50 Nat -> Type->Type
2557testdata/Builtins.lc 494:47-494:52 Nat -> Type->Type 2525testdata/Builtins.lc 494:47-494:52 Type->Type
2558testdata/Builtins.lc 494:47-494:54 Type->Type 2526testdata/Builtins.lc 494:47-494:54 Type
2559testdata/Builtins.lc 494:47-494:56 Type 2527testdata/Builtins.lc 494:47-494:69 Type
2560testdata/Builtins.lc 494:47-494:67 Type 2528testdata/Builtins.lc 494:51-494:52 V2
2561testdata/Builtins.lc 494:51-494:52 Nat 2529testdata/Builtins.lc 494:53-494:54 Type
2562testdata/Builtins.lc 494:53-494:54 V2 2530testdata/Builtins.lc 494:60-494:63 Nat -> Nat -> Type->Type
2563testdata/Builtins.lc 494:55-494:56 Type 2531testdata/Builtins.lc 494:60-494:65 Nat -> Type->Type
2564testdata/Builtins.lc 494:60-494:63 Nat -> Type->Type 2532testdata/Builtins.lc 494:60-494:67 Type->Type
2565testdata/Builtins.lc 494:60-494:65 Type->Type 2533testdata/Builtins.lc 494:60-494:69 Type
2566testdata/Builtins.lc 494:60-494:67 Type
2567testdata/Builtins.lc 494:64-494:65 Nat 2534testdata/Builtins.lc 494:64-494:65 Nat
2568testdata/Builtins.lc 494:66-494:67 Type 2535testdata/Builtins.lc 494:66-494:67 Nat
2569testdata/Builtins.lc 495:1-495:14 {a:Nat} -> {b:Nat} -> {c} -> {d:Nat} -> Mat a b c -> Mat b d c -> Mat a d c 2536testdata/Builtins.lc 494:68-494:69 Type
2537testdata/Builtins.lc 495:1-495:14 {a:Nat} -> {b:Nat} -> {c} -> Mat a b c -> VecS c b -> VecS c a
2570testdata/Builtins.lc 495:34-495:37 Nat -> Nat -> Type->Type 2538testdata/Builtins.lc 495:34-495:37 Nat -> Nat -> Type->Type
2571testdata/Builtins.lc 495:34-495:39 Nat -> Type->Type 2539testdata/Builtins.lc 495:34-495:39 Nat -> Type->Type
2572testdata/Builtins.lc 495:34-495:41 Type->Type 2540testdata/Builtins.lc 495:34-495:41 Type->Type
2573testdata/Builtins.lc 495:34-495:43 Type 2541testdata/Builtins.lc 495:34-495:43 Type
2574testdata/Builtins.lc 495:34-495:69 Type 2542testdata/Builtins.lc 495:34-495:67 Type
2575testdata/Builtins.lc 495:38-495:39 V7 2543testdata/Builtins.lc 495:38-495:39 V5
2576testdata/Builtins.lc 495:40-495:41 V5 2544testdata/Builtins.lc 495:40-495:41 V3
2577testdata/Builtins.lc 495:42-495:43 V3 2545testdata/Builtins.lc 495:42-495:43 V1
2578testdata/Builtins.lc 495:47-495:50 Nat -> Nat -> Type->Type 2546testdata/Builtins.lc 495:47-495:50 Nat -> Type->Type
2579testdata/Builtins.lc 495:47-495:52 Nat -> Type->Type 2547testdata/Builtins.lc 495:47-495:52 Type->Type
2580testdata/Builtins.lc 495:47-495:54 Type->Type 2548testdata/Builtins.lc 495:47-495:54 Type
2581testdata/Builtins.lc 495:47-495:56 Type 2549testdata/Builtins.lc 495:47-495:67 Type
2582testdata/Builtins.lc 495:47-495:69 Type
2583testdata/Builtins.lc 495:51-495:52 Nat 2550testdata/Builtins.lc 495:51-495:52 Nat
2584testdata/Builtins.lc 495:53-495:54 V2 2551testdata/Builtins.lc 495:53-495:54 Type
2585testdata/Builtins.lc 495:55-495:56 Type 2552testdata/Builtins.lc 495:60-495:63 Nat -> Type->Type
2586testdata/Builtins.lc 495:60-495:63 Nat -> Nat -> Type->Type 2553testdata/Builtins.lc 495:60-495:65 Type->Type
2587testdata/Builtins.lc 495:60-495:65 Nat -> Type->Type 2554testdata/Builtins.lc 495:60-495:67 Type
2588testdata/Builtins.lc 495:60-495:67 Type->Type
2589testdata/Builtins.lc 495:60-495:69 Type
2590testdata/Builtins.lc 495:64-495:65 Nat 2555testdata/Builtins.lc 495:64-495:65 Nat
2591testdata/Builtins.lc 495:66-495:67 Nat 2556testdata/Builtins.lc 495:66-495:67 Type
2592testdata/Builtins.lc 495:68-495:69 Type 2557testdata/Builtins.lc 496:1-496:14 {a:Nat} -> {b} -> {c:Nat} -> VecS b a -> Mat a c b -> VecS b c
2593testdata/Builtins.lc 497:1-497:13 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d 2558testdata/Builtins.lc 496:34-496:37 Nat -> Type->Type
2594testdata/Builtins.lc 497:15-497:32 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d 2559testdata/Builtins.lc 496:34-496:39 Type->Type
2595testdata/Builtins.lc 497:34-497:49 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d 2560testdata/Builtins.lc 496:34-496:41 Type
2596testdata/Builtins.lc 497:51-497:71 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d 2561testdata/Builtins.lc 496:34-496:67 Type
2597testdata/Builtins.lc 497:73-497:83 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d 2562testdata/Builtins.lc 496:38-496:39 V5
2598testdata/Builtins.lc 497:85-497:98 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d 2563testdata/Builtins.lc 496:40-496:41 V3
2599testdata/Builtins.lc 498:34-498:97 Type 2564testdata/Builtins.lc 496:47-496:50 Nat -> Nat -> Type->Type
2600testdata/Builtins.lc 498:35-498:38 Type->Type 2565testdata/Builtins.lc 496:47-496:52 Nat -> Type->Type
2601testdata/Builtins.lc 498:35-498:40 Type 2566testdata/Builtins.lc 496:47-496:54 Type->Type
2602testdata/Builtins.lc 498:39-498:40 V7 2567testdata/Builtins.lc 496:47-496:56 Type
2603testdata/Builtins.lc 498:42-498:43 V6 2568testdata/Builtins.lc 496:47-496:67 Type
2604testdata/Builtins.lc 498:42-498:45 Type->Type 2569testdata/Builtins.lc 496:51-496:52 Nat
2605testdata/Builtins.lc 498:42-498:59 Type 2570testdata/Builtins.lc 496:53-496:54 V2
2606testdata/Builtins.lc 498:42-498:97 Type 2571testdata/Builtins.lc 496:55-496:56 Type
2607testdata/Builtins.lc 498:44-498:45 Type -> Type->Type 2572testdata/Builtins.lc 496:60-496:63 Nat -> Type->Type
2608testdata/Builtins.lc 498:46-498:55 Nat -> Type->Type 2573testdata/Builtins.lc 496:60-496:65 Type->Type
2609testdata/Builtins.lc 498:46-498:57 Type->Type 2574testdata/Builtins.lc 496:60-496:67 Type
2610testdata/Builtins.lc 498:46-498:59 Type 2575testdata/Builtins.lc 496:64-496:65 Nat
2611testdata/Builtins.lc 498:56-498:57 V4 2576testdata/Builtins.lc 496:66-496:67 Type
2612testdata/Builtins.lc 498:58-498:59 Type 2577testdata/Builtins.lc 497:1-497:14 {a:Nat} -> {b:Nat} -> {c} -> {d:Nat} -> Mat a b c -> Mat b d c -> Mat a d c
2613testdata/Builtins.lc 498:61-498:62 V3 2578testdata/Builtins.lc 497:34-497:37 Nat -> Nat -> Type->Type
2614testdata/Builtins.lc 498:61-498:64 Type->Type 2579testdata/Builtins.lc 497:34-497:39 Nat -> Type->Type
2615testdata/Builtins.lc 498:61-498:81 Type 2580testdata/Builtins.lc 497:34-497:41 Type->Type
2616testdata/Builtins.lc 498:61-498:97 Type 2581testdata/Builtins.lc 497:34-497:43 Type
2617testdata/Builtins.lc 498:63-498:64 Type -> Type->Type 2582testdata/Builtins.lc 497:34-497:69 Type
2618testdata/Builtins.lc 498:65-498:74 Nat -> Type->Type 2583testdata/Builtins.lc 497:38-497:39 V7
2619testdata/Builtins.lc 498:65-498:76 Type->Type 2584testdata/Builtins.lc 497:40-497:41 V5
2620testdata/Builtins.lc 498:65-498:81 Type 2585testdata/Builtins.lc 497:42-497:43 V3
2621testdata/Builtins.lc 498:75-498:76 Nat 2586testdata/Builtins.lc 497:47-497:50 Nat -> Nat -> Type->Type
2622testdata/Builtins.lc 498:77-498:81 Type 2587testdata/Builtins.lc 497:47-497:52 Nat -> Type->Type
2623testdata/Builtins.lc 498:86-498:87 Type 2588testdata/Builtins.lc 497:47-497:54 Type->Type
2624testdata/Builtins.lc 498:86-498:97 Type 2589testdata/Builtins.lc 497:47-497:56 Type
2625testdata/Builtins.lc 498:91-498:92 Type 2590testdata/Builtins.lc 497:47-497:69 Type
2626testdata/Builtins.lc 498:91-498:97 Type 2591testdata/Builtins.lc 497:51-497:52 Nat
2627testdata/Builtins.lc 498:96-498:97 Type 2592testdata/Builtins.lc 497:53-497:54 V2
2628testdata/Builtins.lc 499:1-499:10 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> b -> b->Bool 2593testdata/Builtins.lc 497:55-497:56 Type
2629testdata/Builtins.lc 499:12-499:24 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> b -> b->Bool 2594testdata/Builtins.lc 497:60-497:63 Nat -> Nat -> Type->Type
2630testdata/Builtins.lc 499:34-499:58 Type 2595testdata/Builtins.lc 497:60-497:65 Nat -> Type->Type
2631testdata/Builtins.lc 499:34-499:76 Type 2596testdata/Builtins.lc 497:60-497:67 Type->Type
2632testdata/Builtins.lc 499:35-499:36 V3 2597testdata/Builtins.lc 497:60-497:69 Type
2633testdata/Builtins.lc 499:35-499:38 Type->Type 2598testdata/Builtins.lc 497:64-497:65 Nat
2634testdata/Builtins.lc 499:37-499:38 Type -> Type->Type 2599testdata/Builtins.lc 497:66-497:67 Nat
2635testdata/Builtins.lc 499:39-499:55 Type->Type 2600testdata/Builtins.lc 497:68-497:69 Type
2636testdata/Builtins.lc 499:39-499:57 Type 2601testdata/Builtins.lc 499:1-499:13 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d
2637testdata/Builtins.lc 499:56-499:57 V1 2602testdata/Builtins.lc 499:15-499:32 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d
2638testdata/Builtins.lc 499:62-499:63 Type 2603testdata/Builtins.lc 499:34-499:49 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d
2639testdata/Builtins.lc 499:62-499:76 Type 2604testdata/Builtins.lc 499:51-499:71 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d
2640testdata/Builtins.lc 499:67-499:68 Type 2605testdata/Builtins.lc 499:73-499:83 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d
2641testdata/Builtins.lc 499:67-499:76 Type 2606testdata/Builtins.lc 499:85-499:98 {a} -> {b} -> {c:Nat} -> {d} -> {e : Num a} -> {f : b ~ VecScalar c a} -> {g : d ~ VecScalar c Bool} -> b -> b->d
2642testdata/Builtins.lc 499:72-499:76 Type 2607testdata/Builtins.lc 500:34-500:97 Type
2643testdata/Builtins.lc 501:1-501:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 2608testdata/Builtins.lc 500:35-500:38 Type->Type
2644testdata/Builtins.lc 501:11-501:19 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 2609testdata/Builtins.lc 500:35-500:40 Type
2645testdata/Builtins.lc 501:21-501:31 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a 2610testdata/Builtins.lc 500:39-500:40 V7
2646testdata/Builtins.lc 502:34-502:57 Type 2611testdata/Builtins.lc 500:42-500:43 V6
2647testdata/Builtins.lc 502:34-502:67 Type 2612testdata/Builtins.lc 500:42-500:45 Type->Type
2648testdata/Builtins.lc 502:35-502:36 V3 2613testdata/Builtins.lc 500:42-500:59 Type
2649testdata/Builtins.lc 502:35-502:38 Type->Type 2614testdata/Builtins.lc 500:42-500:97 Type
2650testdata/Builtins.lc 502:37-502:38 Type -> Type->Type 2615testdata/Builtins.lc 500:44-500:45 Type -> Type->Type
2651testdata/Builtins.lc 502:39-502:48 Nat -> Type->Type 2616testdata/Builtins.lc 500:46-500:55 Nat -> Type->Type
2652testdata/Builtins.lc 502:39-502:50 Type->Type 2617testdata/Builtins.lc 500:46-500:57 Type->Type
2653testdata/Builtins.lc 502:39-502:56 Type 2618testdata/Builtins.lc 500:46-500:59 Type
2654testdata/Builtins.lc 502:49-502:50 V1 2619testdata/Builtins.lc 500:56-500:57 V4
2655testdata/Builtins.lc 502:51-502:56 Type 2620testdata/Builtins.lc 500:58-500:59 Type
2656testdata/Builtins.lc 502:61-502:62 Type 2621testdata/Builtins.lc 500:61-500:62 V3
2657testdata/Builtins.lc 502:61-502:67 Type 2622testdata/Builtins.lc 500:61-500:64 Type->Type
2658testdata/Builtins.lc 502:66-502:67 Type 2623testdata/Builtins.lc 500:61-500:81 Type
2659testdata/Builtins.lc 504:1-504:11 {a:Nat} -> VecScalar a Float -> Float 2624testdata/Builtins.lc 500:61-500:97 Type
2660testdata/Builtins.lc 504:34-504:43 Nat -> Type->Type 2625testdata/Builtins.lc 500:63-500:64 Type -> Type->Type
2661testdata/Builtins.lc 504:34-504:45 Type->Type 2626testdata/Builtins.lc 500:65-500:74 Nat -> Type->Type
2662testdata/Builtins.lc 504:34-504:51 Type 2627testdata/Builtins.lc 500:65-500:76 Type->Type
2663testdata/Builtins.lc 504:34-504:60 Type 2628testdata/Builtins.lc 500:65-500:81 Type
2664testdata/Builtins.lc 504:44-504:45 V1 2629testdata/Builtins.lc 500:75-500:76 Nat
2665testdata/Builtins.lc 504:46-504:51 Type 2630testdata/Builtins.lc 500:77-500:81 Type
2666testdata/Builtins.lc 504:55-504:60 Type 2631testdata/Builtins.lc 500:86-500:87 Type
2667testdata/Builtins.lc 505:1-505:11 {a:Nat} -> VecScalar a Float -> VecS Float 2 2632testdata/Builtins.lc 500:86-500:97 Type
2668testdata/Builtins.lc 505:34-505:43 Nat -> Type->Type 2633testdata/Builtins.lc 500:91-500:92 Type
2669testdata/Builtins.lc 505:34-505:45 Type->Type 2634testdata/Builtins.lc 500:91-500:97 Type
2670testdata/Builtins.lc 505:34-505:51 Type 2635testdata/Builtins.lc 500:96-500:97 Type
2671testdata/Builtins.lc 505:34-505:66 Type 2636testdata/Builtins.lc 501:1-501:10 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> b -> b->Bool
2672testdata/Builtins.lc 505:44-505:45 V1 2637testdata/Builtins.lc 501:12-501:24 {a} -> {b} -> {c : a ~ MatVecScalarElem b} -> b -> b->Bool
2673testdata/Builtins.lc 505:46-505:51 Type 2638testdata/Builtins.lc 501:34-501:58 Type
2674testdata/Builtins.lc 505:55-505:58 Nat -> Type->Type 2639testdata/Builtins.lc 501:34-501:76 Type
2675testdata/Builtins.lc 505:55-505:60 Type->Type 2640testdata/Builtins.lc 501:35-501:36 V3
2676testdata/Builtins.lc 505:55-505:66 Type 2641testdata/Builtins.lc 501:35-501:38 Type->Type
2677testdata/Builtins.lc 505:59-505:60 V1 2642testdata/Builtins.lc 501:37-501:38 Type -> Type->Type
2678testdata/Builtins.lc 505:61-505:66 Type 2643testdata/Builtins.lc 501:39-501:55 Type->Type
2679testdata/Builtins.lc 506:1-506:11 {a:Nat} -> VecScalar a Float -> VecS Float 3 2644testdata/Builtins.lc 501:39-501:57 Type
2645testdata/Builtins.lc 501:56-501:57 V1
2646testdata/Builtins.lc 501:62-501:63 Type
2647testdata/Builtins.lc 501:62-501:76 Type
2648testdata/Builtins.lc 501:67-501:68 Type
2649testdata/Builtins.lc 501:67-501:76 Type
2650testdata/Builtins.lc 501:72-501:76 Type
2651testdata/Builtins.lc 503:1-503:9 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2652testdata/Builtins.lc 503:11-503:19 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2653testdata/Builtins.lc 503:21-503:31 {a} -> {b:Nat} -> {c : a ~ VecScalar b Float} -> a->a
2654testdata/Builtins.lc 504:34-504:57 Type
2655testdata/Builtins.lc 504:34-504:67 Type
2656testdata/Builtins.lc 504:35-504:36 V3
2657testdata/Builtins.lc 504:35-504:38 Type->Type
2658testdata/Builtins.lc 504:37-504:38 Type -> Type->Type
2659testdata/Builtins.lc 504:39-504:48 Nat -> Type->Type
2660testdata/Builtins.lc 504:39-504:50 Type->Type
2661testdata/Builtins.lc 504:39-504:56 Type
2662testdata/Builtins.lc 504:49-504:50 V1
2663testdata/Builtins.lc 504:51-504:56 Type
2664testdata/Builtins.lc 504:61-504:62 Type
2665testdata/Builtins.lc 504:61-504:67 Type
2666testdata/Builtins.lc 504:66-504:67 Type
2667testdata/Builtins.lc 506:1-506:11 {a:Nat} -> VecScalar a Float -> Float
2680testdata/Builtins.lc 506:34-506:43 Nat -> Type->Type 2668testdata/Builtins.lc 506:34-506:43 Nat -> Type->Type
2681testdata/Builtins.lc 506:34-506:45 Type->Type 2669testdata/Builtins.lc 506:34-506:45 Type->Type
2682testdata/Builtins.lc 506:34-506:51 Type 2670testdata/Builtins.lc 506:34-506:51 Type
2683testdata/Builtins.lc 506:34-506:66 Type 2671testdata/Builtins.lc 506:34-506:60 Type
2684testdata/Builtins.lc 506:44-506:45 V1 2672testdata/Builtins.lc 506:44-506:45 V1
2685testdata/Builtins.lc 506:46-506:51 Type 2673testdata/Builtins.lc 506:46-506:51 Type
2686testdata/Builtins.lc 506:55-506:58 Nat -> Type->Type 2674testdata/Builtins.lc 506:55-506:60 Type
2687testdata/Builtins.lc 506:55-506:60 Type->Type 2675testdata/Builtins.lc 507:1-507:11 {a:Nat} -> VecScalar a Float -> VecS Float 2
2688testdata/Builtins.lc 506:55-506:66 Type
2689testdata/Builtins.lc 506:59-506:60 V1
2690testdata/Builtins.lc 506:61-506:66 Type
2691testdata/Builtins.lc 507:1-507:11 {a:Nat} -> VecScalar a Float -> VecS Float 4
2692testdata/Builtins.lc 507:34-507:43 Nat -> Type->Type 2676testdata/Builtins.lc 507:34-507:43 Nat -> Type->Type
2693testdata/Builtins.lc 507:34-507:45 Type->Type 2677testdata/Builtins.lc 507:34-507:45 Type->Type
2694testdata/Builtins.lc 507:34-507:51 Type 2678testdata/Builtins.lc 507:34-507:51 Type
@@ -2700,82 +2684,106 @@ testdata/Builtins.lc 507:55-507:60 Type->Type
2700testdata/Builtins.lc 507:55-507:66 Type 2684testdata/Builtins.lc 507:55-507:66 Type
2701testdata/Builtins.lc 507:59-507:60 V1 2685testdata/Builtins.lc 507:59-507:60 V1
2702testdata/Builtins.lc 507:61-507:66 Type 2686testdata/Builtins.lc 507:61-507:66 Type
2703testdata/Builtins.lc 523:6-523:13 Type 2687testdata/Builtins.lc 508:1-508:11 {a:Nat} -> VecScalar a Float -> VecS Float 3
2704testdata/Builtins.lc 523:6-527:12 Type 2688testdata/Builtins.lc 508:34-508:43 Nat -> Type->Type
2705testdata/Builtins.lc 524:3-524:16 String->Texture | Texture | Type 2689testdata/Builtins.lc 508:34-508:45 Type->Type
2706testdata/Builtins.lc 524:20-524:26 Type 2690testdata/Builtins.lc 508:34-508:51 Type
2707testdata/Builtins.lc 525:20-525:27 Type 2691testdata/Builtins.lc 508:34-508:66 Type
2708testdata/Builtins.lc 527:3-527:12 Texture | Type | VecS Int 2 -> Image 1 (Color (VecS Float 4)) -> Texture 2692testdata/Builtins.lc 508:44-508:45 V1
2709testdata/Builtins.lc 527:20-527:23 Nat -> Type->Type 2693testdata/Builtins.lc 508:46-508:51 Type
2710testdata/Builtins.lc 527:20-527:25 Type->Type 2694testdata/Builtins.lc 508:55-508:58 Nat -> Type->Type
2711testdata/Builtins.lc 527:20-527:29 Type 2695testdata/Builtins.lc 508:55-508:60 Type->Type
2712testdata/Builtins.lc 527:24-527:25 V1 2696testdata/Builtins.lc 508:55-508:66 Type
2713testdata/Builtins.lc 527:26-527:29 Type 2697testdata/Builtins.lc 508:59-508:60 V1
2714testdata/Builtins.lc 528:20-528:25 Nat -> Type->Type 2698testdata/Builtins.lc 508:61-508:66 Type
2715testdata/Builtins.lc 528:20-528:27 Type->Type 2699testdata/Builtins.lc 509:1-509:11 {a:Nat} -> VecScalar a Float -> VecS Float 4
2716testdata/Builtins.lc 528:20-528:49 Type 2700testdata/Builtins.lc 509:34-509:43 Nat -> Type->Type
2717testdata/Builtins.lc 528:20-529:27 Type 2701testdata/Builtins.lc 509:34-509:45 Type->Type
2718testdata/Builtins.lc 528:26-528:27 V1 2702testdata/Builtins.lc 509:34-509:51 Type
2719testdata/Builtins.lc 528:28-528:49 Type 2703testdata/Builtins.lc 509:34-509:66 Type
2720testdata/Builtins.lc 528:29-528:34 Type->Type 2704testdata/Builtins.lc 509:44-509:45 V1
2721testdata/Builtins.lc 528:35-528:48 Type 2705testdata/Builtins.lc 509:46-509:51 Type
2722testdata/Builtins.lc 528:36-528:39 Nat -> Type->Type 2706testdata/Builtins.lc 509:55-509:58 Nat -> Type->Type
2723testdata/Builtins.lc 528:36-528:41 Type->Type 2707testdata/Builtins.lc 509:55-509:60 Type->Type
2724testdata/Builtins.lc 528:40-528:41 V1 2708testdata/Builtins.lc 509:55-509:66 Type
2725testdata/Builtins.lc 528:42-528:47 Type 2709testdata/Builtins.lc 509:59-509:60 V1
2726testdata/Builtins.lc 529:20-529:27 Type 2710testdata/Builtins.lc 509:61-509:66 Type
2727testdata/Builtins.lc 531:6-531:12 Type 2711testdata/Builtins.lc 525:6-525:13 Type
2728testdata/Builtins.lc 531:6-533:17 Type 2712testdata/Builtins.lc 525:6-529:12 Type
2729testdata/Builtins.lc 532:5-532:16 Filter 2713testdata/Builtins.lc 526:3-526:16 String->Texture | Texture | Type
2730testdata/Builtins.lc 533:5-533:17 Filter 2714testdata/Builtins.lc 526:20-526:26 Type
2731testdata/Builtins.lc 535:6-535:14 Type 2715testdata/Builtins.lc 527:20-527:27 Type
2732testdata/Builtins.lc 535:6-538:16 Type 2716testdata/Builtins.lc 529:3-529:12 Texture | Type | VecS Int 2 -> Image 1 (Color (VecS Float 4)) -> Texture
2733testdata/Builtins.lc 536:5-536:11 EdgeMode 2717testdata/Builtins.lc 529:20-529:23 Nat -> Type->Type
2734testdata/Builtins.lc 537:5-537:19 EdgeMode 2718testdata/Builtins.lc 529:20-529:25 Type->Type
2735testdata/Builtins.lc 538:5-538:16 EdgeMode 2719testdata/Builtins.lc 529:20-529:29 Type
2736testdata/Builtins.lc 540:6-540:13 Type 2720testdata/Builtins.lc 529:24-529:25 V1
2737testdata/Builtins.lc 540:6-540:23 Type 2721testdata/Builtins.lc 529:26-529:29 Type
2738testdata/Builtins.lc 540:6-540:47 Type 2722testdata/Builtins.lc 530:20-530:25 Nat -> Type->Type
2739testdata/Builtins.lc 540:16-540:23 Filter -> EdgeMode -> Texture->Sampler | Sampler | Type 2723testdata/Builtins.lc 530:20-530:27 Type->Type
2740testdata/Builtins.lc 540:24-540:30 Type 2724testdata/Builtins.lc 530:20-530:49 Type
2741testdata/Builtins.lc 540:31-540:39 Type 2725testdata/Builtins.lc 530:20-531:27 Type
2742testdata/Builtins.lc 540:40-540:47 Type 2726testdata/Builtins.lc 530:26-530:27 V1
2743testdata/Builtins.lc 543:1-543:10 Sampler -> VecS Float 2 -> VecS Float 4 2727testdata/Builtins.lc 530:28-530:49 Type
2744testdata/Builtins.lc 543:14-543:21 Type 2728testdata/Builtins.lc 530:29-530:34 Type->Type
2745testdata/Builtins.lc 543:25-543:28 Nat -> Type->Type 2729testdata/Builtins.lc 530:35-530:48 Type
2746testdata/Builtins.lc 543:25-543:30 Type->Type 2730testdata/Builtins.lc 530:36-530:39 Nat -> Type->Type
2747testdata/Builtins.lc 543:25-543:36 Type 2731testdata/Builtins.lc 530:36-530:41 Type->Type
2748testdata/Builtins.lc 543:25-543:51 Type 2732testdata/Builtins.lc 530:40-530:41 V1
2749testdata/Builtins.lc 543:29-543:30 V1 2733testdata/Builtins.lc 530:42-530:47 Type
2750testdata/Builtins.lc 543:31-543:36 Type 2734testdata/Builtins.lc 531:20-531:27 Type
2751testdata/Builtins.lc 543:40-543:43 Nat -> Type->Type 2735testdata/Builtins.lc 533:6-533:12 Type
2752testdata/Builtins.lc 543:40-543:45 Type->Type 2736testdata/Builtins.lc 533:6-535:17 Type
2753testdata/Builtins.lc 543:40-543:51 Type 2737testdata/Builtins.lc 534:5-534:16 Filter
2754testdata/Builtins.lc 543:44-543:45 V1 2738testdata/Builtins.lc 535:5-535:17 Filter
2755testdata/Builtins.lc 543:46-543:51 Type 2739testdata/Builtins.lc 537:6-537:14 Type
2756testdata/Builtins.lc 546:1-546:15 {a} -> {b} -> a -> b -> Tuple2 a b 2740testdata/Builtins.lc 537:6-540:16 Type
2757testdata/Builtins.lc 546:24-546:32 Tuple2 V3 V1 2741testdata/Builtins.lc 538:5-538:11 EdgeMode
2758testdata/Builtins.lc 546:25-546:28 V5 2742testdata/Builtins.lc 539:5-539:19 EdgeMode
2759testdata/Builtins.lc 546:30-546:31 V2 2743testdata/Builtins.lc 540:5-540:16 EdgeMode
2760testdata/Builtins.lc 547:1-547:8 {a:Nat} -> {b} -> FrameBuffer a b -> Tuple2 (FragOps' b) (Stream (Fragment a (RemSemantics b))) -> FrameBuffer a b 2744testdata/Builtins.lc 542:6-542:13 Type
2761testdata/Builtins.lc 547:13-547:21 V3 2745testdata/Builtins.lc 542:6-542:23 Type
2762testdata/Builtins.lc 547:13-547:46 FrameBuffer V1 V0 2746testdata/Builtins.lc 542:6-542:47 Type
2763testdata/Builtins.lc 547:25-547:35 {a:Nat} -> {b} -> FragOps' b -> Stream (Fragment a (RemSemantics b)) -> FrameBuffer a b -> FrameBuffer a b 2747testdata/Builtins.lc 542:16-542:23 Filter -> EdgeMode -> Texture->Sampler | Sampler | Type
2764testdata/Builtins.lc 547:25-547:39 Stream (Fragment V1 (RemSemantics V0)) -> FrameBuffer V2 V1 -> FrameBuffer V3 V2 2748testdata/Builtins.lc 542:24-542:30 Type
2765testdata/Builtins.lc 547:25-547:43 FrameBuffer V1 V0 -> FrameBuffer V2 V1 2749testdata/Builtins.lc 542:31-542:39 Type
2766testdata/Builtins.lc 547:25-547:46 FrameBuffer V1 V0 | V2 -> V2->V2 | V2->V2 2750testdata/Builtins.lc 542:40-542:47 Type
2767testdata/Builtins.lc 547:36-547:39 V6 2751testdata/Builtins.lc 545:1-545:10 Sampler -> VecS Float 2 -> VecS Float 4
2768testdata/Builtins.lc 547:40-547:43 V5 2752testdata/Builtins.lc 545:14-545:21 Type
2769testdata/Builtins.lc 547:44-547:46 V7 2753testdata/Builtins.lc 545:25-545:28 Nat -> Type->Type
2770testdata/Builtins.lc 548:1-548:12 {a:Nat} -> {b} -> FrameBuffer a b -> Output 2754testdata/Builtins.lc 545:25-545:30 Type->Type
2771testdata/Builtins.lc 548:15-548:24 {a:Nat} -> {b} -> FrameBuffer a b -> Output 2755testdata/Builtins.lc 545:25-545:36 Type
2772testdata/Builtins.lc 549:1-549:11 {a:Nat} -> {b} -> {c} -> {d : SameLayerCounts c} -> {e : PreFrameBuffer a b ~ TFFrameBuffer c} -> c -> FrameBuffer a b 2756testdata/Builtins.lc 545:25-545:51 Type
2773testdata/Builtins.lc 549:14-549:25 {a:Nat} -> {b} -> {c} -> {d : SameLayerCounts c} -> {e : PreFrameBuffer a b ~ TFFrameBuffer c} -> c -> FrameBuffer a b 2757testdata/Builtins.lc 545:29-545:30 V1
2774testdata/Builtins.lc 550:1-550:16 Float -> Image 1 (Depth Float) 2758testdata/Builtins.lc 545:31-545:36 Type
2775testdata/Builtins.lc 550:19-550:29 {a:Nat} -> Float -> Image a (Depth Float) 2759testdata/Builtins.lc 545:40-545:43 Nat -> Type->Type
2776testdata/Builtins.lc 550:19-550:32 Float -> Image 1 (Depth Float) 2760testdata/Builtins.lc 545:40-545:45 Type->Type
2777testdata/Builtins.lc 550:31-550:32 V1 2761testdata/Builtins.lc 545:40-545:51 Type
2778testdata/Builtins.lc 551:1-551:16 {a:Nat} -> {b} -> {c} -> {d : Num b} -> {e : c ~ VecScalar a b} -> c -> Image 1 (Color c) 2762testdata/Builtins.lc 545:44-545:45 V1
2779testdata/Builtins.lc 551:19-551:29 {a:Nat} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : d ~ VecScalar b c} -> d -> Image a (Color d) 2763testdata/Builtins.lc 545:46-545:51 Type
2780testdata/Builtins.lc 551:19-551:32 {a:Nat} -> {b} -> {c} -> {d : Num b} -> {e : c ~ VecScalar a b} -> c -> Image 1 (Color c) 2764testdata/Builtins.lc 548:1-548:15 {a} -> {b} -> a -> b -> Tuple2 a b
2781testdata/Builtins.lc 551:31-551:32 V1 2765testdata/Builtins.lc 548:24-548:32 Tuple2 V3 V1
2766testdata/Builtins.lc 548:25-548:28 V5
2767testdata/Builtins.lc 548:30-548:31 V2
2768testdata/Builtins.lc 549:1-549:8 {a:Nat} -> {b} -> FrameBuffer a b -> Tuple2 (FragOps' b) (Stream (Fragment a (RemSemantics b))) -> FrameBuffer a b
2769testdata/Builtins.lc 549:13-549:21 V3
2770testdata/Builtins.lc 549:13-549:46 FrameBuffer V1 V0
2771testdata/Builtins.lc 549:25-549:35 {a:Nat} -> {b} -> FragOps' b -> Stream (Fragment a (RemSemantics b)) -> FrameBuffer a b -> FrameBuffer a b
2772testdata/Builtins.lc 549:25-549:39 Stream (Fragment V1 (RemSemantics V0)) -> FrameBuffer V2 V1 -> FrameBuffer V3 V2
2773testdata/Builtins.lc 549:25-549:43 FrameBuffer V1 V0 -> FrameBuffer V2 V1
2774testdata/Builtins.lc 549:25-549:46 FrameBuffer V1 V0 | V2 -> V2->V2 | V2->V2
2775testdata/Builtins.lc 549:36-549:39 V6
2776testdata/Builtins.lc 549:40-549:43 V5
2777testdata/Builtins.lc 549:44-549:46 V7
2778testdata/Builtins.lc 550:1-550:12 {a:Nat} -> {b} -> FrameBuffer a b -> Output
2779testdata/Builtins.lc 550:15-550:24 {a:Nat} -> {b} -> FrameBuffer a b -> Output
2780testdata/Builtins.lc 551:1-551:11 {a:Nat} -> {b} -> {c} -> {d : SameLayerCounts c} -> {e : PreFrameBuffer a b ~ TFFrameBuffer c} -> c -> FrameBuffer a b
2781testdata/Builtins.lc 551:14-551:25 {a:Nat} -> {b} -> {c} -> {d : SameLayerCounts c} -> {e : PreFrameBuffer a b ~ TFFrameBuffer c} -> c -> FrameBuffer a b
2782testdata/Builtins.lc 552:1-552:16 Float -> Image 1 (Depth Float)
2783testdata/Builtins.lc 552:19-552:29 {a:Nat} -> Float -> Image a (Depth Float)
2784testdata/Builtins.lc 552:19-552:32 Float -> Image 1 (Depth Float)
2785testdata/Builtins.lc 552:31-552:32 V1
2786testdata/Builtins.lc 553:1-553:16 {a:Nat} -> {b} -> {c} -> {d : Num b} -> {e : c ~ VecScalar a b} -> c -> Image 1 (Color c)
2787testdata/Builtins.lc 553:19-553:29 {a:Nat} -> {b:Nat} -> {c} -> {d} -> {e : Num c} -> {f : d ~ VecScalar b c} -> d -> Image a (Color d)
2788testdata/Builtins.lc 553:19-553:32 {a:Nat} -> {b} -> {c} -> {d : Num b} -> {e : c ~ VecScalar a b} -> c -> Image 1 (Color c)
2789testdata/Builtins.lc 553:31-553:32 V1
diff --git a/testdata/Graphics.lc b/testdata/Graphics.lc
index 155f92f3..290954aa 100644
--- a/testdata/Graphics.lc
+++ b/testdata/Graphics.lc
@@ -30,7 +30,7 @@ drop4 v = V3 v%x v%y v%z
30drop3 :: Vec 3 Float -> Vec 2 Float 30drop3 :: Vec 3 Float -> Vec 2 Float
31drop3 v = V2 v%x v%y 31drop3 v = V2 v%x v%y
32 32
33mkRasterContext :: CommonAttrs -> RasterContext Triangle 33mkRasterContext :: CommonAttrs -> RasterContext a Triangle
34mkRasterContext ca = TriangleCtx cull PolygonFill offset LastVertex 34mkRasterContext ca = TriangleCtx cull PolygonFill offset LastVertex
35 where 35 where
36 offset = if caPolygonOffset ca then Offset (-1) (-2) else NoOffset 36 offset = if caPolygonOffset ca then Offset (-1) (-2) else NoOffset
diff --git a/testdata/Graphics.out b/testdata/Graphics.out
index 4cd6116d..87c4bcc7 100644
--- a/testdata/Graphics.out
+++ b/testdata/Graphics.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m2",Parameter {name = "position", ty = V3F}),("n2",Parameter {name = "color", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m2 ;\nin vec4 n2 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = n2;\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m2 ).x,( m2 ).y,( m2 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( ( 1.0 ) - ( ( vv0 ).x ),( 1.0 ) - ( ( vv0 ).y ),( 1.0 ) - ( ( vv0 ).z ),1.0 );\n}\n"},Program {programUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("n5",Parameter {name = "position", ty = V3F}),("o5",Parameter {name = "color", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 n5 ;\nin vec4 o5 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( o5 ).x,( o5 ).y,( o5 ).z,0.5 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( n5 ).x,( n5 ).y,( n5 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u9",Parameter {name = "position", ty = V3F}),("v9",Parameter {name = "normal", ty = V3F}),("w9",Parameter {name = "diffuseUV", ty = V2F}),("x9",Parameter {name = "lightmapUV", ty = V2F}),("y9",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u9 ;\nin vec3 v9 ;\nin vec2 w9 ;\nin vec2 x9 ;\nin vec4 y9 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = x9;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u9 ).x,( u9 ).y,( u9 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3562558025",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("f14",Parameter {name = "position", ty = V3F}),("g14",Parameter {name = "normal", ty = V3F}),("h14",Parameter {name = "diffuseUV", ty = V2F}),("i14",Parameter {name = "lightmapUV", ty = V2F}),("j14",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3562558025",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 f14 ;\nin vec3 g14 ;\nin vec2 h14 ;\nin vec2 i14 ;\nin vec4 j14 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = h14;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( f14 ).x,( f14 ).y,( f14 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3562558025 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3562558025,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_47037129",FTexture2D),("time",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i18",Parameter {name = "position", ty = V3F}),("j18",Parameter {name = "normal", ty = V3F}),("k18",Parameter {name = "diffuseUV", ty = V2F}),("l18",Parameter {name = "lightmapUV", ty = V2F}),("m18",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_47037129",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float time ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i18 ;\nin vec3 j18 ;\nin vec2 k18 ;\nin vec2 l18 ;\nin vec4 m18 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = ( ( ( k18 ) + ( ( vec2 ( 0.0,1.0 ) ) * ( time ) ) ) + ( ( sin ( vec2 ( ( 6.28 ) * ( ( ( ( ( i18 ).x ) + ( ( i18 ).z ) ) * ( 9.765625e-4 ) ) + ( ( 0.0 ) + ( ( time ) * ( 1.6 ) ) ) ),( 6.28 ) * ( ( ( ( i18 ).y ) * ( 9.765625e-4 ) ) + ( ( 0.0 ) + ( ( time ) * ( 1.6 ) ) ) ) ) ) ) * ( 0.25 ) ) ) * ( vec2 ( 4.0,4.0 ) );\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i18 ).x,( i18 ).y,( i18 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_47037129 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_47037129,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1910997598",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a25",Parameter {name = "diffuseUV", ty = V2F}),("b25",Parameter {name = "lightmapUV", ty = V2F}),("c25",Parameter {name = "color", ty = V4F}),("y24",Parameter {name = "position", ty = V3F}),("z24",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("Tex_1910997598",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y24 ;\nin vec3 z24 ;\nin vec2 a25 ;\nin vec2 b25 ;\nin vec4 c25 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a25;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y24 ).x,( y24 ).y,( y24 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1910997598 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1910997598,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("b29",Parameter {name = "position", ty = V3F}),("c29",Parameter {name = "normal", ty = V3F}),("d29",Parameter {name = "diffuseUV", ty = V2F}),("e29",Parameter {name = "lightmapUV", ty = V2F}),("f29",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 b29 ;\nin vec3 c29 ;\nin vec2 d29 ;\nin vec2 e29 ;\nin vec4 f29 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e29;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( b29 ).x,( b29 ).y,( b29 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m33",Parameter {name = "position", ty = V3F}),("n33",Parameter {name = "normal", ty = V3F}),("o33",Parameter {name = "diffuseUV", ty = V2F}),("p33",Parameter {name = "lightmapUV", ty = V2F}),("q33",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m33 ;\nin vec3 n33 ;\nin vec2 o33 ;\nin vec2 p33 ;\nin vec4 q33 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = p33;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m33 ).x,( m33 ).y,( m33 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_4077187607",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a38",Parameter {name = "lightmapUV", ty = V2F}),("b38",Parameter {name = "color", ty = V4F}),("x37",Parameter {name = "position", ty = V3F}),("y37",Parameter {name = "normal", ty = V3F}),("z37",Parameter {name = "diffuseUV", ty = V2F})], programInTextures = fromList [("Tex_4077187607",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 x37 ;\nin vec3 y37 ;\nin vec2 z37 ;\nin vec2 a38 ;\nin vec4 b38 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = z37;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( x37 ).x,( x37 ).y,( x37 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_4077187607 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_4077187607,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3416962274",FTexture2D),("time",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a42",Parameter {name = "position", ty = V3F}),("b42",Parameter {name = "normal", ty = V3F}),("c42",Parameter {name = "diffuseUV", ty = V2F}),("d42",Parameter {name = "lightmapUV", ty = V2F}),("e42",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3416962274",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float time ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a42 ;\nin vec3 b42 ;\nin vec2 c42 ;\nin vec2 d42 ;\nin vec4 e42 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = ( ( ( c42 ) + ( ( vec2 ( 0.0,1.0 ) ) * ( time ) ) ) + ( ( sin ( vec2 ( ( 6.28 ) * ( ( ( ( ( a42 ).x ) + ( ( a42 ).z ) ) * ( 9.765625e-4 ) ) + ( ( 0.0 ) + ( ( time ) * ( 5.6 ) ) ) ),( 6.28 ) * ( ( ( ( a42 ).y ) * ( 9.765625e-4 ) ) + ( ( 0.0 ) + ( ( time ) * ( 5.6 ) ) ) ) ) ) ) * ( 0.25 ) ) ) * ( vec2 ( 1.5,1.5 ) );\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a42 ).x,( a42 ).y,( a42 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3416962274 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3416962274,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q48",Parameter {name = "position", ty = V3F}),("r48",Parameter {name = "normal", ty = V3F}),("s48",Parameter {name = "diffuseUV", ty = V2F}),("t48",Parameter {name = "lightmapUV", ty = V2F}),("u48",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q48 ;\nin vec3 r48 ;\nin vec2 s48 ;\nin vec2 t48 ;\nin vec4 u48 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = t48;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q48 ).x,( q48 ).y,( q48 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_4288602201",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a53",Parameter {name = "color", ty = V4F}),("w52",Parameter {name = "position", ty = V3F}),("x52",Parameter {name = "normal", ty = V3F}),("y52",Parameter {name = "diffuseUV", ty = V2F}),("z52",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("Tex_4288602201",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w52 ;\nin vec3 x52 ;\nin vec2 y52 ;\nin vec2 z52 ;\nin vec4 a53 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y52;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w52 ).x,( w52 ).y,( w52 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_4288602201 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_4288602201,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k57",Parameter {name = "position", ty = V3F}),("l57",Parameter {name = "normal", ty = V3F}),("m57",Parameter {name = "diffuseUV", ty = V2F}),("n57",Parameter {name = "lightmapUV", ty = V2F}),("o57",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k57 ;\nin vec3 l57 ;\nin vec2 m57 ;\nin vec2 n57 ;\nin vec4 o57 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = n57;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k57 ).x,( k57 ).y,( k57 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3202786139",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q61",Parameter {name = "position", ty = V3F}),("r61",Parameter {name = "normal", ty = V3F}),("s61",Parameter {name = "diffuseUV", ty = V2F}),("t61",Parameter {name = "lightmapUV", ty = V2F}),("u61",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3202786139",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q61 ;\nin vec3 r61 ;\nin vec2 s61 ;\nin vec2 t61 ;\nin vec4 u61 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s61;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q61 ).x,( q61 ).y,( q61 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3202786139 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3202786139,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e66",Parameter {name = "position", ty = V3F}),("f66",Parameter {name = "normal", ty = V3F}),("g66",Parameter {name = "diffuseUV", ty = V2F}),("h66",Parameter {name = "lightmapUV", ty = V2F}),("i66",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e66 ;\nin vec3 f66 ;\nin vec2 g66 ;\nin vec2 h66 ;\nin vec4 i66 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = h66;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e66 ).x,( e66 ).y,( e66 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_4255130505",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k70",Parameter {name = "position", ty = V3F}),("l70",Parameter {name = "normal", ty = V3F}),("m70",Parameter {name = "diffuseUV", ty = V2F}),("n70",Parameter {name = "lightmapUV", ty = V2F}),("o70",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_4255130505",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k70 ;\nin vec3 l70 ;\nin vec2 m70 ;\nin vec2 n70 ;\nin vec4 o70 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m70;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k70 ).x,( k70 ).y,( k70 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_4255130505 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_4255130505,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a75",Parameter {name = "diffuseUV", ty = V2F}),("b75",Parameter {name = "lightmapUV", ty = V2F}),("c75",Parameter {name = "color", ty = V4F}),("y74",Parameter {name = "position", ty = V3F}),("z74",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y74 ;\nin vec3 z74 ;\nin vec2 a75 ;\nin vec2 b75 ;\nin vec4 c75 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = b75;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y74 ).x,( y74 ).y,( y74 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_564811775",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e79",Parameter {name = "position", ty = V3F}),("f79",Parameter {name = "normal", ty = V3F}),("g79",Parameter {name = "diffuseUV", ty = V2F}),("h79",Parameter {name = "lightmapUV", ty = V2F}),("i79",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_564811775",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e79 ;\nin vec3 f79 ;\nin vec2 g79 ;\nin vec2 h79 ;\nin vec4 i79 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g79;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e79 ).x,( e79 ).y,( e79 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_564811775 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_564811775,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s83",Parameter {name = "position", ty = V3F}),("t83",Parameter {name = "normal", ty = V3F}),("u83",Parameter {name = "diffuseUV", ty = V2F}),("v83",Parameter {name = "lightmapUV", ty = V2F}),("w83",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s83 ;\nin vec3 t83 ;\nin vec2 u83 ;\nin vec2 v83 ;\nin vec4 w83 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = v83;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s83 ).x,( s83 ).y,( s83 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2073154888",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a88",Parameter {name = "diffuseUV", ty = V2F}),("b88",Parameter {name = "lightmapUV", ty = V2F}),("c88",Parameter {name = "color", ty = V4F}),("y87",Parameter {name = "position", ty = V3F}),("z87",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("Tex_2073154888",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y87 ;\nin vec3 z87 ;\nin vec2 a88 ;\nin vec2 b88 ;\nin vec4 c88 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a88;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y87 ).x,( y87 ).y,( y87 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2073154888 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2073154888,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m92",Parameter {name = "position", ty = V3F}),("n92",Parameter {name = "normal", ty = V3F}),("o92",Parameter {name = "diffuseUV", ty = V2F}),("p92",Parameter {name = "lightmapUV", ty = V2F}),("q92",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m92 ;\nin vec3 n92 ;\nin vec2 o92 ;\nin vec2 p92 ;\nin vec4 q92 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = p92;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m92 ).x,( m92 ).y,( m92 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2099456856",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s96",Parameter {name = "position", ty = V3F}),("t96",Parameter {name = "normal", ty = V3F}),("u96",Parameter {name = "diffuseUV", ty = V2F}),("v96",Parameter {name = "lightmapUV", ty = V2F}),("w96",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2099456856",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s96 ;\nin vec3 t96 ;\nin vec2 u96 ;\nin vec2 v96 ;\nin vec4 w96 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u96;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s96 ).x,( s96 ).y,( s96 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2099456856 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2099456856,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g101",Parameter {name = "position", ty = V3F}),("h101",Parameter {name = "normal", ty = V3F}),("i101",Parameter {name = "diffuseUV", ty = V2F}),("j101",Parameter {name = "lightmapUV", ty = V2F}),("k101",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g101 ;\nin vec3 h101 ;\nin vec2 i101 ;\nin vec2 j101 ;\nin vec4 k101 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = j101;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g101 ).x,( g101 ).y,( g101 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1581337759",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m105",Parameter {name = "position", ty = V3F}),("n105",Parameter {name = "normal", ty = V3F}),("o105",Parameter {name = "diffuseUV", ty = V2F}),("p105",Parameter {name = "lightmapUV", ty = V2F}),("q105",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1581337759",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m105 ;\nin vec3 n105 ;\nin vec2 o105 ;\nin vec2 p105 ;\nin vec4 q105 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o105;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m105 ).x,( m105 ).y,( m105 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1581337759 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1581337759,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a110",Parameter {name = "position", ty = V3F}),("b110",Parameter {name = "normal", ty = V3F}),("c110",Parameter {name = "diffuseUV", ty = V2F}),("d110",Parameter {name = "lightmapUV", ty = V2F}),("e110",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a110 ;\nin vec3 b110 ;\nin vec2 c110 ;\nin vec2 d110 ;\nin vec4 e110 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = d110;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a110 ).x,( a110 ).y,( a110 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1062467595",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g114",Parameter {name = "position", ty = V3F}),("h114",Parameter {name = "normal", ty = V3F}),("i114",Parameter {name = "diffuseUV", ty = V2F}),("j114",Parameter {name = "lightmapUV", ty = V2F}),("k114",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1062467595",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g114 ;\nin vec3 h114 ;\nin vec2 i114 ;\nin vec2 j114 ;\nin vec4 k114 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i114;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g114 ).x,( g114 ).y,( g114 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1062467595 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1062467595,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u118",Parameter {name = "position", ty = V3F}),("v118",Parameter {name = "normal", ty = V3F}),("w118",Parameter {name = "diffuseUV", ty = V2F}),("x118",Parameter {name = "lightmapUV", ty = V2F}),("y118",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u118 ;\nin vec3 v118 ;\nin vec2 w118 ;\nin vec2 x118 ;\nin vec4 y118 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = x118;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u118 ).x,( u118 ).y,( u118 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2024854890",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a123",Parameter {name = "position", ty = V3F}),("b123",Parameter {name = "normal", ty = V3F}),("c123",Parameter {name = "diffuseUV", ty = V2F}),("d123",Parameter {name = "lightmapUV", ty = V2F}),("e123",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2024854890",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a123 ;\nin vec3 b123 ;\nin vec2 c123 ;\nin vec2 d123 ;\nin vec4 e123 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c123;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a123 ).x,( a123 ).y,( a123 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2024854890 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2024854890,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o127",Parameter {name = "position", ty = V3F}),("p127",Parameter {name = "normal", ty = V3F}),("q127",Parameter {name = "diffuseUV", ty = V2F}),("r127",Parameter {name = "lightmapUV", ty = V2F}),("s127",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o127 ;\nin vec3 p127 ;\nin vec2 q127 ;\nin vec2 r127 ;\nin vec4 s127 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = r127;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o127 ).x,( o127 ).y,( o127 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1284708166",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u131",Parameter {name = "position", ty = V3F}),("v131",Parameter {name = "normal", ty = V3F}),("w131",Parameter {name = "diffuseUV", ty = V2F}),("x131",Parameter {name = "lightmapUV", ty = V2F}),("y131",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1284708166",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u131 ;\nin vec3 v131 ;\nin vec2 w131 ;\nin vec2 x131 ;\nin vec4 y131 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = w131;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u131 ).x,( u131 ).y,( u131 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1284708166 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1284708166,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i136",Parameter {name = "position", ty = V3F}),("j136",Parameter {name = "normal", ty = V3F}),("k136",Parameter {name = "diffuseUV", ty = V2F}),("l136",Parameter {name = "lightmapUV", ty = V2F}),("m136",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i136 ;\nin vec3 j136 ;\nin vec2 k136 ;\nin vec2 l136 ;\nin vec4 m136 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = l136;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i136 ).x,( i136 ).y,( i136 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2432583247",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o140",Parameter {name = "position", ty = V3F}),("p140",Parameter {name = "normal", ty = V3F}),("q140",Parameter {name = "diffuseUV", ty = V2F}),("r140",Parameter {name = "lightmapUV", ty = V2F}),("s140",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2432583247",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o140 ;\nin vec3 p140 ;\nin vec2 q140 ;\nin vec2 r140 ;\nin vec4 s140 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = q140;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o140 ).x,( o140 ).y,( o140 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2432583247 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2432583247,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c145",Parameter {name = "position", ty = V3F}),("d145",Parameter {name = "normal", ty = V3F}),("e145",Parameter {name = "diffuseUV", ty = V2F}),("f145",Parameter {name = "lightmapUV", ty = V2F}),("g145",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c145 ;\nin vec3 d145 ;\nin vec2 e145 ;\nin vec2 f145 ;\nin vec4 g145 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = f145;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c145 ).x,( c145 ).y,( c145 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1002517541",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i149",Parameter {name = "position", ty = V3F}),("j149",Parameter {name = "normal", ty = V3F}),("k149",Parameter {name = "diffuseUV", ty = V2F}),("l149",Parameter {name = "lightmapUV", ty = V2F}),("m149",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1002517541",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i149 ;\nin vec3 j149 ;\nin vec2 k149 ;\nin vec2 l149 ;\nin vec4 m149 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k149;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i149 ).x,( i149 ).y,( i149 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1002517541 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1002517541,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a154",Parameter {name = "color", ty = V4F}),("w153",Parameter {name = "position", ty = V3F}),("x153",Parameter {name = "normal", ty = V3F}),("y153",Parameter {name = "diffuseUV", ty = V2F}),("z153",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w153 ;\nin vec3 x153 ;\nin vec2 y153 ;\nin vec2 z153 ;\nin vec4 a154 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = z153;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w153 ).x,( w153 ).y,( w153 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2639119078",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c158",Parameter {name = "position", ty = V3F}),("d158",Parameter {name = "normal", ty = V3F}),("e158",Parameter {name = "diffuseUV", ty = V2F}),("f158",Parameter {name = "lightmapUV", ty = V2F}),("g158",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2639119078",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c158 ;\nin vec3 d158 ;\nin vec2 e158 ;\nin vec2 f158 ;\nin vec4 g158 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e158;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c158 ).x,( c158 ).y,( c158 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2639119078 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2639119078,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q162",Parameter {name = "position", ty = V3F}),("r162",Parameter {name = "normal", ty = V3F}),("s162",Parameter {name = "diffuseUV", ty = V2F}),("t162",Parameter {name = "lightmapUV", ty = V2F}),("u162",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q162 ;\nin vec3 r162 ;\nin vec2 s162 ;\nin vec2 t162 ;\nin vec4 u162 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = t162;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q162 ).x,( q162 ).y,( q162 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3479185666",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a167",Parameter {name = "color", ty = V4F}),("w166",Parameter {name = "position", ty = V3F}),("x166",Parameter {name = "normal", ty = V3F}),("y166",Parameter {name = "diffuseUV", ty = V2F}),("z166",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("Tex_3479185666",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w166 ;\nin vec3 x166 ;\nin vec2 y166 ;\nin vec2 z166 ;\nin vec4 a167 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y166;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w166 ).x,( w166 ).y,( w166 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3479185666 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3479185666,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k171",Parameter {name = "position", ty = V3F}),("l171",Parameter {name = "normal", ty = V3F}),("m171",Parameter {name = "diffuseUV", ty = V2F}),("n171",Parameter {name = "lightmapUV", ty = V2F}),("o171",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k171 ;\nin vec3 l171 ;\nin vec2 m171 ;\nin vec2 n171 ;\nin vec4 o171 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = n171;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k171 ).x,( k171 ).y,( k171 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3448884269",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q175",Parameter {name = "position", ty = V3F}),("r175",Parameter {name = "normal", ty = V3F}),("s175",Parameter {name = "diffuseUV", ty = V2F}),("t175",Parameter {name = "lightmapUV", ty = V2F}),("u175",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3448884269",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q175 ;\nin vec3 r175 ;\nin vec2 s175 ;\nin vec2 t175 ;\nin vec4 u175 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s175;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q175 ).x,( q175 ).y,( q175 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3448884269 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3448884269,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e180",Parameter {name = "position", ty = V3F}),("f180",Parameter {name = "normal", ty = V3F}),("g180",Parameter {name = "diffuseUV", ty = V2F}),("h180",Parameter {name = "lightmapUV", ty = V2F}),("i180",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e180 ;\nin vec3 f180 ;\nin vec2 g180 ;\nin vec2 h180 ;\nin vec4 i180 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = h180;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e180 ).x,( e180 ).y,( e180 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1201212243",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k184",Parameter {name = "position", ty = V3F}),("l184",Parameter {name = "normal", ty = V3F}),("m184",Parameter {name = "diffuseUV", ty = V2F}),("n184",Parameter {name = "lightmapUV", ty = V2F}),("o184",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1201212243",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k184 ;\nin vec3 l184 ;\nin vec2 m184 ;\nin vec2 n184 ;\nin vec4 o184 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m184;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k184 ).x,( k184 ).y,( k184 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1201212243 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1201212243,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a189",Parameter {name = "diffuseUV", ty = V2F}),("b189",Parameter {name = "lightmapUV", ty = V2F}),("c189",Parameter {name = "color", ty = V4F}),("y188",Parameter {name = "position", ty = V3F}),("z188",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y188 ;\nin vec3 z188 ;\nin vec2 a189 ;\nin vec2 b189 ;\nin vec4 c189 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = b189;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y188 ).x,( y188 ).y,( y188 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3389727963",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e193",Parameter {name = "position", ty = V3F}),("f193",Parameter {name = "normal", ty = V3F}),("g193",Parameter {name = "diffuseUV", ty = V2F}),("h193",Parameter {name = "lightmapUV", ty = V2F}),("i193",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3389727963",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e193 ;\nin vec3 f193 ;\nin vec2 g193 ;\nin vec2 h193 ;\nin vec4 i193 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g193;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e193 ).x,( e193 ).y,( e193 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3389727963 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3389727963,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s197",Parameter {name = "position", ty = V3F}),("t197",Parameter {name = "normal", ty = V3F}),("u197",Parameter {name = "diffuseUV", ty = V2F}),("v197",Parameter {name = "lightmapUV", ty = V2F}),("w197",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s197 ;\nin vec3 t197 ;\nin vec2 u197 ;\nin vec2 v197 ;\nin vec4 w197 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = v197;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s197 ).x,( s197 ).y,( s197 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3836020895",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a202",Parameter {name = "diffuseUV", ty = V2F}),("b202",Parameter {name = "lightmapUV", ty = V2F}),("c202",Parameter {name = "color", ty = V4F}),("y201",Parameter {name = "position", ty = V3F}),("z201",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("Tex_3836020895",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y201 ;\nin vec3 z201 ;\nin vec2 a202 ;\nin vec2 b202 ;\nin vec4 c202 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a202;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y201 ).x,( y201 ).y,( y201 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3836020895 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3836020895,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m206",Parameter {name = "position", ty = V3F}),("n206",Parameter {name = "normal", ty = V3F}),("o206",Parameter {name = "diffuseUV", ty = V2F}),("p206",Parameter {name = "lightmapUV", ty = V2F}),("q206",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m206 ;\nin vec3 n206 ;\nin vec2 o206 ;\nin vec2 p206 ;\nin vec4 q206 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = p206;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m206 ).x,( m206 ).y,( m206 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_209322640",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s210",Parameter {name = "position", ty = V3F}),("t210",Parameter {name = "normal", ty = V3F}),("u210",Parameter {name = "diffuseUV", ty = V2F}),("v210",Parameter {name = "lightmapUV", ty = V2F}),("w210",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_209322640",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s210 ;\nin vec3 t210 ;\nin vec2 u210 ;\nin vec2 v210 ;\nin vec4 w210 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u210;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s210 ).x,( s210 ).y,( s210 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_209322640 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_209322640,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g215",Parameter {name = "position", ty = V3F}),("h215",Parameter {name = "normal", ty = V3F}),("i215",Parameter {name = "diffuseUV", ty = V2F}),("j215",Parameter {name = "lightmapUV", ty = V2F}),("k215",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g215 ;\nin vec3 h215 ;\nin vec2 i215 ;\nin vec2 j215 ;\nin vec4 k215 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = j215;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g215 ).x,( g215 ).y,( g215 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2893650486",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m219",Parameter {name = "position", ty = V3F}),("n219",Parameter {name = "normal", ty = V3F}),("o219",Parameter {name = "diffuseUV", ty = V2F}),("p219",Parameter {name = "lightmapUV", ty = V2F}),("q219",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2893650486",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m219 ;\nin vec3 n219 ;\nin vec2 o219 ;\nin vec2 p219 ;\nin vec4 q219 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o219;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m219 ).x,( m219 ).y,( m219 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2893650486 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2893650486,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a224",Parameter {name = "position", ty = V3F}),("b224",Parameter {name = "normal", ty = V3F}),("c224",Parameter {name = "diffuseUV", ty = V2F}),("d224",Parameter {name = "lightmapUV", ty = V2F}),("e224",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a224 ;\nin vec3 b224 ;\nin vec2 c224 ;\nin vec2 d224 ;\nin vec4 e224 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = d224;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a224 ).x,( a224 ).y,( a224 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3814342582",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g228",Parameter {name = "position", ty = V3F}),("h228",Parameter {name = "normal", ty = V3F}),("i228",Parameter {name = "diffuseUV", ty = V2F}),("j228",Parameter {name = "lightmapUV", ty = V2F}),("k228",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3814342582",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g228 ;\nin vec3 h228 ;\nin vec2 i228 ;\nin vec2 j228 ;\nin vec4 k228 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i228;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g228 ).x,( g228 ).y,( g228 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3814342582 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3814342582,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u232",Parameter {name = "position", ty = V3F}),("v232",Parameter {name = "normal", ty = V3F}),("w232",Parameter {name = "diffuseUV", ty = V2F}),("x232",Parameter {name = "lightmapUV", ty = V2F}),("y232",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u232 ;\nin vec3 v232 ;\nin vec2 w232 ;\nin vec2 x232 ;\nin vec4 y232 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = x232;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u232 ).x,( u232 ).y,( u232 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_4189195777",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a237",Parameter {name = "position", ty = V3F}),("b237",Parameter {name = "normal", ty = V3F}),("c237",Parameter {name = "diffuseUV", ty = V2F}),("d237",Parameter {name = "lightmapUV", ty = V2F}),("e237",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_4189195777",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a237 ;\nin vec3 b237 ;\nin vec2 c237 ;\nin vec2 d237 ;\nin vec4 e237 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c237;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a237 ).x,( a237 ).y,( a237 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_4189195777 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_4189195777,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o241",Parameter {name = "position", ty = V3F}),("p241",Parameter {name = "normal", ty = V3F}),("q241",Parameter {name = "diffuseUV", ty = V2F}),("r241",Parameter {name = "lightmapUV", ty = V2F}),("s241",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o241 ;\nin vec3 p241 ;\nin vec2 q241 ;\nin vec2 r241 ;\nin vec4 s241 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = r241;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o241 ).x,( o241 ).y,( o241 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2239853403",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u245",Parameter {name = "position", ty = V3F}),("v245",Parameter {name = "normal", ty = V3F}),("w245",Parameter {name = "diffuseUV", ty = V2F}),("x245",Parameter {name = "lightmapUV", ty = V2F}),("y245",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2239853403",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u245 ;\nin vec3 v245 ;\nin vec2 w245 ;\nin vec2 x245 ;\nin vec4 y245 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = w245;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u245 ).x,( u245 ).y,( u245 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2239853403 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2239853403,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i250",Parameter {name = "position", ty = V3F}),("j250",Parameter {name = "normal", ty = V3F}),("k250",Parameter {name = "diffuseUV", ty = V2F}),("l250",Parameter {name = "lightmapUV", ty = V2F}),("m250",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i250 ;\nin vec3 j250 ;\nin vec2 k250 ;\nin vec2 l250 ;\nin vec4 m250 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = l250;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i250 ).x,( i250 ).y,( i250 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2367525081",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o254",Parameter {name = "position", ty = V3F}),("p254",Parameter {name = "normal", ty = V3F}),("q254",Parameter {name = "diffuseUV", ty = V2F}),("r254",Parameter {name = "lightmapUV", ty = V2F}),("s254",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2367525081",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o254 ;\nin vec3 p254 ;\nin vec2 q254 ;\nin vec2 r254 ;\nin vec4 s254 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = q254;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o254 ).x,( o254 ).y,( o254 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2367525081 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2367525081,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c259",Parameter {name = "position", ty = V3F}),("d259",Parameter {name = "normal", ty = V3F}),("e259",Parameter {name = "diffuseUV", ty = V2F}),("f259",Parameter {name = "lightmapUV", ty = V2F}),("g259",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c259 ;\nin vec3 d259 ;\nin vec2 e259 ;\nin vec2 f259 ;\nin vec4 g259 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = f259;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c259 ).x,( c259 ).y,( c259 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2523116863",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i263",Parameter {name = "position", ty = V3F}),("j263",Parameter {name = "normal", ty = V3F}),("k263",Parameter {name = "diffuseUV", ty = V2F}),("l263",Parameter {name = "lightmapUV", ty = V2F}),("m263",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2523116863",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i263 ;\nin vec3 j263 ;\nin vec2 k263 ;\nin vec2 l263 ;\nin vec4 m263 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k263;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i263 ).x,( i263 ).y,( i263 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2523116863 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2523116863,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a268",Parameter {name = "color", ty = V4F}),("w267",Parameter {name = "position", ty = V3F}),("x267",Parameter {name = "normal", ty = V3F}),("y267",Parameter {name = "diffuseUV", ty = V2F}),("z267",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w267 ;\nin vec3 x267 ;\nin vec2 y267 ;\nin vec2 z267 ;\nin vec4 a268 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = z267;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w267 ).x,( w267 ).y,( w267 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2512757607",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c272",Parameter {name = "position", ty = V3F}),("d272",Parameter {name = "normal", ty = V3F}),("e272",Parameter {name = "diffuseUV", ty = V2F}),("f272",Parameter {name = "lightmapUV", ty = V2F}),("g272",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2512757607",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c272 ;\nin vec3 d272 ;\nin vec2 e272 ;\nin vec2 f272 ;\nin vec4 g272 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e272;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c272 ).x,( c272 ).y,( c272 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2512757607 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2512757607,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q276",Parameter {name = "position", ty = V3F}),("r276",Parameter {name = "normal", ty = V3F}),("s276",Parameter {name = "diffuseUV", ty = V2F}),("t276",Parameter {name = "lightmapUV", ty = V2F}),("u276",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q276 ;\nin vec3 r276 ;\nin vec2 s276 ;\nin vec2 t276 ;\nin vec4 u276 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = t276;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q276 ).x,( q276 ).y,( q276 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_4289279309",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a281",Parameter {name = "color", ty = V4F}),("w280",Parameter {name = "position", ty = V3F}),("x280",Parameter {name = "normal", ty = V3F}),("y280",Parameter {name = "diffuseUV", ty = V2F}),("z280",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("Tex_4289279309",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w280 ;\nin vec3 x280 ;\nin vec2 y280 ;\nin vec2 z280 ;\nin vec4 a281 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y280;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w280 ).x,( w280 ).y,( w280 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_4289279309 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_4289279309,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k285",Parameter {name = "position", ty = V3F}),("l285",Parameter {name = "normal", ty = V3F}),("m285",Parameter {name = "diffuseUV", ty = V2F}),("n285",Parameter {name = "lightmapUV", ty = V2F}),("o285",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k285 ;\nin vec3 l285 ;\nin vec2 m285 ;\nin vec2 n285 ;\nin vec4 o285 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = n285;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k285 ).x,( k285 ).y,( k285 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2525124732",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q289",Parameter {name = "position", ty = V3F}),("r289",Parameter {name = "normal", ty = V3F}),("s289",Parameter {name = "diffuseUV", ty = V2F}),("t289",Parameter {name = "lightmapUV", ty = V2F}),("u289",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2525124732",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q289 ;\nin vec3 r289 ;\nin vec2 s289 ;\nin vec2 t289 ;\nin vec4 u289 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s289;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q289 ).x,( q289 ).y,( q289 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2525124732 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2525124732,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e294",Parameter {name = "position", ty = V3F}),("f294",Parameter {name = "normal", ty = V3F}),("g294",Parameter {name = "diffuseUV", ty = V2F}),("h294",Parameter {name = "lightmapUV", ty = V2F}),("i294",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e294 ;\nin vec3 f294 ;\nin vec2 g294 ;\nin vec2 h294 ;\nin vec4 i294 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = h294;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e294 ).x,( e294 ).y,( e294 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3071107621",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k298",Parameter {name = "position", ty = V3F}),("l298",Parameter {name = "normal", ty = V3F}),("m298",Parameter {name = "diffuseUV", ty = V2F}),("n298",Parameter {name = "lightmapUV", ty = V2F}),("o298",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3071107621",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k298 ;\nin vec3 l298 ;\nin vec2 m298 ;\nin vec2 n298 ;\nin vec4 o298 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m298;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k298 ).x,( k298 ).y,( k298 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3071107621 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3071107621,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a303",Parameter {name = "diffuseUV", ty = V2F}),("b303",Parameter {name = "lightmapUV", ty = V2F}),("c303",Parameter {name = "color", ty = V4F}),("y302",Parameter {name = "position", ty = V3F}),("z302",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y302 ;\nin vec3 z302 ;\nin vec2 a303 ;\nin vec2 b303 ;\nin vec4 c303 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = b303;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y302 ).x,( y302 ).y,( y302 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3921745736",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e307",Parameter {name = "position", ty = V3F}),("f307",Parameter {name = "normal", ty = V3F}),("g307",Parameter {name = "diffuseUV", ty = V2F}),("h307",Parameter {name = "lightmapUV", ty = V2F}),("i307",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3921745736",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e307 ;\nin vec3 f307 ;\nin vec2 g307 ;\nin vec2 h307 ;\nin vec4 i307 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g307;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e307 ).x,( e307 ).y,( e307 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3921745736 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3921745736,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s311",Parameter {name = "position", ty = V3F}),("t311",Parameter {name = "normal", ty = V3F}),("u311",Parameter {name = "diffuseUV", ty = V2F}),("v311",Parameter {name = "lightmapUV", ty = V2F}),("w311",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s311 ;\nin vec3 t311 ;\nin vec2 u311 ;\nin vec2 v311 ;\nin vec4 w311 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = v311;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s311 ).x,( s311 ).y,( s311 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3647563961",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a316",Parameter {name = "diffuseUV", ty = V2F}),("b316",Parameter {name = "lightmapUV", ty = V2F}),("c316",Parameter {name = "color", ty = V4F}),("y315",Parameter {name = "position", ty = V3F}),("z315",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("Tex_3647563961",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y315 ;\nin vec3 z315 ;\nin vec2 a316 ;\nin vec2 b316 ;\nin vec4 c316 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a316;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y315 ).x,( y315 ).y,( y315 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3647563961 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3647563961,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m320",Parameter {name = "position", ty = V3F}),("n320",Parameter {name = "normal", ty = V3F}),("o320",Parameter {name = "diffuseUV", ty = V2F}),("p320",Parameter {name = "lightmapUV", ty = V2F}),("q320",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m320 ;\nin vec3 n320 ;\nin vec2 o320 ;\nin vec2 p320 ;\nin vec4 q320 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = p320;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m320 ).x,( m320 ).y,( m320 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3593923076",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s324",Parameter {name = "position", ty = V3F}),("t324",Parameter {name = "normal", ty = V3F}),("u324",Parameter {name = "diffuseUV", ty = V2F}),("v324",Parameter {name = "lightmapUV", ty = V2F}),("w324",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3593923076",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s324 ;\nin vec3 t324 ;\nin vec2 u324 ;\nin vec2 v324 ;\nin vec4 w324 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u324;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s324 ).x,( s324 ).y,( s324 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3593923076 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3593923076,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g329",Parameter {name = "position", ty = V3F}),("h329",Parameter {name = "normal", ty = V3F}),("i329",Parameter {name = "diffuseUV", ty = V2F}),("j329",Parameter {name = "lightmapUV", ty = V2F}),("k329",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g329 ;\nin vec3 h329 ;\nin vec2 i329 ;\nin vec2 j329 ;\nin vec4 k329 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = j329;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g329 ).x,( g329 ).y,( g329 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1435187472",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m333",Parameter {name = "position", ty = V3F}),("n333",Parameter {name = "normal", ty = V3F}),("o333",Parameter {name = "diffuseUV", ty = V2F}),("p333",Parameter {name = "lightmapUV", ty = V2F}),("q333",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1435187472",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m333 ;\nin vec3 n333 ;\nin vec2 o333 ;\nin vec2 p333 ;\nin vec4 q333 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o333;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m333 ).x,( m333 ).y,( m333 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1435187472 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1435187472,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a338",Parameter {name = "position", ty = V3F}),("b338",Parameter {name = "normal", ty = V3F}),("c338",Parameter {name = "diffuseUV", ty = V2F}),("d338",Parameter {name = "lightmapUV", ty = V2F}),("e338",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a338 ;\nin vec3 b338 ;\nin vec2 c338 ;\nin vec2 d338 ;\nin vec4 e338 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = d338;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a338 ).x,( a338 ).y,( a338 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1318715778",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g342",Parameter {name = "position", ty = V3F}),("h342",Parameter {name = "normal", ty = V3F}),("i342",Parameter {name = "diffuseUV", ty = V2F}),("j342",Parameter {name = "lightmapUV", ty = V2F}),("k342",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1318715778",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g342 ;\nin vec3 h342 ;\nin vec2 i342 ;\nin vec2 j342 ;\nin vec4 k342 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i342;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g342 ).x,( g342 ).y,( g342 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1318715778 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1318715778,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u346",Parameter {name = "position", ty = V3F}),("v346",Parameter {name = "normal", ty = V3F}),("w346",Parameter {name = "diffuseUV", ty = V2F}),("x346",Parameter {name = "lightmapUV", ty = V2F}),("y346",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u346 ;\nin vec3 v346 ;\nin vec2 w346 ;\nin vec2 x346 ;\nin vec4 y346 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = x346;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u346 ).x,( u346 ).y,( u346 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_442868841",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a351",Parameter {name = "position", ty = V3F}),("b351",Parameter {name = "normal", ty = V3F}),("c351",Parameter {name = "diffuseUV", ty = V2F}),("d351",Parameter {name = "lightmapUV", ty = V2F}),("e351",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_442868841",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a351 ;\nin vec3 b351 ;\nin vec2 c351 ;\nin vec2 d351 ;\nin vec4 e351 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c351;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a351 ).x,( a351 ).y,( a351 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_442868841 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_442868841,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o355",Parameter {name = "position", ty = V3F}),("p355",Parameter {name = "normal", ty = V3F}),("q355",Parameter {name = "diffuseUV", ty = V2F}),("r355",Parameter {name = "lightmapUV", ty = V2F}),("s355",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o355 ;\nin vec3 p355 ;\nin vec2 q355 ;\nin vec2 r355 ;\nin vec4 s355 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = r355;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o355 ).x,( o355 ).y,( o355 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2289735512",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u359",Parameter {name = "position", ty = V3F}),("v359",Parameter {name = "normal", ty = V3F}),("w359",Parameter {name = "diffuseUV", ty = V2F}),("x359",Parameter {name = "lightmapUV", ty = V2F}),("y359",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2289735512",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u359 ;\nin vec3 v359 ;\nin vec2 w359 ;\nin vec2 x359 ;\nin vec4 y359 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = w359;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u359 ).x,( u359 ).y,( u359 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2289735512 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2289735512,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i364",Parameter {name = "position", ty = V3F}),("j364",Parameter {name = "normal", ty = V3F}),("k364",Parameter {name = "diffuseUV", ty = V2F}),("l364",Parameter {name = "lightmapUV", ty = V2F}),("m364",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i364 ;\nin vec3 j364 ;\nin vec2 k364 ;\nin vec2 l364 ;\nin vec4 m364 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = l364;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i364 ).x,( i364 ).y,( i364 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3939430064",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o368",Parameter {name = "position", ty = V3F}),("p368",Parameter {name = "normal", ty = V3F}),("q368",Parameter {name = "diffuseUV", ty = V2F}),("r368",Parameter {name = "lightmapUV", ty = V2F}),("s368",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3939430064",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o368 ;\nin vec3 p368 ;\nin vec2 q368 ;\nin vec2 r368 ;\nin vec4 s368 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = q368;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o368 ).x,( o368 ).y,( o368 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3939430064 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3939430064,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c373",Parameter {name = "position", ty = V3F}),("d373",Parameter {name = "normal", ty = V3F}),("e373",Parameter {name = "diffuseUV", ty = V2F}),("f373",Parameter {name = "lightmapUV", ty = V2F}),("g373",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c373 ;\nin vec3 d373 ;\nin vec2 e373 ;\nin vec2 f373 ;\nin vec4 g373 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = f373;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c373 ).x,( c373 ).y,( c373 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3012001075",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i377",Parameter {name = "position", ty = V3F}),("j377",Parameter {name = "normal", ty = V3F}),("k377",Parameter {name = "diffuseUV", ty = V2F}),("l377",Parameter {name = "lightmapUV", ty = V2F}),("m377",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3012001075",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i377 ;\nin vec3 j377 ;\nin vec2 k377 ;\nin vec2 l377 ;\nin vec4 m377 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k377;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i377 ).x,( i377 ).y,( i377 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3012001075 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3012001075,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a382",Parameter {name = "color", ty = V4F}),("w381",Parameter {name = "position", ty = V3F}),("x381",Parameter {name = "normal", ty = V3F}),("y381",Parameter {name = "diffuseUV", ty = V2F}),("z381",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w381 ;\nin vec3 x381 ;\nin vec2 y381 ;\nin vec2 z381 ;\nin vec4 a382 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = z381;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w381 ).x,( w381 ).y,( w381 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3768122504",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c386",Parameter {name = "position", ty = V3F}),("d386",Parameter {name = "normal", ty = V3F}),("e386",Parameter {name = "diffuseUV", ty = V2F}),("f386",Parameter {name = "lightmapUV", ty = V2F}),("g386",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3768122504",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c386 ;\nin vec3 d386 ;\nin vec2 e386 ;\nin vec2 f386 ;\nin vec4 g386 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e386;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c386 ).x,( c386 ).y,( c386 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3768122504 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3768122504,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q390",Parameter {name = "position", ty = V3F}),("r390",Parameter {name = "normal", ty = V3F}),("s390",Parameter {name = "diffuseUV", ty = V2F}),("t390",Parameter {name = "lightmapUV", ty = V2F}),("u390",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q390 ;\nin vec3 r390 ;\nin vec2 s390 ;\nin vec2 t390 ;\nin vec4 u390 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = t390;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q390 ).x,( q390 ).y,( q390 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2634868983",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a395",Parameter {name = "color", ty = V4F}),("w394",Parameter {name = "position", ty = V3F}),("x394",Parameter {name = "normal", ty = V3F}),("y394",Parameter {name = "diffuseUV", ty = V2F}),("z394",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("Tex_2634868983",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w394 ;\nin vec3 x394 ;\nin vec2 y394 ;\nin vec2 z394 ;\nin vec4 a395 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y394;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w394 ).x,( w394 ).y,( w394 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2634868983 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2634868983,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k399",Parameter {name = "position", ty = V3F}),("l399",Parameter {name = "normal", ty = V3F}),("m399",Parameter {name = "diffuseUV", ty = V2F}),("n399",Parameter {name = "lightmapUV", ty = V2F}),("o399",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k399 ;\nin vec3 l399 ;\nin vec2 m399 ;\nin vec2 n399 ;\nin vec4 o399 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = n399;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k399 ).x,( k399 ).y,( k399 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3269743316",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q403",Parameter {name = "position", ty = V3F}),("r403",Parameter {name = "normal", ty = V3F}),("s403",Parameter {name = "diffuseUV", ty = V2F}),("t403",Parameter {name = "lightmapUV", ty = V2F}),("u403",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3269743316",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q403 ;\nin vec3 r403 ;\nin vec2 s403 ;\nin vec2 t403 ;\nin vec4 u403 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s403;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q403 ).x,( q403 ).y,( q403 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3269743316 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3269743316,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e408",Parameter {name = "position", ty = V3F}),("f408",Parameter {name = "normal", ty = V3F}),("g408",Parameter {name = "diffuseUV", ty = V2F}),("h408",Parameter {name = "lightmapUV", ty = V2F}),("i408",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e408 ;\nin vec3 f408 ;\nin vec2 g408 ;\nin vec2 h408 ;\nin vec4 i408 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = h408;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e408 ).x,( e408 ).y,( e408 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3617993418",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k412",Parameter {name = "position", ty = V3F}),("l412",Parameter {name = "normal", ty = V3F}),("m412",Parameter {name = "diffuseUV", ty = V2F}),("n412",Parameter {name = "lightmapUV", ty = V2F}),("o412",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3617993418",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k412 ;\nin vec3 l412 ;\nin vec2 m412 ;\nin vec2 n412 ;\nin vec4 o412 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m412;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k412 ).x,( k412 ).y,( k412 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3617993418 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3617993418,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a417",Parameter {name = "diffuseUV", ty = V2F}),("b417",Parameter {name = "lightmapUV", ty = V2F}),("c417",Parameter {name = "color", ty = V4F}),("y416",Parameter {name = "position", ty = V3F}),("z416",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y416 ;\nin vec3 z416 ;\nin vec2 a417 ;\nin vec2 b417 ;\nin vec4 c417 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = b417;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y416 ).x,( y416 ).y,( y416 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1243894392",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e421",Parameter {name = "position", ty = V3F}),("f421",Parameter {name = "normal", ty = V3F}),("g421",Parameter {name = "diffuseUV", ty = V2F}),("h421",Parameter {name = "lightmapUV", ty = V2F}),("i421",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1243894392",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e421 ;\nin vec3 f421 ;\nin vec2 g421 ;\nin vec2 h421 ;\nin vec4 i421 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g421;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e421 ).x,( e421 ).y,( e421 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1243894392 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1243894392,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s425",Parameter {name = "position", ty = V3F}),("t425",Parameter {name = "normal", ty = V3F}),("u425",Parameter {name = "diffuseUV", ty = V2F}),("v425",Parameter {name = "lightmapUV", ty = V2F}),("w425",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s425 ;\nin vec3 t425 ;\nin vec2 u425 ;\nin vec2 v425 ;\nin vec4 w425 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = v425;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s425 ).x,( s425 ).y,( s425 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2966885788",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a430",Parameter {name = "diffuseUV", ty = V2F}),("b430",Parameter {name = "lightmapUV", ty = V2F}),("c430",Parameter {name = "color", ty = V4F}),("y429",Parameter {name = "position", ty = V3F}),("z429",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("Tex_2966885788",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y429 ;\nin vec3 z429 ;\nin vec2 a430 ;\nin vec2 b430 ;\nin vec4 c430 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a430;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y429 ).x,( y429 ).y,( y429 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2966885788 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2966885788,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m434",Parameter {name = "position", ty = V3F}),("n434",Parameter {name = "normal", ty = V3F}),("o434",Parameter {name = "diffuseUV", ty = V2F}),("p434",Parameter {name = "lightmapUV", ty = V2F}),("q434",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m434 ;\nin vec3 n434 ;\nin vec2 o434 ;\nin vec2 p434 ;\nin vec4 q434 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = p434;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m434 ).x,( m434 ).y,( m434 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1250438154",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s438",Parameter {name = "position", ty = V3F}),("t438",Parameter {name = "normal", ty = V3F}),("u438",Parameter {name = "diffuseUV", ty = V2F}),("v438",Parameter {name = "lightmapUV", ty = V2F}),("w438",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1250438154",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s438 ;\nin vec3 t438 ;\nin vec2 u438 ;\nin vec2 v438 ;\nin vec4 w438 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u438;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s438 ).x,( s438 ).y,( s438 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1250438154 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1250438154,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g443",Parameter {name = "position", ty = V3F}),("h443",Parameter {name = "normal", ty = V3F}),("i443",Parameter {name = "diffuseUV", ty = V2F}),("j443",Parameter {name = "lightmapUV", ty = V2F}),("k443",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g443 ;\nin vec3 h443 ;\nin vec2 i443 ;\nin vec2 j443 ;\nin vec4 k443 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = j443;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g443 ).x,( g443 ).y,( g443 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2490648334",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m447",Parameter {name = "position", ty = V3F}),("n447",Parameter {name = "normal", ty = V3F}),("o447",Parameter {name = "diffuseUV", ty = V2F}),("p447",Parameter {name = "lightmapUV", ty = V2F}),("q447",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2490648334",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m447 ;\nin vec3 n447 ;\nin vec2 o447 ;\nin vec2 p447 ;\nin vec4 q447 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o447;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m447 ).x,( m447 ).y,( m447 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2490648334 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2490648334,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a452",Parameter {name = "position", ty = V3F}),("b452",Parameter {name = "normal", ty = V3F}),("c452",Parameter {name = "diffuseUV", ty = V2F}),("d452",Parameter {name = "lightmapUV", ty = V2F}),("e452",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a452 ;\nin vec3 b452 ;\nin vec2 c452 ;\nin vec2 d452 ;\nin vec4 e452 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = d452;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a452 ).x,( a452 ).y,( a452 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3694494180",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g456",Parameter {name = "position", ty = V3F}),("h456",Parameter {name = "normal", ty = V3F}),("i456",Parameter {name = "diffuseUV", ty = V2F}),("j456",Parameter {name = "lightmapUV", ty = V2F}),("k456",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3694494180",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g456 ;\nin vec3 h456 ;\nin vec2 i456 ;\nin vec2 j456 ;\nin vec4 k456 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i456;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g456 ).x,( g456 ).y,( g456 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3694494180 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3694494180,vv0 ) );\n}\n"}], slots = [Slot {slotName = "missing shader", slotStreams = fromList [("color",V4F),("position",V3F)], slotUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]},Slot {slotName = "textures/gothic_block/demon_block15fx", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3562558025",FTexture2D),("Tex_47037129",FTexture2D),("time",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [2,3,4]},Slot {slotName = "textures/gothic_trim/pitted_rust2_trans", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1910997598",FTexture2D),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [5,6]},Slot {slotName = "textures/gothic_door/skullarch_b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3416962274",FTexture2D),("Tex_4077187607",FTexture2D),("time",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [7,8,9]},Slot {slotName = "textures/gothic_block/blocks11b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_4288602201",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [10,11]},Slot {slotName = "textures/gothic_trim/baseboard09_l2", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3202786139",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [12,13]},Slot {slotName = "textures/gothic_door/skull_door_e", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_4255130505",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [14,15]},Slot {slotName = "textures/gothic_wall/supportborder_blue_b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_564811775",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [16,17]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_mid", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2073154888",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [18,19]},Slot {slotName = "textures/gothic_trim/pitted_rust2", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2099456856",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [20,21]},Slot {slotName = "textures/gothic_floor/metalbridge06", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1581337759",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [22,23]},Slot {slotName = "textures/gothic_trim/metaldemonkillblock", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1062467595",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [24,25]},Slot {slotName = "textures/gothic_door/skullarch_c", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2024854890",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [26,27]},Slot {slotName = "textures/gothic_door/skull_door_a", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1284708166",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [28,29]},Slot {slotName = "textures/gothic_wall/iron01_e", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2432583247",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [30,31]},Slot {slotName = "textures/gothic_trim/baseboard04", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1002517541",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [32,33]},Slot {slotName = "textures/gothic_block/blocks18b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2639119078",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [34,35]},Slot {slotName = "textures/gothic_trim/km_arena1tower4", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3479185666",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [36,37]},Slot {slotName = "textures/gothic_door/skullarch_a", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3448884269",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [38,39]},Slot {slotName = "textures/gothic_door/km_arena1archfinald_bot", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1201212243",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [40,41]},Slot {slotName = "textures/gothic_trim/pitted_rust3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3389727963",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [42,43]},Slot {slotName = "textures/gothic_floor/xstairtop4", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3836020895",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [44,45]},Slot {slotName = "textures/gothic_block/killblock_i", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_209322640",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [46,47]},Slot {slotName = "textures/gothic_trim/metalsupsolid", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2893650486",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [48,49]},Slot {slotName = "textures/gothic_floor/blocks17floor2", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3814342582",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [50,51]},Slot {slotName = "textures/gothic_door/skull_door_c", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_4189195777",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [52,53]},Slot {slotName = "textures/gothic_wall/skull4", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2239853403",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [54,55]},Slot {slotName = "textures/gothic_trim/baseboard09_e", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2367525081",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [56,57]},Slot {slotName = "textures/gothic_block/blocks15", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2523116863",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [58,59]},Slot {slotName = "textures/gothic_trim/baseboard09_o3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2512757607",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [60,61]},Slot {slotName = "textures/gothic_door/skull_door_f", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_4289279309",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [62,63]},Slot {slotName = "textures/gothic_wall/supportborder_blue_c", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2525124732",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [64,65]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_top", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3071107621",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [66,67]},Slot {slotName = "textures/gothic_floor/metalbridge06broke", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3921745736",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [68,69]},Slot {slotName = "textures/gothic_block/killblock", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3647563961",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [70,71]},Slot {slotName = "textures/gothic_trim/metalsupport4b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3593923076",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [72,73]},Slot {slotName = "textures/gothic_door/xian_tourneyarch_inside2", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1435187472",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [74,75]},Slot {slotName = "textures/gothic_door/skull_door_b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1318715778",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [76,77]},Slot {slotName = "textures/gothic_wall/iron01_ntech3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_442868841",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [78,79]},Slot {slotName = "textures/gothic_trim/baseboard09_c3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2289735512",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [80,81]},Slot {slotName = "textures/gothic_block/blocks18c_3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3939430064",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [82,83]},Slot {slotName = "textures/gothic_trim/km_arena1tower4_a", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3012001075",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [84,85]},Slot {slotName = "textures/gothic_door/km_arena1archfinald_mid", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3768122504",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [86,87]},Slot {slotName = "textures/gothic_trim/skullsvertgray02b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2634868983",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [88,89]},Slot {slotName = "textures/gothic_floor/xstepborder3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3269743316",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [90,91]},Slot {slotName = "textures/gothic_block/killblock_i4", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3617993418",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [92,93]},Slot {slotName = "textures/gothic_trim/pitted_rust", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1243894392",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [94,95]},Slot {slotName = "textures/gothic_floor/largerblock3b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2966885788",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [96,97]},Slot {slotName = "textures/gothic_door/skull_door_d", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1250438154",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [98,99]},Slot {slotName = "textures/gothic_wall/slateroofc", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2490648334",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [100,101]},Slot {slotName = "textures/gothic_trim/baseboard09_e2", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3694494180",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [102,103]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 0.0)}],SetProgram 103,SetSamplerUniform "Tex_3694494180" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 50,SetProgram 102,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 50,SetProgram 101,SetSamplerUniform "Tex_2490648334" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 49,SetProgram 100,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 49,SetProgram 99,SetSamplerUniform "Tex_1250438154" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 48,SetProgram 98,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 48,SetProgram 97,SetSamplerUniform "Tex_2966885788" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 47,SetProgram 96,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 47,SetProgram 95,SetSamplerUniform "Tex_1243894392" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 46,SetProgram 94,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 46,SetProgram 93,SetSamplerUniform "Tex_3617993418" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 45,SetProgram 92,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 45,SetProgram 91,SetSamplerUniform "Tex_3269743316" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 44,SetProgram 90,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 44,SetProgram 89,SetSamplerUniform "Tex_2634868983" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 43,SetProgram 88,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 43,SetProgram 87,SetSamplerUniform "Tex_3768122504" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 42,SetProgram 86,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 42,SetProgram 85,SetSamplerUniform "Tex_3012001075" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 41,SetProgram 84,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 41,SetProgram 83,SetSamplerUniform "Tex_3939430064" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 40,SetProgram 82,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 40,SetProgram 81,SetSamplerUniform "Tex_2289735512" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 39,SetProgram 80,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 39,SetProgram 79,SetSamplerUniform "Tex_442868841" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 38,SetProgram 78,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 38,SetProgram 77,SetSamplerUniform "Tex_1318715778" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 37,SetProgram 76,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 37,SetProgram 75,SetSamplerUniform "Tex_1435187472" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 36,SetProgram 74,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 36,SetProgram 73,SetSamplerUniform "Tex_3593923076" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 35,SetProgram 72,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 35,SetProgram 71,SetSamplerUniform "Tex_3647563961" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 34,SetProgram 70,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 34,SetProgram 69,SetSamplerUniform "Tex_3921745736" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 33,SetProgram 68,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 33,SetProgram 67,SetSamplerUniform "Tex_3071107621" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 32,SetProgram 66,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 32,SetProgram 65,SetSamplerUniform "Tex_2525124732" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 31,SetProgram 64,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 31,SetProgram 63,SetSamplerUniform "Tex_4289279309" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 30,SetProgram 62,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 30,SetProgram 61,SetSamplerUniform "Tex_2512757607" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 29,SetProgram 60,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 29,SetProgram 59,SetSamplerUniform "Tex_2523116863" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 28,SetProgram 58,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 28,SetProgram 57,SetSamplerUniform "Tex_2367525081" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 27,SetProgram 56,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 27,SetProgram 55,SetSamplerUniform "Tex_2239853403" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 26,SetProgram 54,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 26,SetProgram 53,SetSamplerUniform "Tex_4189195777" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 25,SetProgram 52,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 25,SetProgram 51,SetSamplerUniform "Tex_3814342582" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 24,SetProgram 50,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 24,SetProgram 49,SetSamplerUniform "Tex_2893650486" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 23,SetProgram 48,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 23,SetProgram 47,SetSamplerUniform "Tex_209322640" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 22,SetProgram 46,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 22,SetProgram 45,SetSamplerUniform "Tex_3836020895" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 21,SetProgram 44,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 21,SetProgram 43,SetSamplerUniform "Tex_3389727963" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 20,SetProgram 42,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 20,SetProgram 41,SetSamplerUniform "Tex_1201212243" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 19,SetProgram 40,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 19,SetProgram 39,SetSamplerUniform "Tex_3448884269" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 18,SetProgram 38,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 18,SetProgram 37,SetSamplerUniform "Tex_3479185666" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 17,SetProgram 36,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 17,SetProgram 35,SetSamplerUniform "Tex_2639119078" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 16,SetProgram 34,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 16,SetProgram 33,SetSamplerUniform "Tex_1002517541" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 15,SetProgram 32,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 15,SetProgram 31,SetSamplerUniform "Tex_2432583247" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 14,SetProgram 30,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 14,SetProgram 29,SetSamplerUniform "Tex_1284708166" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 13,SetProgram 28,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 13,SetProgram 27,SetSamplerUniform "Tex_2024854890" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 12,SetProgram 26,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 12,SetProgram 25,SetSamplerUniform "Tex_1062467595" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 11,SetProgram 24,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 11,SetProgram 23,SetSamplerUniform "Tex_1581337759" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 10,SetProgram 22,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 10,SetProgram 21,SetSamplerUniform "Tex_2099456856" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 9,SetProgram 20,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 9,SetProgram 19,SetSamplerUniform "Tex_2073154888" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 8,SetProgram 18,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 8,SetProgram 17,SetSamplerUniform "Tex_564811775" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 7,SetProgram 16,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 7,SetProgram 15,SetSamplerUniform "Tex_4255130505" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 6,SetProgram 14,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 6,SetProgram 13,SetSamplerUniform "Tex_3202786139" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 5,SetProgram 12,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 5,SetProgram 11,SetSamplerUniform "Tex_4288602201" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 4,SetProgram 10,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 4,SetProgram 9,SetSamplerUniform "Tex_3416962274" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 3,SetProgram 8,SetSamplerUniform "Tex_4077187607" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 3,SetProgram 7,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 3,SetProgram 6,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 2,SetProgram 5,SetSamplerUniform "Tex_1910997598" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 2,SetProgram 4,SetSamplerUniform "Tex_47037129" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 3,SetSamplerUniform "Tex_3562558025" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 2,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = OneMinusDstAlpha, alphaFSrc = DstColor, alphaFDst = OneMinusDstAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = Min, colorFSrc = One, colorFDst = One, alphaFSrc = One, alphaFDst = One, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 1.0) NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("n2",Parameter {name = "position", ty = V3F}),("o2",Parameter {name = "color", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 n2 ;\nin vec4 o2 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = o2;\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( n2 ).x,( n2 ).y,( n2 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( ( 1.0 ) - ( ( vv0 ).x ),( 1.0 ) - ( ( vv0 ).y ),( 1.0 ) - ( ( vv0 ).z ),1.0 );\n}\n"},Program {programUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("p5",Parameter {name = "position", ty = V3F}),("q5",Parameter {name = "color", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 p5 ;\nin vec4 q5 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( q5 ).x,( q5 ).y,( q5 ).z,0.5 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( p5 ).x,( p5 ).y,( p5 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a10",Parameter {name = "lightmapUV", ty = V2F}),("b10",Parameter {name = "color", ty = V4F}),("x9",Parameter {name = "position", ty = V3F}),("y9",Parameter {name = "normal", ty = V3F}),("z9",Parameter {name = "diffuseUV", ty = V2F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 x9 ;\nin vec3 y9 ;\nin vec2 z9 ;\nin vec2 a10 ;\nin vec4 b10 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a10;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( x9 ).x,( x9 ).y,( x9 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3562558025",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("j14",Parameter {name = "position", ty = V3F}),("k14",Parameter {name = "normal", ty = V3F}),("l14",Parameter {name = "diffuseUV", ty = V2F}),("m14",Parameter {name = "lightmapUV", ty = V2F}),("n14",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3562558025",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 j14 ;\nin vec3 k14 ;\nin vec2 l14 ;\nin vec2 m14 ;\nin vec4 n14 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = l14;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( j14 ).x,( j14 ).y,( j14 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3562558025 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3562558025,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_47037129",FTexture2D),("time",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("n18",Parameter {name = "position", ty = V3F}),("o18",Parameter {name = "normal", ty = V3F}),("p18",Parameter {name = "diffuseUV", ty = V2F}),("q18",Parameter {name = "lightmapUV", ty = V2F}),("r18",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_47037129",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float time ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 n18 ;\nin vec3 o18 ;\nin vec2 p18 ;\nin vec2 q18 ;\nin vec4 r18 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = ( ( ( p18 ) + ( ( vec2 ( 0.0,1.0 ) ) * ( time ) ) ) + ( ( sin ( vec2 ( ( 6.28 ) * ( ( ( ( ( n18 ).x ) + ( ( n18 ).z ) ) * ( 9.765625e-4 ) ) + ( ( 0.0 ) + ( ( time ) * ( 1.6 ) ) ) ),( 6.28 ) * ( ( ( ( n18 ).y ) * ( 9.765625e-4 ) ) + ( ( 0.0 ) + ( ( time ) * ( 1.6 ) ) ) ) ) ) ) * ( 0.25 ) ) ) * ( vec2 ( 4.0,4.0 ) );\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( n18 ).x,( n18 ).y,( n18 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_47037129 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_47037129,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1910997598",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e25",Parameter {name = "position", ty = V3F}),("f25",Parameter {name = "normal", ty = V3F}),("g25",Parameter {name = "diffuseUV", ty = V2F}),("h25",Parameter {name = "lightmapUV", ty = V2F}),("i25",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1910997598",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e25 ;\nin vec3 f25 ;\nin vec2 g25 ;\nin vec2 h25 ;\nin vec4 i25 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g25;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e25 ).x,( e25 ).y,( e25 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1910997598 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1910997598,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i29",Parameter {name = "position", ty = V3F}),("j29",Parameter {name = "normal", ty = V3F}),("k29",Parameter {name = "diffuseUV", ty = V2F}),("l29",Parameter {name = "lightmapUV", ty = V2F}),("m29",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i29 ;\nin vec3 j29 ;\nin vec2 k29 ;\nin vec2 l29 ;\nin vec4 m29 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = l29;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i29 ).x,( i29 ).y,( i29 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u33",Parameter {name = "position", ty = V3F}),("v33",Parameter {name = "normal", ty = V3F}),("w33",Parameter {name = "diffuseUV", ty = V2F}),("x33",Parameter {name = "lightmapUV", ty = V2F}),("y33",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u33 ;\nin vec3 v33 ;\nin vec2 w33 ;\nin vec2 x33 ;\nin vec4 y33 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = x33;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u33 ).x,( u33 ).y,( u33 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_4077187607",FTexture2D),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g38",Parameter {name = "position", ty = V3F}),("h38",Parameter {name = "normal", ty = V3F}),("i38",Parameter {name = "diffuseUV", ty = V2F}),("j38",Parameter {name = "lightmapUV", ty = V2F}),("k38",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_4077187607",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g38 ;\nin vec3 h38 ;\nin vec2 i38 ;\nin vec2 j38 ;\nin vec4 k38 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i38;\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g38 ).x,( g38 ).y,( g38 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_4077187607 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_4077187607,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3416962274",FTexture2D),("time",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k42",Parameter {name = "position", ty = V3F}),("l42",Parameter {name = "normal", ty = V3F}),("m42",Parameter {name = "diffuseUV", ty = V2F}),("n42",Parameter {name = "lightmapUV", ty = V2F}),("o42",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3416962274",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float time ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k42 ;\nin vec3 l42 ;\nin vec2 m42 ;\nin vec2 n42 ;\nin vec4 o42 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = ( ( ( m42 ) + ( ( vec2 ( 0.0,1.0 ) ) * ( time ) ) ) + ( ( sin ( vec2 ( ( 6.28 ) * ( ( ( ( ( k42 ).x ) + ( ( k42 ).z ) ) * ( 9.765625e-4 ) ) + ( ( 0.0 ) + ( ( time ) * ( 5.6 ) ) ) ),( 6.28 ) * ( ( ( ( k42 ).y ) * ( 9.765625e-4 ) ) + ( ( 0.0 ) + ( ( time ) * ( 5.6 ) ) ) ) ) ) ) * ( 0.25 ) ) ) * ( vec2 ( 1.5,1.5 ) );\nvv1 = vec4 ( 1.0,1.0,1.0,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k42 ).x,( k42 ).y,( k42 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3416962274 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3416962274,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("b49",Parameter {name = "position", ty = V3F}),("c49",Parameter {name = "normal", ty = V3F}),("d49",Parameter {name = "diffuseUV", ty = V2F}),("e49",Parameter {name = "lightmapUV", ty = V2F}),("f49",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 b49 ;\nin vec3 c49 ;\nin vec2 d49 ;\nin vec2 e49 ;\nin vec4 f49 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e49;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( b49 ).x,( b49 ).y,( b49 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_4288602201",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i53",Parameter {name = "position", ty = V3F}),("j53",Parameter {name = "normal", ty = V3F}),("k53",Parameter {name = "diffuseUV", ty = V2F}),("l53",Parameter {name = "lightmapUV", ty = V2F}),("m53",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_4288602201",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i53 ;\nin vec3 j53 ;\nin vec2 k53 ;\nin vec2 l53 ;\nin vec4 m53 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k53;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i53 ).x,( i53 ).y,( i53 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_4288602201 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_4288602201,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a58",Parameter {name = "lightmapUV", ty = V2F}),("b58",Parameter {name = "color", ty = V4F}),("x57",Parameter {name = "position", ty = V3F}),("y57",Parameter {name = "normal", ty = V3F}),("z57",Parameter {name = "diffuseUV", ty = V2F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 x57 ;\nin vec3 y57 ;\nin vec2 z57 ;\nin vec2 a58 ;\nin vec4 b58 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a58;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( x57 ).x,( x57 ).y,( x57 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3202786139",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e62",Parameter {name = "position", ty = V3F}),("f62",Parameter {name = "normal", ty = V3F}),("g62",Parameter {name = "diffuseUV", ty = V2F}),("h62",Parameter {name = "lightmapUV", ty = V2F}),("i62",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3202786139",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e62 ;\nin vec3 f62 ;\nin vec2 g62 ;\nin vec2 h62 ;\nin vec4 i62 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g62;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e62 ).x,( e62 ).y,( e62 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3202786139 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3202786139,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("t66",Parameter {name = "position", ty = V3F}),("u66",Parameter {name = "normal", ty = V3F}),("v66",Parameter {name = "diffuseUV", ty = V2F}),("w66",Parameter {name = "lightmapUV", ty = V2F}),("x66",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 t66 ;\nin vec3 u66 ;\nin vec2 v66 ;\nin vec2 w66 ;\nin vec4 x66 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = w66;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( t66 ).x,( t66 ).y,( t66 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_4255130505",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a71",Parameter {name = "position", ty = V3F}),("b71",Parameter {name = "normal", ty = V3F}),("c71",Parameter {name = "diffuseUV", ty = V2F}),("d71",Parameter {name = "lightmapUV", ty = V2F}),("e71",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_4255130505",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a71 ;\nin vec3 b71 ;\nin vec2 c71 ;\nin vec2 d71 ;\nin vec4 e71 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c71;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a71 ).x,( a71 ).y,( a71 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_4255130505 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_4255130505,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("p75",Parameter {name = "position", ty = V3F}),("q75",Parameter {name = "normal", ty = V3F}),("r75",Parameter {name = "diffuseUV", ty = V2F}),("s75",Parameter {name = "lightmapUV", ty = V2F}),("t75",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 p75 ;\nin vec3 q75 ;\nin vec2 r75 ;\nin vec2 s75 ;\nin vec4 t75 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s75;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( p75 ).x,( p75 ).y,( p75 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_564811775",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a80",Parameter {name = "color", ty = V4F}),("w79",Parameter {name = "position", ty = V3F}),("x79",Parameter {name = "normal", ty = V3F}),("y79",Parameter {name = "diffuseUV", ty = V2F}),("z79",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("Tex_564811775",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w79 ;\nin vec3 x79 ;\nin vec2 y79 ;\nin vec2 z79 ;\nin vec4 a80 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y79;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w79 ).x,( w79 ).y,( w79 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_564811775 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_564811775,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("l84",Parameter {name = "position", ty = V3F}),("m84",Parameter {name = "normal", ty = V3F}),("n84",Parameter {name = "diffuseUV", ty = V2F}),("o84",Parameter {name = "lightmapUV", ty = V2F}),("p84",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 l84 ;\nin vec3 m84 ;\nin vec2 n84 ;\nin vec2 o84 ;\nin vec4 p84 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o84;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( l84 ).x,( l84 ).y,( l84 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2073154888",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s88",Parameter {name = "position", ty = V3F}),("t88",Parameter {name = "normal", ty = V3F}),("u88",Parameter {name = "diffuseUV", ty = V2F}),("v88",Parameter {name = "lightmapUV", ty = V2F}),("w88",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2073154888",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s88 ;\nin vec3 t88 ;\nin vec2 u88 ;\nin vec2 v88 ;\nin vec4 w88 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u88;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s88 ).x,( s88 ).y,( s88 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2073154888 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2073154888,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("h93",Parameter {name = "position", ty = V3F}),("i93",Parameter {name = "normal", ty = V3F}),("j93",Parameter {name = "diffuseUV", ty = V2F}),("k93",Parameter {name = "lightmapUV", ty = V2F}),("l93",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 h93 ;\nin vec3 i93 ;\nin vec2 j93 ;\nin vec2 k93 ;\nin vec4 l93 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k93;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( h93 ).x,( h93 ).y,( h93 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2099456856",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o97",Parameter {name = "position", ty = V3F}),("p97",Parameter {name = "normal", ty = V3F}),("q97",Parameter {name = "diffuseUV", ty = V2F}),("r97",Parameter {name = "lightmapUV", ty = V2F}),("s97",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2099456856",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o97 ;\nin vec3 p97 ;\nin vec2 q97 ;\nin vec2 r97 ;\nin vec4 s97 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = q97;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o97 ).x,( o97 ).y,( o97 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2099456856 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2099456856,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("d102",Parameter {name = "position", ty = V3F}),("e102",Parameter {name = "normal", ty = V3F}),("f102",Parameter {name = "diffuseUV", ty = V2F}),("g102",Parameter {name = "lightmapUV", ty = V2F}),("h102",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 d102 ;\nin vec3 e102 ;\nin vec2 f102 ;\nin vec2 g102 ;\nin vec4 h102 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g102;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( d102 ).x,( d102 ).y,( d102 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1581337759",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k106",Parameter {name = "position", ty = V3F}),("l106",Parameter {name = "normal", ty = V3F}),("m106",Parameter {name = "diffuseUV", ty = V2F}),("n106",Parameter {name = "lightmapUV", ty = V2F}),("o106",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1581337759",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k106 ;\nin vec3 l106 ;\nin vec2 m106 ;\nin vec2 n106 ;\nin vec4 o106 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m106;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k106 ).x,( k106 ).y,( k106 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1581337759 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1581337759,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a111",Parameter {name = "normal", ty = V3F}),("b111",Parameter {name = "diffuseUV", ty = V2F}),("c111",Parameter {name = "lightmapUV", ty = V2F}),("d111",Parameter {name = "color", ty = V4F}),("z110",Parameter {name = "position", ty = V3F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 z110 ;\nin vec3 a111 ;\nin vec2 b111 ;\nin vec2 c111 ;\nin vec4 d111 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c111;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( z110 ).x,( z110 ).y,( z110 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1062467595",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g115",Parameter {name = "position", ty = V3F}),("h115",Parameter {name = "normal", ty = V3F}),("i115",Parameter {name = "diffuseUV", ty = V2F}),("j115",Parameter {name = "lightmapUV", ty = V2F}),("k115",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1062467595",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g115 ;\nin vec3 h115 ;\nin vec2 i115 ;\nin vec2 j115 ;\nin vec4 k115 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i115;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g115 ).x,( g115 ).y,( g115 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1062467595 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1062467595,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("v119",Parameter {name = "position", ty = V3F}),("w119",Parameter {name = "normal", ty = V3F}),("x119",Parameter {name = "diffuseUV", ty = V2F}),("y119",Parameter {name = "lightmapUV", ty = V2F}),("z119",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 v119 ;\nin vec3 w119 ;\nin vec2 x119 ;\nin vec2 y119 ;\nin vec4 z119 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y119;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( v119 ).x,( v119 ).y,( v119 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2024854890",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c124",Parameter {name = "position", ty = V3F}),("d124",Parameter {name = "normal", ty = V3F}),("e124",Parameter {name = "diffuseUV", ty = V2F}),("f124",Parameter {name = "lightmapUV", ty = V2F}),("g124",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2024854890",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c124 ;\nin vec3 d124 ;\nin vec2 e124 ;\nin vec2 f124 ;\nin vec4 g124 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e124;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c124 ).x,( c124 ).y,( c124 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2024854890 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2024854890,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("r128",Parameter {name = "position", ty = V3F}),("s128",Parameter {name = "normal", ty = V3F}),("t128",Parameter {name = "diffuseUV", ty = V2F}),("u128",Parameter {name = "lightmapUV", ty = V2F}),("v128",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 r128 ;\nin vec3 s128 ;\nin vec2 t128 ;\nin vec2 u128 ;\nin vec4 v128 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u128;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( r128 ).x,( r128 ).y,( r128 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1284708166",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a133",Parameter {name = "diffuseUV", ty = V2F}),("b133",Parameter {name = "lightmapUV", ty = V2F}),("c133",Parameter {name = "color", ty = V4F}),("y132",Parameter {name = "position", ty = V3F}),("z132",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("Tex_1284708166",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y132 ;\nin vec3 z132 ;\nin vec2 a133 ;\nin vec2 b133 ;\nin vec4 c133 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a133;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y132 ).x,( y132 ).y,( y132 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1284708166 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1284708166,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("n137",Parameter {name = "position", ty = V3F}),("o137",Parameter {name = "normal", ty = V3F}),("p137",Parameter {name = "diffuseUV", ty = V2F}),("q137",Parameter {name = "lightmapUV", ty = V2F}),("r137",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 n137 ;\nin vec3 o137 ;\nin vec2 p137 ;\nin vec2 q137 ;\nin vec4 r137 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = q137;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( n137 ).x,( n137 ).y,( n137 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2432583247",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u141",Parameter {name = "position", ty = V3F}),("v141",Parameter {name = "normal", ty = V3F}),("w141",Parameter {name = "diffuseUV", ty = V2F}),("x141",Parameter {name = "lightmapUV", ty = V2F}),("y141",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2432583247",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u141 ;\nin vec3 v141 ;\nin vec2 w141 ;\nin vec2 x141 ;\nin vec4 y141 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = w141;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u141 ).x,( u141 ).y,( u141 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2432583247 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2432583247,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("j146",Parameter {name = "position", ty = V3F}),("k146",Parameter {name = "normal", ty = V3F}),("l146",Parameter {name = "diffuseUV", ty = V2F}),("m146",Parameter {name = "lightmapUV", ty = V2F}),("n146",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 j146 ;\nin vec3 k146 ;\nin vec2 l146 ;\nin vec2 m146 ;\nin vec4 n146 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m146;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( j146 ).x,( j146 ).y,( j146 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1002517541",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q150",Parameter {name = "position", ty = V3F}),("r150",Parameter {name = "normal", ty = V3F}),("s150",Parameter {name = "diffuseUV", ty = V2F}),("t150",Parameter {name = "lightmapUV", ty = V2F}),("u150",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1002517541",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q150 ;\nin vec3 r150 ;\nin vec2 s150 ;\nin vec2 t150 ;\nin vec4 u150 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s150;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q150 ).x,( q150 ).y,( q150 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1002517541 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1002517541,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("f155",Parameter {name = "position", ty = V3F}),("g155",Parameter {name = "normal", ty = V3F}),("h155",Parameter {name = "diffuseUV", ty = V2F}),("i155",Parameter {name = "lightmapUV", ty = V2F}),("j155",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 f155 ;\nin vec3 g155 ;\nin vec2 h155 ;\nin vec2 i155 ;\nin vec4 j155 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i155;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( f155 ).x,( f155 ).y,( f155 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2639119078",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m159",Parameter {name = "position", ty = V3F}),("n159",Parameter {name = "normal", ty = V3F}),("o159",Parameter {name = "diffuseUV", ty = V2F}),("p159",Parameter {name = "lightmapUV", ty = V2F}),("q159",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2639119078",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m159 ;\nin vec3 n159 ;\nin vec2 o159 ;\nin vec2 p159 ;\nin vec4 q159 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o159;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m159 ).x,( m159 ).y,( m159 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2639119078 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2639119078,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("b164",Parameter {name = "position", ty = V3F}),("c164",Parameter {name = "normal", ty = V3F}),("d164",Parameter {name = "diffuseUV", ty = V2F}),("e164",Parameter {name = "lightmapUV", ty = V2F}),("f164",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 b164 ;\nin vec3 c164 ;\nin vec2 d164 ;\nin vec2 e164 ;\nin vec4 f164 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e164;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( b164 ).x,( b164 ).y,( b164 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3479185666",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i168",Parameter {name = "position", ty = V3F}),("j168",Parameter {name = "normal", ty = V3F}),("k168",Parameter {name = "diffuseUV", ty = V2F}),("l168",Parameter {name = "lightmapUV", ty = V2F}),("m168",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3479185666",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i168 ;\nin vec3 j168 ;\nin vec2 k168 ;\nin vec2 l168 ;\nin vec4 m168 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k168;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i168 ).x,( i168 ).y,( i168 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3479185666 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3479185666,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a173",Parameter {name = "lightmapUV", ty = V2F}),("b173",Parameter {name = "color", ty = V4F}),("x172",Parameter {name = "position", ty = V3F}),("y172",Parameter {name = "normal", ty = V3F}),("z172",Parameter {name = "diffuseUV", ty = V2F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 x172 ;\nin vec3 y172 ;\nin vec2 z172 ;\nin vec2 a173 ;\nin vec4 b173 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a173;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( x172 ).x,( x172 ).y,( x172 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3448884269",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e177",Parameter {name = "position", ty = V3F}),("f177",Parameter {name = "normal", ty = V3F}),("g177",Parameter {name = "diffuseUV", ty = V2F}),("h177",Parameter {name = "lightmapUV", ty = V2F}),("i177",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3448884269",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e177 ;\nin vec3 f177 ;\nin vec2 g177 ;\nin vec2 h177 ;\nin vec4 i177 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g177;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e177 ).x,( e177 ).y,( e177 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3448884269 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3448884269,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("t181",Parameter {name = "position", ty = V3F}),("u181",Parameter {name = "normal", ty = V3F}),("v181",Parameter {name = "diffuseUV", ty = V2F}),("w181",Parameter {name = "lightmapUV", ty = V2F}),("x181",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 t181 ;\nin vec3 u181 ;\nin vec2 v181 ;\nin vec2 w181 ;\nin vec4 x181 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = w181;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( t181 ).x,( t181 ).y,( t181 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1201212243",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a186",Parameter {name = "position", ty = V3F}),("b186",Parameter {name = "normal", ty = V3F}),("c186",Parameter {name = "diffuseUV", ty = V2F}),("d186",Parameter {name = "lightmapUV", ty = V2F}),("e186",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1201212243",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a186 ;\nin vec3 b186 ;\nin vec2 c186 ;\nin vec2 d186 ;\nin vec4 e186 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c186;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a186 ).x,( a186 ).y,( a186 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1201212243 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1201212243,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("p190",Parameter {name = "position", ty = V3F}),("q190",Parameter {name = "normal", ty = V3F}),("r190",Parameter {name = "diffuseUV", ty = V2F}),("s190",Parameter {name = "lightmapUV", ty = V2F}),("t190",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 p190 ;\nin vec3 q190 ;\nin vec2 r190 ;\nin vec2 s190 ;\nin vec4 t190 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s190;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( p190 ).x,( p190 ).y,( p190 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3389727963",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a195",Parameter {name = "color", ty = V4F}),("w194",Parameter {name = "position", ty = V3F}),("x194",Parameter {name = "normal", ty = V3F}),("y194",Parameter {name = "diffuseUV", ty = V2F}),("z194",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("Tex_3389727963",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w194 ;\nin vec3 x194 ;\nin vec2 y194 ;\nin vec2 z194 ;\nin vec4 a195 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y194;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w194 ).x,( w194 ).y,( w194 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3389727963 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3389727963,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("l199",Parameter {name = "position", ty = V3F}),("m199",Parameter {name = "normal", ty = V3F}),("n199",Parameter {name = "diffuseUV", ty = V2F}),("o199",Parameter {name = "lightmapUV", ty = V2F}),("p199",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 l199 ;\nin vec3 m199 ;\nin vec2 n199 ;\nin vec2 o199 ;\nin vec4 p199 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o199;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( l199 ).x,( l199 ).y,( l199 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3836020895",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s203",Parameter {name = "position", ty = V3F}),("t203",Parameter {name = "normal", ty = V3F}),("u203",Parameter {name = "diffuseUV", ty = V2F}),("v203",Parameter {name = "lightmapUV", ty = V2F}),("w203",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3836020895",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s203 ;\nin vec3 t203 ;\nin vec2 u203 ;\nin vec2 v203 ;\nin vec4 w203 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u203;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s203 ).x,( s203 ).y,( s203 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3836020895 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3836020895,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("h208",Parameter {name = "position", ty = V3F}),("i208",Parameter {name = "normal", ty = V3F}),("j208",Parameter {name = "diffuseUV", ty = V2F}),("k208",Parameter {name = "lightmapUV", ty = V2F}),("l208",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 h208 ;\nin vec3 i208 ;\nin vec2 j208 ;\nin vec2 k208 ;\nin vec4 l208 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k208;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( h208 ).x,( h208 ).y,( h208 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_209322640",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o212",Parameter {name = "position", ty = V3F}),("p212",Parameter {name = "normal", ty = V3F}),("q212",Parameter {name = "diffuseUV", ty = V2F}),("r212",Parameter {name = "lightmapUV", ty = V2F}),("s212",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_209322640",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o212 ;\nin vec3 p212 ;\nin vec2 q212 ;\nin vec2 r212 ;\nin vec4 s212 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = q212;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o212 ).x,( o212 ).y,( o212 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_209322640 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_209322640,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("d217",Parameter {name = "position", ty = V3F}),("e217",Parameter {name = "normal", ty = V3F}),("f217",Parameter {name = "diffuseUV", ty = V2F}),("g217",Parameter {name = "lightmapUV", ty = V2F}),("h217",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 d217 ;\nin vec3 e217 ;\nin vec2 f217 ;\nin vec2 g217 ;\nin vec4 h217 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g217;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( d217 ).x,( d217 ).y,( d217 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2893650486",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k221",Parameter {name = "position", ty = V3F}),("l221",Parameter {name = "normal", ty = V3F}),("m221",Parameter {name = "diffuseUV", ty = V2F}),("n221",Parameter {name = "lightmapUV", ty = V2F}),("o221",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2893650486",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k221 ;\nin vec3 l221 ;\nin vec2 m221 ;\nin vec2 n221 ;\nin vec4 o221 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m221;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k221 ).x,( k221 ).y,( k221 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2893650486 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2893650486,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a226",Parameter {name = "normal", ty = V3F}),("b226",Parameter {name = "diffuseUV", ty = V2F}),("c226",Parameter {name = "lightmapUV", ty = V2F}),("d226",Parameter {name = "color", ty = V4F}),("z225",Parameter {name = "position", ty = V3F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 z225 ;\nin vec3 a226 ;\nin vec2 b226 ;\nin vec2 c226 ;\nin vec4 d226 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c226;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( z225 ).x,( z225 ).y,( z225 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3814342582",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g230",Parameter {name = "position", ty = V3F}),("h230",Parameter {name = "normal", ty = V3F}),("i230",Parameter {name = "diffuseUV", ty = V2F}),("j230",Parameter {name = "lightmapUV", ty = V2F}),("k230",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3814342582",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g230 ;\nin vec3 h230 ;\nin vec2 i230 ;\nin vec2 j230 ;\nin vec4 k230 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i230;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g230 ).x,( g230 ).y,( g230 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3814342582 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3814342582,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("v234",Parameter {name = "position", ty = V3F}),("w234",Parameter {name = "normal", ty = V3F}),("x234",Parameter {name = "diffuseUV", ty = V2F}),("y234",Parameter {name = "lightmapUV", ty = V2F}),("z234",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 v234 ;\nin vec3 w234 ;\nin vec2 x234 ;\nin vec2 y234 ;\nin vec4 z234 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y234;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( v234 ).x,( v234 ).y,( v234 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_4189195777",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c239",Parameter {name = "position", ty = V3F}),("d239",Parameter {name = "normal", ty = V3F}),("e239",Parameter {name = "diffuseUV", ty = V2F}),("f239",Parameter {name = "lightmapUV", ty = V2F}),("g239",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_4189195777",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c239 ;\nin vec3 d239 ;\nin vec2 e239 ;\nin vec2 f239 ;\nin vec4 g239 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e239;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c239 ).x,( c239 ).y,( c239 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_4189195777 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_4189195777,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("r243",Parameter {name = "position", ty = V3F}),("s243",Parameter {name = "normal", ty = V3F}),("t243",Parameter {name = "diffuseUV", ty = V2F}),("u243",Parameter {name = "lightmapUV", ty = V2F}),("v243",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 r243 ;\nin vec3 s243 ;\nin vec2 t243 ;\nin vec2 u243 ;\nin vec4 v243 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u243;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( r243 ).x,( r243 ).y,( r243 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2239853403",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a248",Parameter {name = "diffuseUV", ty = V2F}),("b248",Parameter {name = "lightmapUV", ty = V2F}),("c248",Parameter {name = "color", ty = V4F}),("y247",Parameter {name = "position", ty = V3F}),("z247",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("Tex_2239853403",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y247 ;\nin vec3 z247 ;\nin vec2 a248 ;\nin vec2 b248 ;\nin vec4 c248 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a248;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y247 ).x,( y247 ).y,( y247 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2239853403 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2239853403,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("n252",Parameter {name = "position", ty = V3F}),("o252",Parameter {name = "normal", ty = V3F}),("p252",Parameter {name = "diffuseUV", ty = V2F}),("q252",Parameter {name = "lightmapUV", ty = V2F}),("r252",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 n252 ;\nin vec3 o252 ;\nin vec2 p252 ;\nin vec2 q252 ;\nin vec4 r252 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = q252;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( n252 ).x,( n252 ).y,( n252 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2367525081",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u256",Parameter {name = "position", ty = V3F}),("v256",Parameter {name = "normal", ty = V3F}),("w256",Parameter {name = "diffuseUV", ty = V2F}),("x256",Parameter {name = "lightmapUV", ty = V2F}),("y256",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2367525081",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u256 ;\nin vec3 v256 ;\nin vec2 w256 ;\nin vec2 x256 ;\nin vec4 y256 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = w256;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u256 ).x,( u256 ).y,( u256 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2367525081 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2367525081,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("j261",Parameter {name = "position", ty = V3F}),("k261",Parameter {name = "normal", ty = V3F}),("l261",Parameter {name = "diffuseUV", ty = V2F}),("m261",Parameter {name = "lightmapUV", ty = V2F}),("n261",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 j261 ;\nin vec3 k261 ;\nin vec2 l261 ;\nin vec2 m261 ;\nin vec4 n261 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m261;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( j261 ).x,( j261 ).y,( j261 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2523116863",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q265",Parameter {name = "position", ty = V3F}),("r265",Parameter {name = "normal", ty = V3F}),("s265",Parameter {name = "diffuseUV", ty = V2F}),("t265",Parameter {name = "lightmapUV", ty = V2F}),("u265",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2523116863",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q265 ;\nin vec3 r265 ;\nin vec2 s265 ;\nin vec2 t265 ;\nin vec4 u265 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s265;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q265 ).x,( q265 ).y,( q265 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2523116863 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2523116863,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("f270",Parameter {name = "position", ty = V3F}),("g270",Parameter {name = "normal", ty = V3F}),("h270",Parameter {name = "diffuseUV", ty = V2F}),("i270",Parameter {name = "lightmapUV", ty = V2F}),("j270",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 f270 ;\nin vec3 g270 ;\nin vec2 h270 ;\nin vec2 i270 ;\nin vec4 j270 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i270;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( f270 ).x,( f270 ).y,( f270 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2512757607",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m274",Parameter {name = "position", ty = V3F}),("n274",Parameter {name = "normal", ty = V3F}),("o274",Parameter {name = "diffuseUV", ty = V2F}),("p274",Parameter {name = "lightmapUV", ty = V2F}),("q274",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2512757607",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m274 ;\nin vec3 n274 ;\nin vec2 o274 ;\nin vec2 p274 ;\nin vec4 q274 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o274;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m274 ).x,( m274 ).y,( m274 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2512757607 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2512757607,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("b279",Parameter {name = "position", ty = V3F}),("c279",Parameter {name = "normal", ty = V3F}),("d279",Parameter {name = "diffuseUV", ty = V2F}),("e279",Parameter {name = "lightmapUV", ty = V2F}),("f279",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 b279 ;\nin vec3 c279 ;\nin vec2 d279 ;\nin vec2 e279 ;\nin vec4 f279 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e279;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( b279 ).x,( b279 ).y,( b279 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_4289279309",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i283",Parameter {name = "position", ty = V3F}),("j283",Parameter {name = "normal", ty = V3F}),("k283",Parameter {name = "diffuseUV", ty = V2F}),("l283",Parameter {name = "lightmapUV", ty = V2F}),("m283",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_4289279309",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i283 ;\nin vec3 j283 ;\nin vec2 k283 ;\nin vec2 l283 ;\nin vec4 m283 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k283;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i283 ).x,( i283 ).y,( i283 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_4289279309 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_4289279309,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a288",Parameter {name = "lightmapUV", ty = V2F}),("b288",Parameter {name = "color", ty = V4F}),("x287",Parameter {name = "position", ty = V3F}),("y287",Parameter {name = "normal", ty = V3F}),("z287",Parameter {name = "diffuseUV", ty = V2F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 x287 ;\nin vec3 y287 ;\nin vec2 z287 ;\nin vec2 a288 ;\nin vec4 b288 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a288;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( x287 ).x,( x287 ).y,( x287 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2525124732",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e292",Parameter {name = "position", ty = V3F}),("f292",Parameter {name = "normal", ty = V3F}),("g292",Parameter {name = "diffuseUV", ty = V2F}),("h292",Parameter {name = "lightmapUV", ty = V2F}),("i292",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2525124732",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e292 ;\nin vec3 f292 ;\nin vec2 g292 ;\nin vec2 h292 ;\nin vec4 i292 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g292;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e292 ).x,( e292 ).y,( e292 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2525124732 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2525124732,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("t296",Parameter {name = "position", ty = V3F}),("u296",Parameter {name = "normal", ty = V3F}),("v296",Parameter {name = "diffuseUV", ty = V2F}),("w296",Parameter {name = "lightmapUV", ty = V2F}),("x296",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 t296 ;\nin vec3 u296 ;\nin vec2 v296 ;\nin vec2 w296 ;\nin vec4 x296 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = w296;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( t296 ).x,( t296 ).y,( t296 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3071107621",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a301",Parameter {name = "position", ty = V3F}),("b301",Parameter {name = "normal", ty = V3F}),("c301",Parameter {name = "diffuseUV", ty = V2F}),("d301",Parameter {name = "lightmapUV", ty = V2F}),("e301",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3071107621",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a301 ;\nin vec3 b301 ;\nin vec2 c301 ;\nin vec2 d301 ;\nin vec4 e301 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c301;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a301 ).x,( a301 ).y,( a301 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3071107621 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3071107621,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("p305",Parameter {name = "position", ty = V3F}),("q305",Parameter {name = "normal", ty = V3F}),("r305",Parameter {name = "diffuseUV", ty = V2F}),("s305",Parameter {name = "lightmapUV", ty = V2F}),("t305",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 p305 ;\nin vec3 q305 ;\nin vec2 r305 ;\nin vec2 s305 ;\nin vec4 t305 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s305;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( p305 ).x,( p305 ).y,( p305 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3921745736",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a310",Parameter {name = "color", ty = V4F}),("w309",Parameter {name = "position", ty = V3F}),("x309",Parameter {name = "normal", ty = V3F}),("y309",Parameter {name = "diffuseUV", ty = V2F}),("z309",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("Tex_3921745736",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w309 ;\nin vec3 x309 ;\nin vec2 y309 ;\nin vec2 z309 ;\nin vec4 a310 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y309;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w309 ).x,( w309 ).y,( w309 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3921745736 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3921745736,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("l314",Parameter {name = "position", ty = V3F}),("m314",Parameter {name = "normal", ty = V3F}),("n314",Parameter {name = "diffuseUV", ty = V2F}),("o314",Parameter {name = "lightmapUV", ty = V2F}),("p314",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 l314 ;\nin vec3 m314 ;\nin vec2 n314 ;\nin vec2 o314 ;\nin vec4 p314 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o314;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( l314 ).x,( l314 ).y,( l314 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3647563961",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s318",Parameter {name = "position", ty = V3F}),("t318",Parameter {name = "normal", ty = V3F}),("u318",Parameter {name = "diffuseUV", ty = V2F}),("v318",Parameter {name = "lightmapUV", ty = V2F}),("w318",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3647563961",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s318 ;\nin vec3 t318 ;\nin vec2 u318 ;\nin vec2 v318 ;\nin vec4 w318 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u318;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s318 ).x,( s318 ).y,( s318 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3647563961 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3647563961,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("h323",Parameter {name = "position", ty = V3F}),("i323",Parameter {name = "normal", ty = V3F}),("j323",Parameter {name = "diffuseUV", ty = V2F}),("k323",Parameter {name = "lightmapUV", ty = V2F}),("l323",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 h323 ;\nin vec3 i323 ;\nin vec2 j323 ;\nin vec2 k323 ;\nin vec4 l323 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k323;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( h323 ).x,( h323 ).y,( h323 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3593923076",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o327",Parameter {name = "position", ty = V3F}),("p327",Parameter {name = "normal", ty = V3F}),("q327",Parameter {name = "diffuseUV", ty = V2F}),("r327",Parameter {name = "lightmapUV", ty = V2F}),("s327",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3593923076",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o327 ;\nin vec3 p327 ;\nin vec2 q327 ;\nin vec2 r327 ;\nin vec4 s327 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = q327;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o327 ).x,( o327 ).y,( o327 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3593923076 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3593923076,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("d332",Parameter {name = "position", ty = V3F}),("e332",Parameter {name = "normal", ty = V3F}),("f332",Parameter {name = "diffuseUV", ty = V2F}),("g332",Parameter {name = "lightmapUV", ty = V2F}),("h332",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 d332 ;\nin vec3 e332 ;\nin vec2 f332 ;\nin vec2 g332 ;\nin vec4 h332 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g332;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( d332 ).x,( d332 ).y,( d332 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1435187472",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k336",Parameter {name = "position", ty = V3F}),("l336",Parameter {name = "normal", ty = V3F}),("m336",Parameter {name = "diffuseUV", ty = V2F}),("n336",Parameter {name = "lightmapUV", ty = V2F}),("o336",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1435187472",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k336 ;\nin vec3 l336 ;\nin vec2 m336 ;\nin vec2 n336 ;\nin vec4 o336 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m336;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k336 ).x,( k336 ).y,( k336 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1435187472 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1435187472,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a341",Parameter {name = "normal", ty = V3F}),("b341",Parameter {name = "diffuseUV", ty = V2F}),("c341",Parameter {name = "lightmapUV", ty = V2F}),("d341",Parameter {name = "color", ty = V4F}),("z340",Parameter {name = "position", ty = V3F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 z340 ;\nin vec3 a341 ;\nin vec2 b341 ;\nin vec2 c341 ;\nin vec4 d341 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c341;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( z340 ).x,( z340 ).y,( z340 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1318715778",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g345",Parameter {name = "position", ty = V3F}),("h345",Parameter {name = "normal", ty = V3F}),("i345",Parameter {name = "diffuseUV", ty = V2F}),("j345",Parameter {name = "lightmapUV", ty = V2F}),("k345",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1318715778",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g345 ;\nin vec3 h345 ;\nin vec2 i345 ;\nin vec2 j345 ;\nin vec4 k345 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i345;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g345 ).x,( g345 ).y,( g345 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1318715778 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1318715778,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("v349",Parameter {name = "position", ty = V3F}),("w349",Parameter {name = "normal", ty = V3F}),("x349",Parameter {name = "diffuseUV", ty = V2F}),("y349",Parameter {name = "lightmapUV", ty = V2F}),("z349",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 v349 ;\nin vec3 w349 ;\nin vec2 x349 ;\nin vec2 y349 ;\nin vec4 z349 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y349;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( v349 ).x,( v349 ).y,( v349 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_442868841",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c354",Parameter {name = "position", ty = V3F}),("d354",Parameter {name = "normal", ty = V3F}),("e354",Parameter {name = "diffuseUV", ty = V2F}),("f354",Parameter {name = "lightmapUV", ty = V2F}),("g354",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_442868841",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 c354 ;\nin vec3 d354 ;\nin vec2 e354 ;\nin vec2 f354 ;\nin vec4 g354 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e354;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c354 ).x,( c354 ).y,( c354 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_442868841 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_442868841,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("r358",Parameter {name = "position", ty = V3F}),("s358",Parameter {name = "normal", ty = V3F}),("t358",Parameter {name = "diffuseUV", ty = V2F}),("u358",Parameter {name = "lightmapUV", ty = V2F}),("v358",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 r358 ;\nin vec3 s358 ;\nin vec2 t358 ;\nin vec2 u358 ;\nin vec4 v358 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u358;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( r358 ).x,( r358 ).y,( r358 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2289735512",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a363",Parameter {name = "diffuseUV", ty = V2F}),("b363",Parameter {name = "lightmapUV", ty = V2F}),("c363",Parameter {name = "color", ty = V4F}),("y362",Parameter {name = "position", ty = V3F}),("z362",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [("Tex_2289735512",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 y362 ;\nin vec3 z362 ;\nin vec2 a363 ;\nin vec2 b363 ;\nin vec4 c363 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a363;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y362 ).x,( y362 ).y,( y362 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2289735512 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2289735512,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("n367",Parameter {name = "position", ty = V3F}),("o367",Parameter {name = "normal", ty = V3F}),("p367",Parameter {name = "diffuseUV", ty = V2F}),("q367",Parameter {name = "lightmapUV", ty = V2F}),("r367",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 n367 ;\nin vec3 o367 ;\nin vec2 p367 ;\nin vec2 q367 ;\nin vec4 r367 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = q367;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( n367 ).x,( n367 ).y,( n367 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3939430064",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u371",Parameter {name = "position", ty = V3F}),("v371",Parameter {name = "normal", ty = V3F}),("w371",Parameter {name = "diffuseUV", ty = V2F}),("x371",Parameter {name = "lightmapUV", ty = V2F}),("y371",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3939430064",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u371 ;\nin vec3 v371 ;\nin vec2 w371 ;\nin vec2 x371 ;\nin vec4 y371 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = w371;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u371 ).x,( u371 ).y,( u371 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3939430064 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3939430064,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("j376",Parameter {name = "position", ty = V3F}),("k376",Parameter {name = "normal", ty = V3F}),("l376",Parameter {name = "diffuseUV", ty = V2F}),("m376",Parameter {name = "lightmapUV", ty = V2F}),("n376",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 j376 ;\nin vec3 k376 ;\nin vec2 l376 ;\nin vec2 m376 ;\nin vec4 n376 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m376;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( j376 ).x,( j376 ).y,( j376 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3012001075",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q380",Parameter {name = "position", ty = V3F}),("r380",Parameter {name = "normal", ty = V3F}),("s380",Parameter {name = "diffuseUV", ty = V2F}),("t380",Parameter {name = "lightmapUV", ty = V2F}),("u380",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3012001075",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 q380 ;\nin vec3 r380 ;\nin vec2 s380 ;\nin vec2 t380 ;\nin vec4 u380 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s380;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q380 ).x,( q380 ).y,( q380 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3012001075 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3012001075,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("f385",Parameter {name = "position", ty = V3F}),("g385",Parameter {name = "normal", ty = V3F}),("h385",Parameter {name = "diffuseUV", ty = V2F}),("i385",Parameter {name = "lightmapUV", ty = V2F}),("j385",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 f385 ;\nin vec3 g385 ;\nin vec2 h385 ;\nin vec2 i385 ;\nin vec4 j385 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i385;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( f385 ).x,( f385 ).y,( f385 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3768122504",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("m389",Parameter {name = "position", ty = V3F}),("n389",Parameter {name = "normal", ty = V3F}),("o389",Parameter {name = "diffuseUV", ty = V2F}),("p389",Parameter {name = "lightmapUV", ty = V2F}),("q389",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3768122504",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 m389 ;\nin vec3 n389 ;\nin vec2 o389 ;\nin vec2 p389 ;\nin vec4 q389 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o389;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( m389 ).x,( m389 ).y,( m389 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3768122504 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3768122504,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("b394",Parameter {name = "position", ty = V3F}),("c394",Parameter {name = "normal", ty = V3F}),("d394",Parameter {name = "diffuseUV", ty = V2F}),("e394",Parameter {name = "lightmapUV", ty = V2F}),("f394",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 b394 ;\nin vec3 c394 ;\nin vec2 d394 ;\nin vec2 e394 ;\nin vec4 f394 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = e394;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( b394 ).x,( b394 ).y,( b394 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2634868983",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i398",Parameter {name = "position", ty = V3F}),("j398",Parameter {name = "normal", ty = V3F}),("k398",Parameter {name = "diffuseUV", ty = V2F}),("l398",Parameter {name = "lightmapUV", ty = V2F}),("m398",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2634868983",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 i398 ;\nin vec3 j398 ;\nin vec2 k398 ;\nin vec2 l398 ;\nin vec4 m398 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k398;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i398 ).x,( i398 ).y,( i398 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2634868983 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2634868983,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a403",Parameter {name = "lightmapUV", ty = V2F}),("b403",Parameter {name = "color", ty = V4F}),("x402",Parameter {name = "position", ty = V3F}),("y402",Parameter {name = "normal", ty = V3F}),("z402",Parameter {name = "diffuseUV", ty = V2F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 x402 ;\nin vec3 y402 ;\nin vec2 z402 ;\nin vec2 a403 ;\nin vec4 b403 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = a403;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( x402 ).x,( x402 ).y,( x402 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3269743316",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e407",Parameter {name = "position", ty = V3F}),("f407",Parameter {name = "normal", ty = V3F}),("g407",Parameter {name = "diffuseUV", ty = V2F}),("h407",Parameter {name = "lightmapUV", ty = V2F}),("i407",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3269743316",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 e407 ;\nin vec3 f407 ;\nin vec2 g407 ;\nin vec2 h407 ;\nin vec4 i407 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g407;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e407 ).x,( e407 ).y,( e407 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3269743316 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3269743316,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("t411",Parameter {name = "position", ty = V3F}),("u411",Parameter {name = "normal", ty = V3F}),("v411",Parameter {name = "diffuseUV", ty = V2F}),("w411",Parameter {name = "lightmapUV", ty = V2F}),("x411",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 t411 ;\nin vec3 u411 ;\nin vec2 v411 ;\nin vec2 w411 ;\nin vec4 x411 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = w411;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( t411 ).x,( t411 ).y,( t411 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3617993418",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a416",Parameter {name = "position", ty = V3F}),("b416",Parameter {name = "normal", ty = V3F}),("c416",Parameter {name = "diffuseUV", ty = V2F}),("d416",Parameter {name = "lightmapUV", ty = V2F}),("e416",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3617993418",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 a416 ;\nin vec3 b416 ;\nin vec2 c416 ;\nin vec2 d416 ;\nin vec4 e416 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c416;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a416 ).x,( a416 ).y,( a416 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3617993418 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3617993418,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("p420",Parameter {name = "position", ty = V3F}),("q420",Parameter {name = "normal", ty = V3F}),("r420",Parameter {name = "diffuseUV", ty = V2F}),("s420",Parameter {name = "lightmapUV", ty = V2F}),("t420",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 p420 ;\nin vec3 q420 ;\nin vec2 r420 ;\nin vec2 s420 ;\nin vec4 t420 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = s420;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( p420 ).x,( p420 ).y,( p420 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1243894392",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a425",Parameter {name = "color", ty = V4F}),("w424",Parameter {name = "position", ty = V3F}),("x424",Parameter {name = "normal", ty = V3F}),("y424",Parameter {name = "diffuseUV", ty = V2F}),("z424",Parameter {name = "lightmapUV", ty = V2F})], programInTextures = fromList [("Tex_1243894392",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 w424 ;\nin vec3 x424 ;\nin vec2 y424 ;\nin vec2 z424 ;\nin vec4 a425 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = y424;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w424 ).x,( w424 ).y,( w424 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1243894392 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1243894392,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("l429",Parameter {name = "position", ty = V3F}),("m429",Parameter {name = "normal", ty = V3F}),("n429",Parameter {name = "diffuseUV", ty = V2F}),("o429",Parameter {name = "lightmapUV", ty = V2F}),("p429",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 l429 ;\nin vec3 m429 ;\nin vec2 n429 ;\nin vec2 o429 ;\nin vec4 p429 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = o429;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( l429 ).x,( l429 ).y,( l429 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2966885788",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s433",Parameter {name = "position", ty = V3F}),("t433",Parameter {name = "normal", ty = V3F}),("u433",Parameter {name = "diffuseUV", ty = V2F}),("v433",Parameter {name = "lightmapUV", ty = V2F}),("w433",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2966885788",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 s433 ;\nin vec3 t433 ;\nin vec2 u433 ;\nin vec2 v433 ;\nin vec4 w433 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = u433;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s433 ).x,( s433 ).y,( s433 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2966885788 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2966885788,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("h438",Parameter {name = "position", ty = V3F}),("i438",Parameter {name = "normal", ty = V3F}),("j438",Parameter {name = "diffuseUV", ty = V2F}),("k438",Parameter {name = "lightmapUV", ty = V2F}),("l438",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 h438 ;\nin vec3 i438 ;\nin vec2 j438 ;\nin vec2 k438 ;\nin vec4 l438 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = k438;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( h438 ).x,( h438 ).y,( h438 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1250438154",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o442",Parameter {name = "position", ty = V3F}),("p442",Parameter {name = "normal", ty = V3F}),("q442",Parameter {name = "diffuseUV", ty = V2F}),("r442",Parameter {name = "lightmapUV", ty = V2F}),("s442",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_1250438154",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 o442 ;\nin vec3 p442 ;\nin vec2 q442 ;\nin vec2 r442 ;\nin vec4 s442 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = q442;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o442 ).x,( o442 ).y,( o442 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_1250438154 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_1250438154,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("d447",Parameter {name = "position", ty = V3F}),("e447",Parameter {name = "normal", ty = V3F}),("f447",Parameter {name = "diffuseUV", ty = V2F}),("g447",Parameter {name = "lightmapUV", ty = V2F}),("h447",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 d447 ;\nin vec3 e447 ;\nin vec2 f447 ;\nin vec2 g447 ;\nin vec4 h447 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = g447;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( d447 ).x,( d447 ).y,( d447 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2490648334",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("k451",Parameter {name = "position", ty = V3F}),("l451",Parameter {name = "normal", ty = V3F}),("m451",Parameter {name = "diffuseUV", ty = V2F}),("n451",Parameter {name = "lightmapUV", ty = V2F}),("o451",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_2490648334",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 k451 ;\nin vec3 l451 ;\nin vec2 m451 ;\nin vec2 n451 ;\nin vec4 o451 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = m451;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( k451 ).x,( k451 ).y,( k451 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_2490648334 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_2490648334,vv0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a456",Parameter {name = "normal", ty = V3F}),("b456",Parameter {name = "diffuseUV", ty = V2F}),("c456",Parameter {name = "lightmapUV", ty = V2F}),("d456",Parameter {name = "color", ty = V4F}),("z455",Parameter {name = "position", ty = V3F})], programInTextures = fromList [("LightMap",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 z455 ;\nin vec3 a456 ;\nin vec2 b456 ;\nin vec2 c456 ;\nin vec4 d456 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = c456;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( z455 ).x,( z455 ).y,( z455 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D LightMap ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( LightMap,vv0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3694494180",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g460",Parameter {name = "position", ty = V3F}),("h460",Parameter {name = "normal", ty = V3F}),("i460",Parameter {name = "diffuseUV", ty = V2F}),("j460",Parameter {name = "lightmapUV", ty = V2F}),("k460",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3694494180",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 g460 ;\nin vec3 h460 ;\nin vec2 i460 ;\nin vec2 j460 ;\nin vec4 k460 ;\nsmooth out vec2 vv0 ;\nsmooth out vec4 vv1 ;\nvoid main() {\nvv0 = i460;\nvv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g460 ).x,( g460 ).y,( g460 ).z,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Tex_3694494180 ;\nsmooth in vec2 vv0 ;\nsmooth in vec4 vv1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv1 ) * ( texture2D ( Tex_3694494180,vv0 ) );\n}\n"}], slots = [Slot {slotName = "missing shader", slotStreams = fromList [("color",V4F),("position",V3F)], slotUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]},Slot {slotName = "textures/gothic_block/demon_block15fx", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3562558025",FTexture2D),("Tex_47037129",FTexture2D),("time",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [2,3,4]},Slot {slotName = "textures/gothic_trim/pitted_rust2_trans", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1910997598",FTexture2D),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [5,6]},Slot {slotName = "textures/gothic_door/skullarch_b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3416962274",FTexture2D),("Tex_4077187607",FTexture2D),("time",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [7,8,9]},Slot {slotName = "textures/gothic_block/blocks11b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_4288602201",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [10,11]},Slot {slotName = "textures/gothic_trim/baseboard09_l2", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3202786139",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [12,13]},Slot {slotName = "textures/gothic_door/skull_door_e", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_4255130505",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [14,15]},Slot {slotName = "textures/gothic_wall/supportborder_blue_b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_564811775",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [16,17]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_mid", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2073154888",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [18,19]},Slot {slotName = "textures/gothic_trim/pitted_rust2", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2099456856",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [20,21]},Slot {slotName = "textures/gothic_floor/metalbridge06", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1581337759",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [22,23]},Slot {slotName = "textures/gothic_trim/metaldemonkillblock", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1062467595",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [24,25]},Slot {slotName = "textures/gothic_door/skullarch_c", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2024854890",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [26,27]},Slot {slotName = "textures/gothic_door/skull_door_a", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1284708166",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [28,29]},Slot {slotName = "textures/gothic_wall/iron01_e", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2432583247",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [30,31]},Slot {slotName = "textures/gothic_trim/baseboard04", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1002517541",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [32,33]},Slot {slotName = "textures/gothic_block/blocks18b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2639119078",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [34,35]},Slot {slotName = "textures/gothic_trim/km_arena1tower4", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3479185666",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [36,37]},Slot {slotName = "textures/gothic_door/skullarch_a", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3448884269",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [38,39]},Slot {slotName = "textures/gothic_door/km_arena1archfinald_bot", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1201212243",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [40,41]},Slot {slotName = "textures/gothic_trim/pitted_rust3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3389727963",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [42,43]},Slot {slotName = "textures/gothic_floor/xstairtop4", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3836020895",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [44,45]},Slot {slotName = "textures/gothic_block/killblock_i", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_209322640",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [46,47]},Slot {slotName = "textures/gothic_trim/metalsupsolid", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2893650486",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [48,49]},Slot {slotName = "textures/gothic_floor/blocks17floor2", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3814342582",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [50,51]},Slot {slotName = "textures/gothic_door/skull_door_c", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_4189195777",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [52,53]},Slot {slotName = "textures/gothic_wall/skull4", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2239853403",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [54,55]},Slot {slotName = "textures/gothic_trim/baseboard09_e", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2367525081",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [56,57]},Slot {slotName = "textures/gothic_block/blocks15", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2523116863",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [58,59]},Slot {slotName = "textures/gothic_trim/baseboard09_o3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2512757607",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [60,61]},Slot {slotName = "textures/gothic_door/skull_door_f", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_4289279309",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [62,63]},Slot {slotName = "textures/gothic_wall/supportborder_blue_c", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2525124732",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [64,65]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_top", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3071107621",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [66,67]},Slot {slotName = "textures/gothic_floor/metalbridge06broke", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3921745736",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [68,69]},Slot {slotName = "textures/gothic_block/killblock", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3647563961",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [70,71]},Slot {slotName = "textures/gothic_trim/metalsupport4b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3593923076",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [72,73]},Slot {slotName = "textures/gothic_door/xian_tourneyarch_inside2", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1435187472",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [74,75]},Slot {slotName = "textures/gothic_door/skull_door_b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1318715778",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [76,77]},Slot {slotName = "textures/gothic_wall/iron01_ntech3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_442868841",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [78,79]},Slot {slotName = "textures/gothic_trim/baseboard09_c3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2289735512",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [80,81]},Slot {slotName = "textures/gothic_block/blocks18c_3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3939430064",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [82,83]},Slot {slotName = "textures/gothic_trim/km_arena1tower4_a", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3012001075",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [84,85]},Slot {slotName = "textures/gothic_door/km_arena1archfinald_mid", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3768122504",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [86,87]},Slot {slotName = "textures/gothic_trim/skullsvertgray02b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2634868983",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [88,89]},Slot {slotName = "textures/gothic_floor/xstepborder3", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3269743316",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [90,91]},Slot {slotName = "textures/gothic_block/killblock_i4", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3617993418",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [92,93]},Slot {slotName = "textures/gothic_trim/pitted_rust", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1243894392",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [94,95]},Slot {slotName = "textures/gothic_floor/largerblock3b", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2966885788",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [96,97]},Slot {slotName = "textures/gothic_door/skull_door_d", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_1250438154",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [98,99]},Slot {slotName = "textures/gothic_wall/slateroofc", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_2490648334",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [100,101]},Slot {slotName = "textures/gothic_trim/baseboard09_e2", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3694494180",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [102,103]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 0.0)}],SetProgram 103,SetSamplerUniform "Tex_3694494180" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 50,SetProgram 102,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 50,SetProgram 101,SetSamplerUniform "Tex_2490648334" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 49,SetProgram 100,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 49,SetProgram 99,SetSamplerUniform "Tex_1250438154" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 48,SetProgram 98,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 48,SetProgram 97,SetSamplerUniform "Tex_2966885788" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 47,SetProgram 96,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 47,SetProgram 95,SetSamplerUniform "Tex_1243894392" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 46,SetProgram 94,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 46,SetProgram 93,SetSamplerUniform "Tex_3617993418" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 45,SetProgram 92,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 45,SetProgram 91,SetSamplerUniform "Tex_3269743316" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 44,SetProgram 90,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 44,SetProgram 89,SetSamplerUniform "Tex_2634868983" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 43,SetProgram 88,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 43,SetProgram 87,SetSamplerUniform "Tex_3768122504" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 42,SetProgram 86,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 42,SetProgram 85,SetSamplerUniform "Tex_3012001075" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 41,SetProgram 84,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 41,SetProgram 83,SetSamplerUniform "Tex_3939430064" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 40,SetProgram 82,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 40,SetProgram 81,SetSamplerUniform "Tex_2289735512" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 39,SetProgram 80,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 39,SetProgram 79,SetSamplerUniform "Tex_442868841" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 38,SetProgram 78,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 38,SetProgram 77,SetSamplerUniform "Tex_1318715778" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 37,SetProgram 76,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 37,SetProgram 75,SetSamplerUniform "Tex_1435187472" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 36,SetProgram 74,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 36,SetProgram 73,SetSamplerUniform "Tex_3593923076" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 35,SetProgram 72,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 35,SetProgram 71,SetSamplerUniform "Tex_3647563961" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 34,SetProgram 70,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 34,SetProgram 69,SetSamplerUniform "Tex_3921745736" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 33,SetProgram 68,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 33,SetProgram 67,SetSamplerUniform "Tex_3071107621" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 32,SetProgram 66,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 32,SetProgram 65,SetSamplerUniform "Tex_2525124732" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 31,SetProgram 64,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 31,SetProgram 63,SetSamplerUniform "Tex_4289279309" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 30,SetProgram 62,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 30,SetProgram 61,SetSamplerUniform "Tex_2512757607" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 29,SetProgram 60,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 29,SetProgram 59,SetSamplerUniform "Tex_2523116863" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 28,SetProgram 58,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 28,SetProgram 57,SetSamplerUniform "Tex_2367525081" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 27,SetProgram 56,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 27,SetProgram 55,SetSamplerUniform "Tex_2239853403" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 26,SetProgram 54,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 26,SetProgram 53,SetSamplerUniform "Tex_4189195777" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 25,SetProgram 52,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 25,SetProgram 51,SetSamplerUniform "Tex_3814342582" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 24,SetProgram 50,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 24,SetProgram 49,SetSamplerUniform "Tex_2893650486" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 23,SetProgram 48,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 23,SetProgram 47,SetSamplerUniform "Tex_209322640" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 22,SetProgram 46,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 22,SetProgram 45,SetSamplerUniform "Tex_3836020895" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 21,SetProgram 44,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 21,SetProgram 43,SetSamplerUniform "Tex_3389727963" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 20,SetProgram 42,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 20,SetProgram 41,SetSamplerUniform "Tex_1201212243" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 19,SetProgram 40,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 19,SetProgram 39,SetSamplerUniform "Tex_3448884269" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 18,SetProgram 38,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 18,SetProgram 37,SetSamplerUniform "Tex_3479185666" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 17,SetProgram 36,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 17,SetProgram 35,SetSamplerUniform "Tex_2639119078" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 16,SetProgram 34,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 16,SetProgram 33,SetSamplerUniform "Tex_1002517541" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 15,SetProgram 32,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 15,SetProgram 31,SetSamplerUniform "Tex_2432583247" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 14,SetProgram 30,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 14,SetProgram 29,SetSamplerUniform "Tex_1284708166" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 13,SetProgram 28,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 13,SetProgram 27,SetSamplerUniform "Tex_2024854890" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 12,SetProgram 26,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 12,SetProgram 25,SetSamplerUniform "Tex_1062467595" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 11,SetProgram 24,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 11,SetProgram 23,SetSamplerUniform "Tex_1581337759" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 10,SetProgram 22,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 10,SetProgram 21,SetSamplerUniform "Tex_2099456856" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 9,SetProgram 20,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 9,SetProgram 19,SetSamplerUniform "Tex_2073154888" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 8,SetProgram 18,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 8,SetProgram 17,SetSamplerUniform "Tex_564811775" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 7,SetProgram 16,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 7,SetProgram 15,SetSamplerUniform "Tex_4255130505" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 6,SetProgram 14,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 6,SetProgram 13,SetSamplerUniform "Tex_3202786139" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 5,SetProgram 12,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 5,SetProgram 11,SetSamplerUniform "Tex_4288602201" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 4,SetProgram 10,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 4,SetProgram 9,SetSamplerUniform "Tex_3416962274" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 3,SetProgram 8,SetSamplerUniform "Tex_4077187607" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 3,SetProgram 7,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 3,SetProgram 6,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 2,SetProgram 5,SetSamplerUniform "Tex_1910997598" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = Zero, alphaFSrc = DstColor, alphaFDst = Zero, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 2,SetProgram 4,SetSamplerUniform "Tex_47037129" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 3,SetSamplerUniform "Tex_3562558025" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 2,SetSamplerUniform "LightMap" 0,SetRasterContext (TriangleCtx (CullFront CCW) PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = DstColor, colorFDst = OneMinusDstAlpha, alphaFSrc = DstColor, alphaFDst = OneMinusDstAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = Min, colorFSrc = One, colorFDst = One, alphaFSrc = One, alphaFDst = One, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 1.0) NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/NewStyle.out b/testdata/NewStyle.out
index 4e46dbcc..24cf5cb0 100644
--- a/testdata/NewStyle.out
+++ b/testdata/NewStyle.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = m1;\ngl_Position = ( ( MVP ) * ( m1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.2 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("n1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 n1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = n1;\ngl_Position = ( ( MVP ) * ( n1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.2 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/PrimReduce.out b/testdata/PrimReduce.out
index 3db2cf03..6ed70995 100644
--- a/testdata/PrimReduce.out
+++ b/testdata/PrimReduce.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("k1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 k1 ;\nvoid main() {\ngl_Position = ( ( mat4 ( vec4 ( cos ( 3.0 ),( 0.0 ) - ( sin ( 3.0 ) ),0.0,0.0 ),vec4 ( sin ( 3.0 ),cos ( 3.0 ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( k1 ) ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("l1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 l1 ;\nvoid main() {\ngl_Position = ( ( mat4 ( vec4 ( cos ( 3.0 ),( 0.0 ) - ( sin ( 3.0 ) ),0.0,0.0 ),vec4 ( sin ( 3.0 ),cos ( 3.0 ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( l1 ) ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/example06.out b/testdata/example06.out
index 3d234fa5..11f412ec 100644
--- a/testdata/example06.out
+++ b/testdata/example06.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = m1;\ngl_Position = ( ( MVP ) * ( m1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("n1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 n1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = n1;\ngl_Position = ( ( MVP ) * ( n1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/example07.out b/testdata/example07.out
index f2df20ed..95177070 100644
--- a/testdata/example07.out
+++ b/testdata/example07.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("x1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 x1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = x1;\ngl_Position = ( ( MVP ) * ( x1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( vv0 ).x ) < ( 0.5 ) ? vec4 ( 0.0,0.0,1.0,1.0 ) : vec4 ( 1.0,0.0,0.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.2 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("y1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 y1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = y1;\ngl_Position = ( ( MVP ) * ( y1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( vv0 ).x ) < ( 0.5 ) ? vec4 ( 0.0,0.0,1.0,1.0 ) : vec4 ( 1.0,0.0,0.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.2 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/example08.out b/testdata/example08.out
index 0adb17dc..6bf8b064 100644
--- a/testdata/example08.out
+++ b/testdata/example08.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("m1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 m1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = m1;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 2.0 ) ),sin ( ( Time ) * ( 2.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 2.0 ) ) ),cos ( ( Time ) * ( 2.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 1.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( m1 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("a7",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 a7 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = a7;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 1.0 ) ),sin ( ( Time ) * ( 1.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 1.0 ) ) ),cos ( ( Time ) * ( 1.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.5 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( a7 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("o12",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 o12 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = o12;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.0 ) ),sin ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.0 ) ) ),cos ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( o12 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("c18",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 c18 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = c18;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( -1.0 ) ),sin ( ( Time ) * ( -1.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( -1.0 ) ) ),cos ( ( Time ) * ( -1.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( -0.5 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( c18 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("q23",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 q23 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = q23;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.75 ) ),sin ( ( Time ) * ( 0.75 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.75 ) ) ),cos ( ( Time ) * ( 0.75 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.375 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( q23 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("e29",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 e29 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = e29;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.3 ) ),sin ( ( Time ) * ( 0.3 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.3 ) ) ),cos ( ( Time ) * ( 0.3 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.15 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( e29 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("s34",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 s34 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = s34;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.5 ) ),sin ( ( Time ) * ( 0.5 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.5 ) ) ),cos ( ( Time ) * ( 0.5 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.25 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( s34 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("g40",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 g40 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = g40;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.0 ) ),sin ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.0 ) ) ),cos ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( g40 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("u45",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 u45 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = u45;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( -0.5 ) ),sin ( ( Time ) * ( -0.5 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( -0.5 ) ) ),cos ( ( Time ) * ( -0.5 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( -0.25 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( u45 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5,6,7,8]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 8,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 7,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 6,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 5,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 4,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 3,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 2,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("n1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 n1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = n1;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 2.0 ) ),sin ( ( Time ) * ( 2.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 2.0 ) ) ),cos ( ( Time ) * ( 2.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 1.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 2.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( n1 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("c7",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 c7 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = c7;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 1.0 ) ),sin ( ( Time ) * ( 1.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 1.0 ) ) ),cos ( ( Time ) * ( 1.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.5 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 1.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( c7 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("r12",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 r12 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = r12;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.0 ) ),sin ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.0 ) ) ),cos ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( r12 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("g18",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 g18 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = g18;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( -1.0 ) ),sin ( ( Time ) * ( -1.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( -1.0 ) ) ),cos ( ( Time ) * ( -1.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( -0.5 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( -1.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( g18 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("v23",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 v23 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = v23;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.75 ) ),sin ( ( Time ) * ( 0.75 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.75 ) ) ),cos ( ( Time ) * ( 0.75 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.375 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.75 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( v23 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("k29",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 k29 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = k29;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.3 ) ),sin ( ( Time ) * ( 0.3 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.3 ) ) ),cos ( ( Time ) * ( 0.3 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.15 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.3 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( k29 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("z34",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 z34 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = z34;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.5 ) ),sin ( ( Time ) * ( 0.5 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.5 ) ) ),cos ( ( Time ) * ( 0.5 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.25 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.5 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( z34 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("o40",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 o40 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = o40;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.0 ) ),sin ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.0 ) ) ),cos ( ( Time ) * ( 0.0 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( 0.0 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( 0.0 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( o40 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("d46",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nuniform mat4 MVP ;\nin vec4 d46 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = d46;\ngl_Position = ( mat4 ( vec4 ( cos ( ( Time ) * ( -0.5 ) ),sin ( ( Time ) * ( -0.5 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( -0.5 ) ) ),cos ( ( Time ) * ( -0.5 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( MVP ) * ( ( vec4 ( ( -0.25 ) + ( ( sin ( Time ) ) * ( 0.1 ) ),0.0,0.0,0.0 ) ) + ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),sin ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ) ),cos ( ( ( Time ) * ( 2.0 ) ) * ( -0.5 ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( d46 ) ) * ( vec4 ( 4.0e-2,4.0e-2,4.0e-2,1.0 ) ) ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5,6,7,8]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 8,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 7,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 6,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 5,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 4,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 3,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 2,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/fetcharrays01.out b/testdata/fetcharrays01.out
index 0dd3542b..5b66be08 100644
--- a/testdata/fetcharrays01.out
+++ b/testdata/fetcharrays01.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("w1",Parameter {name = "attribute_0", ty = V3F}),("x1",Parameter {name = "attribute_1", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 w1 ;\nin vec3 x1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( w1 ).x,( w1 ).y,( w1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( w1 ).x,( w1 ).y,( w1 ).z,1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [1.0,1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0]),("attribute_1",VFloatArray [0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0])], streamType = fromList [("attribute_0",V3F),("attribute_1",V3F)], streamPrimitive = Triangles, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("x1",Parameter {name = "attribute_0", ty = V3F}),("y1",Parameter {name = "attribute_1", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 x1 ;\nin vec3 y1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( x1 ).x,( x1 ).y,( x1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( x1 ).x,( x1 ).y,( x1 ).z,1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [1.0,1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,1.0,-1.0,-1.0,1.0,-1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,-1.0,1.0,-1.0,-1.0]),("attribute_1",VFloatArray [0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0])], streamType = fromList [("attribute_0",V3F),("attribute_1",V3F)], streamPrimitive = Triangles, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file
diff --git a/testdata/fragment01.out b/testdata/fragment01.out
index b6b1ee3b..f3fac456 100644
--- a/testdata/fragment01.out
+++ b/testdata/fragment01.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("k1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 k1 ;\nvoid main() {\ngl_Position = k1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("l1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 l1 ;\nvoid main() {\ngl_Position = l1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/fragment03swizzling.out b/testdata/fragment03swizzling.out
index 99b43679..610ba302 100644
--- a/testdata/fragment03swizzling.out
+++ b/testdata/fragment03swizzling.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("t1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 t1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = t1;\ngl_Position = t1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( vv0 ).xxxw ) + ( ( vv0 ).yyyw );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("u1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 u1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = u1;\ngl_Position = u1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( vv0 ).xxxw ) + ( ( vv0 ).yyyw );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/fragment04ifthenelse.out b/testdata/fragment04ifthenelse.out
index 8de32a3c..9fe9bb21 100644
--- a/testdata/fragment04ifthenelse.out
+++ b/testdata/fragment04ifthenelse.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("t1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 t1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = t1;\ngl_Position = t1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( Time ) < ( 0.5 ) ? vv0 : vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("u1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 u1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = u1;\ngl_Position = u1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( Time ) < ( 0.5 ) ? vv0 : vec4 ( 0.0,0.0,1.0,1.0 );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/fragment07let.out b/testdata/fragment07let.out
index 0b86288b..e936cdde 100644
--- a/testdata/fragment07let.out
+++ b/testdata/fragment07let.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("q1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 q1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = q1;\ngl_Position = q1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = sin ( sin ( vv0 ) );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("r1",Parameter {name = "position", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 r1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = r1;\ngl_Position = r1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = sin ( sin ( vv0 ) );\n}\n"}], slots = [Slot {slotName = "quad", slotStreams = fromList [("position",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 0.5)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/gfx02.out b/testdata/gfx02.out
index cdef68ba..c4ceecf1 100644
--- a/testdata/gfx02.out
+++ b/testdata/gfx02.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("k1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 k1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = k1;\ngl_Position = k1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("l1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 l1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = l1;\ngl_Position = l1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/gfx03.out b/testdata/gfx03.out
index 069c7286..0deef166 100644
--- a/testdata/gfx03.out
+++ b/testdata/gfx03.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("m1",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 m1 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( ( m1 ).x,( m1 ).y,( m1 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("n3",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 n3 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( n3 ).x,( n3 ).y,( n3 ).z,1.0 );\ngl_Position = ( MVP2 ) * ( vec4 ( ( n3 ).x,( n3 ).y,( n3 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ) + ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("f6",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 f6 ;\nflat out vec4 vv0 ;\nvoid main() {\nvv0 = f6;\ngl_Position = ( MVP ) * ( f6 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nflat in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ) * ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("position",V3F)], slotUniforms = fromList [("MVP2",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]},Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [2]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 2,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("n1",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 n1 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( ( n1 ).x,( n1 ).y,( n1 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("p3",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 p3 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( p3 ).x,( p3 ).y,( p3 ).z,1.0 );\ngl_Position = ( MVP2 ) * ( vec4 ( ( p3 ).x,( p3 ).y,( p3 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ) + ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i6",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i6 ;\nflat out vec4 vv0 ;\nvoid main() {\nvv0 = i6;\ngl_Position = ( MVP ) * ( i6 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nflat in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ) * ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("position",V3F)], slotUniforms = fromList [("MVP2",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]},Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [2]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 2,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/gfx04.out b/testdata/gfx04.out
index 0ec80c29..dc374540 100644
--- a/testdata/gfx04.out
+++ b/testdata/gfx04.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("g2",Parameter {name = "position", ty = V3F}),("h2",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 g2 ;\nin vec3 h2 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( h2 ).x,( h2 ).y,( h2 ).z,1.0 );\ngl_Position = ( MVP ) * ( vec4 ( ( g2 ).x,( g2 ).y,( g2 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ) * ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("normal",V3F),("position",V3F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("h2",Parameter {name = "position", ty = V3F}),("i2",Parameter {name = "normal", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 h2 ;\nin vec3 i2 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( i2 ).x,( i2 ).y,( i2 ).z,1.0 );\ngl_Position = ( MVP ) * ( vec4 ( ( h2 ).x,( h2 ).y,( h2 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ) * ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("normal",V3F),("position",V3F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/gfx05.out b/testdata/gfx05.out
index 6ca36ea7..eacff67d 100644
--- a/testdata/gfx05.out
+++ b/testdata/gfx05.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("m1",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 m1 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( ( m1 ).x,( m1 ).y,( m1 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("n3",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 n3 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( n3 ).x,( n3 ).y,( n3 ).z,1.0 );\ngl_Position = ( MVP2 ) * ( vec4 ( ( n3 ).x,( n3 ).y,( n3 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ) + ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("b7",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 b7 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( ( b7 ).x,( b7 ).y,( b7 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i9",Parameter {name = "position4", ty = V4F}),("j9",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("p5",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i9 ;\nin vec2 j9 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j9;\ngl_Position = ( MVP ) * ( i9 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D p5 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( p5,( vv0 ).xy ) ) * ( 0.7 );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("position",V3F)], slotUniforms = fromList [("MVP2",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2]},Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [3]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.3 1.0)}],SetProgram 2,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 3,SetTexture 0 1,SetSamplerUniform "p5" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("n1",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 n1 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( ( n1 ).x,( n1 ).y,( n1 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("p3",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 p3 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( p3 ).x,( p3 ).y,( p3 ).z,1.0 );\ngl_Position = ( MVP2 ) * ( vec4 ( ( p3 ).x,( p3 ).y,( p3 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ) + ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("e7",Parameter {name = "position", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP2 ;\nin vec3 e7 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( ( e7 ).x,( e7 ).y,( e7 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,0.4,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m9",Parameter {name = "position4", ty = V4F}),("n9",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("r5",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m9 ;\nin vec2 n9 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = n9;\ngl_Position = ( MVP ) * ( m9 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D r5 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( r5,( vv0 ).xy ) ) * ( 0.7 );\n}\n"}], slots = [Slot {slotName = "stream", slotStreams = fromList [("position",V3F)], slotUniforms = fromList [("MVP2",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2]},Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [3]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.1 0.0 0.3 1.0)}],SetProgram 2,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 3,SetTexture 0 1,SetSamplerUniform "r5" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 1,SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Always False,ColorOp NoBlending (VV4B (V4 True True False False))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/heartbeat01.out b/testdata/heartbeat01.out
index 7a1cb528..2ec90817 100644
--- a/testdata/heartbeat01.out
+++ b/testdata/heartbeat01.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 128 128), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 128 128), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("q12",Parameter {name = "position4", ty = V4F}),("r12",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 q12 ;\nin vec2 r12 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = r12;\ngl_Position = ( q12 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).x ) - ( 0.85 ) ) * ( ( ( vv0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vv0 ).y ) - ( 0.85 ) ) * ( ( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 5.0e-4 ) * ( sin ( ( ( 3.0 ) * ( atan ( ( ( vv0 ).x ) - ( 0.85 ),( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 15.0 ) * ( Time ) ) ) ) ) ) < ( ( 5.0e-3 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 0.0,0.0,0.5,1.0 ) : ( ( ( ( ( ( vv0 ).x ) - ( 0.85 ) ) * ( ( ( vv0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vv0 ).y ) - ( 0.85 ) ) * ( ( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 5.0 ) * ( atan ( ( ( vv0 ).x ) - ( 0.85 ),( ( vv0 ).y ) - ( 0.85 ) ) ) ) - ( ( 5.0 ) * ( Time ) ) ) ) ) ) < ( ( 2.0e-2 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 0.0,0.0,1.0,1.0 ) : ( ( ( ( ( ( vv0 ).x ) - ( 0.85 ) ) * ( ( ( vv0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vv0 ).y ) - ( 0.85 ) ) * ( ( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 7.0 ) * ( atan ( ( ( vv0 ).x ) - ( 0.85 ),( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 3.0 ) * ( Time ) ) ) ) ) ) < ( ( 5.0e-2 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 1.0,1.0,1.0,1.0 ) : vec4 ( 1.0,1.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("q14",Parameter {name = "position4", ty = V4F}),("r14",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("v0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 q14 ;\nin vec2 r14 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = r14;\ngl_Position = ( ( MVP ) * ( q14 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D v0 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( v0,vv0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 1,SetTexture 0 1,SetSamplerUniform "v0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 128 128), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 128 128), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("r12",Parameter {name = "position4", ty = V4F}),("s12",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 r12 ;\nin vec2 s12 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = s12;\ngl_Position = ( r12 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).x ) - ( 0.85 ) ) * ( ( ( vv0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vv0 ).y ) - ( 0.85 ) ) * ( ( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 5.0e-4 ) * ( sin ( ( ( 3.0 ) * ( atan ( ( ( vv0 ).x ) - ( 0.85 ),( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 15.0 ) * ( Time ) ) ) ) ) ) < ( ( 5.0e-3 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 0.0,0.0,0.5,1.0 ) : ( ( ( ( ( ( vv0 ).x ) - ( 0.85 ) ) * ( ( ( vv0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vv0 ).y ) - ( 0.85 ) ) * ( ( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 5.0 ) * ( atan ( ( ( vv0 ).x ) - ( 0.85 ),( ( vv0 ).y ) - ( 0.85 ) ) ) ) - ( ( 5.0 ) * ( Time ) ) ) ) ) ) < ( ( 2.0e-2 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 0.0,0.0,1.0,1.0 ) : ( ( ( ( ( ( vv0 ).x ) - ( 0.85 ) ) * ( ( ( vv0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vv0 ).y ) - ( 0.85 ) ) * ( ( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 7.0 ) * ( atan ( ( ( vv0 ).x ) - ( 0.85 ),( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 3.0 ) * ( Time ) ) ) ) ) ) < ( ( 5.0e-2 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 1.0,1.0,1.0,1.0 ) : vec4 ( 1.0,1.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("s14",Parameter {name = "position4", ty = V4F}),("t14",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("v0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 s14 ;\nin vec2 t14 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = t14;\ngl_Position = ( ( MVP ) * ( s14 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D v0 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( v0,vv0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 1,SetTexture 0 1,SetSamplerUniform "v0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/helloWorld.out b/testdata/helloWorld.out
index 5b1a1f41..fdd43db8 100644
--- a/testdata/helloWorld.out
+++ b/testdata/helloWorld.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("r1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 r1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = r1;\ngl_Position = ( ( MVP ) * ( r1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(true)) discard;\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("s1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 s1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = s1;\ngl_Position = ( ( MVP ) * ( s1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(true)) discard;\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/point01.lc b/testdata/point01.lc
index 3ebdb43c..a5dad665 100644
--- a/testdata/point01.lc
+++ b/testdata/point01.lc
@@ -5,20 +5,18 @@ vertices = concat [[v i,v (i+!1.0)] | i <- [(-2)..2]]
5clear = FrameBuffer $ (DepthImage @1 1000, ColorImage @1 navy) -- ... 5clear = FrameBuffer $ (DepthImage @1 1000, ColorImage @1 navy) -- ...
6 6
7lines = LineCtx 1.0 LastVertex 7lines = LineCtx 1.0 LastVertex
8points = PointCtx ProgramPointSize 1.0 LowerLeft 8points = PointCtx (ProgramPointSize $ \_ -> 30.0) 1.0 LowerLeft
9 9
10colorFragmentCtx = (DepthOp Less True, ColorOp NoBlending (V4 True True True True)) 10colorFragmentCtx = (DepthOp Less True, ColorOp NoBlending (V4 True True True True))
11 11
12cubeVertexStream = fetchArrays Point (unzip vertices) 12cubeVertexStream = fetchArrays Point (unzip vertices)
13 13
14rasterizeWith = rasterizePrimitivesWithPointSize
15
16mapFragments2 s fs = accumulate colorFragmentCtx (\a -> fs a) s clear 14mapFragments2 s fs = accumulate colorFragmentCtx (\a -> fs a) s clear
17 15
18rotate' v = (Uniform "MVP" :: Mat 4 4 Float) *. v 16rotate' v = (Uniform "MVP" :: Mat 4 4 Float) *. v
19 17
20main = cubeVertexStream -- cube vertices 18main = cubeVertexStream -- cube vertices
21 & mapPrimitives (\(p,c) -> (scale 0.5 . rotate' $ v3FToV4F p, c)) 19 & mapPrimitives (\(p,c) -> (scale 0.5 . rotate' $ v3FToV4F p, c))
22 & rasterizeWith points (\_ -> 30.0) Smooth -- rasterize 20 & rasterizePrimitives points Smooth -- rasterize
23 `mapFragments2` id 21 `mapFragments2` id
24 & ScreenOut -- draw into screen 22 & ScreenOut -- draw into screen
diff --git a/testdata/point01.out b/testdata/point01.out
index 9b889542..b6063039 100644
--- a/testdata/point01.out
+++ b/testdata/point01.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("w1",Parameter {name = "attribute_0", ty = V3F}),("x1",Parameter {name = "attribute_1", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 w1 ;\nin vec4 x1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = x1;\ngl_Position = ( ( MVP ) * ( vec4 ( ( w1 ).x,( w1 ).y,( w1 ).z,1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 30.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-2.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,2.0,0.0,0.0,2.0,0.0,0.0,3.0,0.0,0.0]),("attribute_1",VFloatArray [1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0])], streamType = fromList [("attribute_0",V3F),("attribute_1",V4F)], streamPrimitive = Points, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 0,SetRasterContext (PointCtx ProgramPointSize 1.0 LowerLeft),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("y1",Parameter {name = "attribute_0", ty = V3F}),("z1",Parameter {name = "attribute_1", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec3 y1 ;\nin vec4 z1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = z1;\ngl_Position = ( ( MVP ) * ( vec4 ( ( y1 ).x,( y1 ).y,( y1 ).z,1.0 ) ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 30.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-2.0,0.0,0.0,-1.0,0.0,0.0,-1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,2.0,0.0,0.0,2.0,0.0,0.0,3.0,0.0,0.0]),("attribute_1",VFloatArray [1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0])], streamType = fromList [("attribute_0",V3F),("attribute_1",V4F)], streamPrimitive = Points, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 0,SetRasterContext (PointCtx ProgramPointSize 1.0 LowerLeft),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderStream 0]} \ No newline at end of file
diff --git a/testdata/recursivetexture01.out b/testdata/recursivetexture01.out
index b277bc3a..6ca9d73c 100644
--- a/testdata/recursivetexture01.out
+++ b/testdata/recursivetexture01.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 2 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 3 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 4 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 5 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 6 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 7 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 8 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 9 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 10 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 11 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 12 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 13 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 14 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 15 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 16 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 17 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 18 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 19 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 20 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 21 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 22 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 23 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 24 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 25 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 26 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 27 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 28 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 29 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i21",Parameter {name = "position4", ty = V4F}),("j21",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q19",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i21 ;\nin vec2 j21 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j21;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.0 ),sin ( 0.0 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.0 ) ),cos ( 0.0 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i21 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q19 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( q19,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i24",Parameter {name = "position4", ty = V4F}),("j24",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("i18",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i24 ;\nin vec2 j24 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j24;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.1 ),sin ( 0.1 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.1 ) ),cos ( 0.1 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i24 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D i18 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( i18,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i27",Parameter {name = "position4", ty = V4F}),("j27",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a17",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i27 ;\nin vec2 j27 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j27;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.2 ),sin ( 0.2 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.2 ) ),cos ( 0.2 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i27 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D a17 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( a17,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i30",Parameter {name = "position4", ty = V4F}),("j30",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s15",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i30 ;\nin vec2 j30 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j30;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.3 ),sin ( 0.3 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.3 ) ),cos ( 0.3 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i30 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s15 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( s15,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i33",Parameter {name = "position4", ty = V4F}),("j33",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("k14",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i33 ;\nin vec2 j33 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j33;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.4 ),sin ( 0.4 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.4 ) ),cos ( 0.4 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i33 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D k14 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( k14,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i36",Parameter {name = "position4", ty = V4F}),("j36",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("c13",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i36 ;\nin vec2 j36 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j36;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.5 ),sin ( 0.5 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.5 ) ),cos ( 0.5 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i36 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D c13 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( c13,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i39",Parameter {name = "position4", ty = V4F}),("j39",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("u11",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i39 ;\nin vec2 j39 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j39;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.6 ),sin ( 0.6 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.6 ) ),cos ( 0.6 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i39 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D u11 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( u11,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i42",Parameter {name = "position4", ty = V4F}),("j42",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("m10",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i42 ;\nin vec2 j42 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j42;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.7 ),sin ( 0.7 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.7 ) ),cos ( 0.7 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i42 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D m10 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( m10,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i45",Parameter {name = "position4", ty = V4F}),("j45",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("e9",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i45 ;\nin vec2 j45 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j45;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.8 ),sin ( 0.8 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.8 ) ),cos ( 0.8 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i45 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D e9 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( e9,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i48",Parameter {name = "position4", ty = V4F}),("j48",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w7",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i48 ;\nin vec2 j48 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j48;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.9 ),sin ( 0.9 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.9 ) ),cos ( 0.9 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i48 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D w7 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( w7,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i51",Parameter {name = "position4", ty = V4F}),("j51",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("o6",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i51 ;\nin vec2 j51 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j51;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 1.0 ),sin ( 1.0 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 1.0 ) ),cos ( 1.0 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i51 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D o6 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( o6,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i54",Parameter {name = "position4", ty = V4F}),("j54",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("g5",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i54 ;\nin vec2 j54 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j54;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 1.1 ),sin ( 1.1 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 1.1 ) ),cos ( 1.1 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i54 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D g5 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( g5,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i57",Parameter {name = "position4", ty = V4F}),("j57",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("y3",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i57 ;\nin vec2 j57 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j57;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 1.2 ),sin ( 1.2 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 1.2 ) ),cos ( 1.2 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i57 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D y3 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( y3,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i60",Parameter {name = "position4", ty = V4F}),("j60",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q2",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i60 ;\nin vec2 j60 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j60;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 1.3 ),sin ( 1.3 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 1.3 ) ),cos ( 1.3 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i60 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q2 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( q2,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("i63",Parameter {name = "position4", ty = V4F}),("j63",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("i1",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 i63 ;\nin vec2 j63 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j63;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 1.4 ),sin ( 1.4 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 1.4 ) ),cos ( 1.4 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( i63 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D i1 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( i1,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}], streams = [], commands = [SetRenderTarget 15,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetRenderTarget 14,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 0,SetTexture 0 29,SetSamplerUniform "q19" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 13,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 1,SetTexture 0 27,SetSamplerUniform "i18" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 12,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 2,SetTexture 0 25,SetSamplerUniform "a17" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 11,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 3,SetTexture 0 23,SetSamplerUniform "s15" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 10,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 4,SetTexture 0 21,SetSamplerUniform "k14" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 9,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 5,SetTexture 0 19,SetSamplerUniform "c13" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 8,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 6,SetTexture 0 17,SetSamplerUniform "u11" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 7,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 7,SetTexture 0 15,SetSamplerUniform "m10" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 6,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 8,SetTexture 0 13,SetSamplerUniform "e9" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 5,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 9,SetTexture 0 11,SetSamplerUniform "w7" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 4,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 10,SetTexture 0 9,SetSamplerUniform "o6" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 3,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 11,SetTexture 0 7,SetSamplerUniform "g5" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 2,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 12,SetTexture 0 5,SetSamplerUniform "y3" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 13,SetTexture 0 3,SetSamplerUniform "q2" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 14,SetTexture 0 1,SetSamplerUniform "i1" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 2 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 3 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 4 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 5 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 6 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 7 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 8 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 9 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 10 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 11 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 12 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 13 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 14 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 15 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 16 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 17 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 18 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 19 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 20 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 21 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 22 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 23 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 24 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 25 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 26 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 27 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 28 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 29 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("j21",Parameter {name = "position4", ty = V4F}),("k21",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q19",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 j21 ;\nin vec2 k21 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = k21;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.0 ),sin ( 0.0 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.0 ) ),cos ( 0.0 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( j21 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q19 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( q19,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("k24",Parameter {name = "position4", ty = V4F}),("l24",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("i18",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 k24 ;\nin vec2 l24 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = l24;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.1 ),sin ( 0.1 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.1 ) ),cos ( 0.1 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( k24 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D i18 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( i18,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("l27",Parameter {name = "position4", ty = V4F}),("m27",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a17",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 l27 ;\nin vec2 m27 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = m27;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.2 ),sin ( 0.2 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.2 ) ),cos ( 0.2 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( l27 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D a17 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( a17,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m30",Parameter {name = "position4", ty = V4F}),("n30",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s15",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m30 ;\nin vec2 n30 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = n30;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.3 ),sin ( 0.3 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.3 ) ),cos ( 0.3 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( m30 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s15 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( s15,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("n33",Parameter {name = "position4", ty = V4F}),("o33",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("k14",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 n33 ;\nin vec2 o33 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = o33;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.4 ),sin ( 0.4 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.4 ) ),cos ( 0.4 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( n33 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D k14 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( k14,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("o36",Parameter {name = "position4", ty = V4F}),("p36",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("c13",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 o36 ;\nin vec2 p36 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = p36;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.5 ),sin ( 0.5 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.5 ) ),cos ( 0.5 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( o36 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D c13 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( c13,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("p39",Parameter {name = "position4", ty = V4F}),("q39",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("u11",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 p39 ;\nin vec2 q39 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = q39;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.6 ),sin ( 0.6 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.6 ) ),cos ( 0.6 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( p39 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D u11 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( u11,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("q42",Parameter {name = "position4", ty = V4F}),("r42",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("m10",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 q42 ;\nin vec2 r42 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = r42;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.7 ),sin ( 0.7 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.7 ) ),cos ( 0.7 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( q42 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D m10 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( m10,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("r45",Parameter {name = "position4", ty = V4F}),("s45",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("e9",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 r45 ;\nin vec2 s45 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = s45;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.8 ),sin ( 0.8 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.8 ) ),cos ( 0.8 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( r45 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D e9 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( e9,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("s48",Parameter {name = "position4", ty = V4F}),("t48",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w7",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 s48 ;\nin vec2 t48 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = t48;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 0.9 ),sin ( 0.9 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 0.9 ) ),cos ( 0.9 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( s48 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D w7 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( w7,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("t51",Parameter {name = "position4", ty = V4F}),("u51",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("o6",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 t51 ;\nin vec2 u51 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = u51;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 1.0 ),sin ( 1.0 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 1.0 ) ),cos ( 1.0 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( t51 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D o6 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( o6,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("u54",Parameter {name = "position4", ty = V4F}),("v54",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("g5",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 u54 ;\nin vec2 v54 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = v54;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 1.1 ),sin ( 1.1 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 1.1 ) ),cos ( 1.1 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( u54 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D g5 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( g5,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("v57",Parameter {name = "position4", ty = V4F}),("w57",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("y3",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 v57 ;\nin vec2 w57 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = w57;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 1.2 ),sin ( 1.2 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 1.2 ) ),cos ( 1.2 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( v57 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D y3 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( y3,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("w60",Parameter {name = "position4", ty = V4F}),("x60",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q2",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 w60 ;\nin vec2 x60 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = x60;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 1.3 ),sin ( 1.3 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 1.3 ) ),cos ( 1.3 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( w60 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q2 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( q2,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("x63",Parameter {name = "position4", ty = V4F}),("y63",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("i1",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 x63 ;\nin vec2 y63 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = y63;\ngl_Position = ( MVP ) * ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( 1.4 ),sin ( 1.4 ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( 1.4 ) ),cos ( 1.4 ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( x63 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D i1 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( i1,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}], streams = [], commands = [SetRenderTarget 15,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetRenderTarget 14,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 0,SetTexture 0 29,SetSamplerUniform "q19" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 13,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 1,SetTexture 0 27,SetSamplerUniform "i18" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 12,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 2,SetTexture 0 25,SetSamplerUniform "a17" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 11,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 3,SetTexture 0 23,SetSamplerUniform "s15" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 10,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 4,SetTexture 0 21,SetSamplerUniform "k14" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 9,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 5,SetTexture 0 19,SetSamplerUniform "c13" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 8,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 6,SetTexture 0 17,SetSamplerUniform "u11" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 7,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 7,SetTexture 0 15,SetSamplerUniform "m10" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 6,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 8,SetTexture 0 13,SetSamplerUniform "e9" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 5,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 9,SetTexture 0 11,SetSamplerUniform "w7" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 4,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 10,SetTexture 0 9,SetSamplerUniform "o6" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 3,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 11,SetTexture 0 7,SetSamplerUniform "g5" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 2,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 12,SetTexture 0 5,SetSamplerUniform "y3" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 13,SetTexture 0 3,SetSamplerUniform "q2" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.0 1.0)}],SetProgram 14,SetTexture 0 1,SetSamplerUniform "i1" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/recursivetexture02.out b/testdata/recursivetexture02.out
index dd0a100b..eab42dc3 100644
--- a/testdata/recursivetexture02.out
+++ b/testdata/recursivetexture02.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 2 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 3 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 4 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 5 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 6 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 7 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 8 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 9 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("g6",Parameter {name = "position4", ty = V4F}),("h6",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 g6 ;\nin vec2 h6 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = h6;\ngl_Position = ( ( MVP ) * ( g6 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ).xyxy;\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("l8",Parameter {name = "position4", ty = V4F}),("m8",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("g4",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 l8 ;\nin vec2 m8 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = m8;\ngl_Position = ( ( MVP ) * ( l8 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D g4 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( g4,vv0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("q10",Parameter {name = "position4", ty = V4F}),("r10",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("k3",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 q10 ;\nin vec2 r10 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = r10;\ngl_Position = ( ( MVP ) * ( q10 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D k3 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( k3,vv0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("v12",Parameter {name = "position4", ty = V4F}),("w12",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("o2",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 v12 ;\nin vec2 w12 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = w12;\ngl_Position = ( ( MVP ) * ( v12 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D o2 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( o2,vv0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("a15",Parameter {name = "position4", ty = V4F}),("b15",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s1",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 a15 ;\nin vec2 b15 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = b15;\ngl_Position = ( ( MVP ) * ( a15 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s1 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( s1,vv0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("f17",Parameter {name = "position4", ty = V4F}),("g17",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 f17 ;\nin vec2 g17 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = g17;\ngl_Position = ( ( MVP ) * ( f17 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D w0 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( w0,vv0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5]}], streams = [], commands = [SetRenderTarget 5,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 4,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 1,SetTexture 0 9,SetSamplerUniform "g4" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 3,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 2,SetTexture 0 7,SetSamplerUniform "k3" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 2,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 3,SetTexture 0 5,SetSamplerUniform "o2" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 4,SetTexture 0 3,SetSamplerUniform "s1" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 5,SetTexture 0 1,SetSamplerUniform "w0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 1024 768), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 2 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 3 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 4 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 5 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 6 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 7 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 8 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 9 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("h6",Parameter {name = "position4", ty = V4F}),("i6",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 h6 ;\nin vec2 i6 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = i6;\ngl_Position = ( ( MVP ) * ( h6 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ).xyxy;\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("n8",Parameter {name = "position4", ty = V4F}),("o8",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("g4",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 n8 ;\nin vec2 o8 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = o8;\ngl_Position = ( ( MVP ) * ( n8 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D g4 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( g4,vv0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("t10",Parameter {name = "position4", ty = V4F}),("u10",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("k3",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 t10 ;\nin vec2 u10 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = u10;\ngl_Position = ( ( MVP ) * ( t10 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D k3 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( k3,vv0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("a13",Parameter {name = "vertexUV", ty = V2F}),("z12",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [("o2",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 z12 ;\nin vec2 a13 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = a13;\ngl_Position = ( ( MVP ) * ( z12 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D o2 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( o2,vv0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("f15",Parameter {name = "position4", ty = V4F}),("g15",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s1",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 f15 ;\nin vec2 g15 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = g15;\ngl_Position = ( ( MVP ) * ( f15 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s1 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( s1,vv0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("l17",Parameter {name = "position4", ty = V4F}),("m17",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 l17 ;\nin vec2 m17 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = m17;\ngl_Position = ( ( MVP ) * ( l17 ) ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D w0 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( w0,vv0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5]}], streams = [], commands = [SetRenderTarget 5,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 4,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 1,SetTexture 0 9,SetSamplerUniform "g4" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 3,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 2,SetTexture 0 7,SetSamplerUniform "k3" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 2,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 3,SetTexture 0 5,SetSamplerUniform "o2" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 4,SetTexture 0 3,SetSamplerUniform "s1" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.0 1.0)}],SetProgram 5,SetTexture 0 1,SetSamplerUniform "w0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/reduce01.out b/testdata/reduce01.out
index cdef68ba..c4ceecf1 100644
--- a/testdata/reduce01.out
+++ b/testdata/reduce01.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("k1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 k1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = k1;\ngl_Position = k1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("l1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 l1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = l1;\ngl_Position = l1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/reduce05.out b/testdata/reduce05.out
index 2db6fa95..e771a118 100644
--- a/testdata/reduce05.out
+++ b/testdata/reduce05.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("l1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 l1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = l1;\ngl_Position = l1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 1.0,0.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [], programStreams = fromList [("a3",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 a3 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = a3;\ngl_Position = a3;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,1.0,0.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 1.0 1.0)}],SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 False True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True False False False))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("m1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 m1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = m1;\ngl_Position = m1;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 1.0,0.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [], programStreams = fromList [("c3",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 c3 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = c3;\ngl_Position = c3;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 0.0,1.0,0.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 1.0 1.0)}],SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 False True False False))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True False False False))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/simple02.out b/testdata/simple02.out
index dbc307e8..e980dc3c 100644
--- a/testdata/simple02.out
+++ b/testdata/simple02.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("w1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 w1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = w1;\ngl_Position = ( MVP ) * ( w1 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ) * ( vec4 ( 1.0,0.4,0.0,0.2 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("x1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 x1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = x1;\ngl_Position = ( MVP ) * ( x1 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( vv0 ) * ( vec4 ( 1.0,0.4,0.0,0.2 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp (Blend {colorEqSrc = FuncAdd, alphaEqSrc = FuncAdd, colorFSrc = SrcAlpha, colorFDst = OneMinusSrcAlpha, alphaFSrc = SrcAlpha, alphaFDst = OneMinusSrcAlpha, color = V4 1.0 1.0 1.0 1.0}) (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/simple03.out b/testdata/simple03.out
index df5b8905..1866b9b8 100644
--- a/testdata/simple03.out
+++ b/testdata/simple03.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("viewProj",M44F)], programStreams = fromList [("x1",Parameter {name = "position", ty = V3F}),("y1",Parameter {name = "color", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nin vec3 x1 ;\nin vec3 y1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( y1 ).x,( y1 ).y,( y1 ).z,1.0 );\ngl_Position = ( viewProj ) * ( vec4 ( ( x1 ).x,( x1 ).y,( x1 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 1.0,1.0,1.0,1.0 );\n}\n"},Program {programUniforms = fromList [("viewProj",M44F)], programStreams = fromList [("t4",Parameter {name = "position", ty = V3F}),("u4",Parameter {name = "color", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nin vec3 t4 ;\nin vec3 u4 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( u4 ).x,( u4 ).y,( u4 ).z,1.0 );\ngl_Position = ( viewProj ) * ( vec4 ( ( t4 ).x,( t4 ).y,( t4 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "missing shader", slotStreams = fromList [("color",V3F),("position",V3F)], slotUniforms = fromList [("viewProj",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) (Offset (-1.0) 0.0) FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("viewProj",M44F)], programStreams = fromList [("y1",Parameter {name = "position", ty = V3F}),("z1",Parameter {name = "color", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nin vec3 y1 ;\nin vec3 z1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( z1 ).x,( z1 ).y,( z1 ).z,1.0 );\ngl_Position = ( viewProj ) * ( vec4 ( ( y1 ).x,( y1 ).y,( y1 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 1.0,1.0,1.0,1.0 );\n}\n"},Program {programUniforms = fromList [("viewProj",M44F)], programStreams = fromList [("v4",Parameter {name = "position", ty = V3F}),("w4",Parameter {name = "color", ty = V3F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 viewProj ;\nin vec3 v4 ;\nin vec3 w4 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = vec4 ( ( w4 ).x,( w4 ).y,( w4 ).z,1.0 );\ngl_Position = ( viewProj ) * ( vec4 ( ( v4 ).x,( v4 ).y,( v4 ).z,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "missing shader", slotStreams = fromList [("color",V3F),("position",V3F)], slotUniforms = fromList [("viewProj",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.4 1.0)}],SetProgram 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0,SetProgram 0,SetRasterContext (TriangleCtx CullNone (PolygonLine 20.0) (Offset (-1.0) 0.0) FirstVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Lequal True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/texture01.out b/testdata/texture01.out
index 06f9fac7..676399ba 100644
--- a/testdata/texture01.out
+++ b/testdata/texture01.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("diffuse",FTexture2D)], programStreams = fromList [("x1",Parameter {name = "position4", ty = V4F}),("y1",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("diffuse",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 x1 ;\nin vec2 y1 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = y1;\ngl_Position = ( ( MVP ) * ( x1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D diffuse ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( diffuse,vv0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F),("diffuse",FTexture2D)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetSamplerUniform "diffuse" 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("diffuse",FTexture2D)], programStreams = fromList [("y1",Parameter {name = "position4", ty = V4F}),("z1",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("diffuse",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 y1 ;\nin vec2 z1 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = z1;\ngl_Position = ( ( MVP ) * ( y1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D diffuse ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( diffuse,vv0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F),("diffuse",FTexture2D)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetSamplerUniform "diffuse" 1,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file
diff --git a/testdata/texture02.out b/testdata/texture02.out
index 49847225..feb99a5f 100644
--- a/testdata/texture02.out
+++ b/testdata/texture02.out
@@ -1 +1 @@
Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 128 128), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 128 128), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("l2",Parameter {name = "position4", ty = V4F}),("m2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("v0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 l2 ;\nin vec2 m2 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = m2;\ngl_Position = ( ( MVP ) * ( l2 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D v0 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( v0,vv0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 1.0 1.0)}],SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetTexture 0 1,SetSamplerUniform "v0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 128 128), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 128 128), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m2",Parameter {name = "position4", ty = V4F}),("n2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("v0",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m2 ;\nin vec2 n2 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = n2;\ngl_Position = ( ( MVP ) * ( m2 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D v0 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( v0,vv0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 1.0 1.0)}],SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 0.0 0.0 1.0)}],SetProgram 0,SetTexture 0 1,SetSamplerUniform "v0" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file