diff options
36 files changed, 862 insertions, 899 deletions
diff --git a/lc/Builtins.lc b/lc/Builtins.lc index aa0af3ff..f05e501a 100644 --- a/lc/Builtins.lc +++ b/lc/Builtins.lc | |||
@@ -372,22 +372,6 @@ mapPrimitives f = mapStream (mapPrimitive f) | |||
372 | fetch s a t = fetch_ @a s t | 372 | fetch s a t = fetch_ @a s t |
373 | fetchArrays a t = fetchArrays_ @a t | 373 | fetchArrays a t = fetchArrays_ @a t |
374 | 374 | ||
375 | data DepthHandler = NoDepth | DefinedDepth | ||
376 | {- todo: remove? | ||
377 | type family AddSemantics (d :: DepthHandler) a where | ||
378 | AddSemantics 'NoDepth () = () | ||
379 | AddSemantics 'NoDepth (a, b) = (Color a, Color b) | ||
380 | AddSemantics 'NoDepth (a, b, c) = (Color a, Color b, Color c) | ||
381 | AddSemantics 'NoDepth (a, b, c, d) = (Color a, Color b, Color c, Color d) | ||
382 | AddSemantics 'NoDepth (a, b, c, d, e) = (Color a, Color b, Color c, Color d, Color e) | ||
383 | AddSemantics 'NoDepth a = Color a -- TODO | ||
384 | AddSemantics 'DefinedDepth () = () | ||
385 | AddSemantics 'DefinedDepth (a, b) = (Depth Float, Color a, Color b) | ||
386 | AddSemantics 'DefinedDepth (a, b, c) = (Depth Float, Color a, Color b, Color c) | ||
387 | AddSemantics 'DefinedDepth (a, b, c, d) = (Depth Float, Color a, Color b, Color c, Color d) | ||
388 | -- AddSemantics 'DefinedDepth (a, b, c, d, e) = (Depth Float, Color a, Color b, Color c, Color d, Color e) | ||
389 | AddSemantics 'DefinedDepth a = (Depth Float, Color a) -- TODO | ||
390 | -} | ||
391 | type family RemSemantics a where | 375 | type family RemSemantics a where |
392 | RemSemantics () = () | 376 | RemSemantics () = () |
393 | RemSemantics (Color a) = a | 377 | RemSemantics (Color a) = a |
@@ -400,34 +384,28 @@ type family RemSemantics a where | |||
400 | RemSemantics (Depth Float, Color a, Color b) = (a, b) | 384 | RemSemantics (Depth Float, Color a, Color b) = (a, b) |
401 | RemSemantics (Depth Float, Color a, Color b, Color c) = (a, b, c) | 385 | RemSemantics (Depth Float, Color a, Color b, Color c) = (a, b, c) |
402 | RemSemantics (Depth Float, Color a, Color b, Color c, Color d) = (a, b, c, d) | 386 | RemSemantics (Depth Float, Color a, Color b, Color c, Color d) = (a, b, c, d) |
403 | -- RemSemantics 'DefinedDepth (a, b, c, d, e) = (Depth Float, Color a, Color b, Color c, Color d, Color e) | ||
404 | 387 | ||
405 | -- Render Operations | 388 | -- Render Operations |
406 | data Fragment :: Nat -> DepthHandler -> Type -> Type | 389 | data Fragment :: Nat -> Type -> Type |
407 | 390 | ||
408 | type FragmentStream n a t = Stream (Fragment n a t) | 391 | type FragmentStream n t = Stream (Fragment n t) |
409 | 392 | ||
410 | customizeDepth :: (a -> Float) -> Fragment n _ a -> Fragment n DefinedDepth a | 393 | customizeDepth :: (a -> Float) -> Fragment n a -> Fragment n a |
411 | 394 | ||
412 | customizeDepths f = mapStream (customizeDepth f) | 395 | customizeDepths f = mapStream (customizeDepth f) |
413 | {- todo: remove? | ||
414 | noDepth :: Fragment n _ a -> Fragment n NoDepth a | ||
415 | |||
416 | noDepths = mapStream noDepth | ||
417 | -} | ||
418 | 396 | ||
419 | rasterize_ :: (b ~ InterpolatedType y, a ~ JoinTupleType (Vec 4 Float) b) | 397 | rasterize_ :: (b ~ InterpolatedType y, a ~ JoinTupleType (Vec 4 Float) b) |
420 | => (a -> Float) -- point size | 398 | => (a -> Float) -- point size |
421 | -> y -- tuple of Smooth & Flat | 399 | -> y -- tuple of Smooth & Flat |
422 | -> RasterContext x | 400 | -> RasterContext x |
423 | -> Primitive x a -> FragmentStream 1 DefinedDepth b | 401 | -> Primitive x a -> FragmentStream 1 b |
424 | 402 | ||
425 | filterFragment :: (a -> Bool) -> Fragment n _ a -> Bool | 403 | filterFragment :: (a -> Bool) -> Fragment n a -> Bool |
426 | 404 | ||
427 | filterFragments :: (a -> Bool) -> (FragmentStream n d a) -> (FragmentStream n d a) | 405 | filterFragments :: (a -> Bool) -> (FragmentStream n a) -> (FragmentStream n a) |
428 | filterFragments p = filterStream (filterFragment p) | 406 | filterFragments p = filterStream (filterFragment p) |
429 | 407 | ||
430 | mapFragment :: (a -> b) -> Fragment n d a -> Fragment n d b | 408 | mapFragment :: (a -> b) -> Fragment n a -> Fragment n b |
431 | 409 | ||
432 | mapFragments f = mapStream (mapFragment f) | 410 | mapFragments f = mapStream (mapFragment f) |
433 | 411 | ||
@@ -451,7 +429,7 @@ instance (DefaultFragOp a, DefaultFragOp b) => DefaultFragOps (FragmentOperation | |||
451 | (defaultFragOp @a @_, defaultFragOp @b @_) | 429 | (defaultFragOp @a @_, defaultFragOp @b @_) |
452 | -} | 430 | -} |
453 | data FrameBuffer (n :: Nat) b where | 431 | data FrameBuffer (n :: Nat) b where |
454 | Accumulate :: FragOps' b -> (FragmentStream n d (RemSemantics b)) -> FrameBuffer n b -> FrameBuffer n b | 432 | Accumulate :: FragOps' b -> (FragmentStream n (RemSemantics b)) -> FrameBuffer n b -> FrameBuffer n b |
455 | FrameBuffer :: (ValidFrameBuffer b, SameLayerCounts a, FrameBuffer n b ~ TFFrameBuffer a) => a -> FrameBuffer n b | 433 | FrameBuffer :: (ValidFrameBuffer b, SameLayerCounts a, FrameBuffer n b ~ TFFrameBuffer a) => a -> FrameBuffer n b |
456 | 434 | ||
457 | accumulate ctx fshader fstr fb = Accumulate ctx (mapFragments fshader fstr) fb | 435 | accumulate ctx fshader fstr fb = Accumulate ctx (mapFragments fshader fstr) fb |
diff --git a/src/LambdaCube/Compiler/CoreToIR.hs b/src/LambdaCube/Compiler/CoreToIR.hs index 3ef2e146..2a71dff7 100644 --- a/src/LambdaCube/Compiler/CoreToIR.hs +++ b/src/LambdaCube/Compiler/CoreToIR.hs | |||
@@ -138,7 +138,7 @@ getSlot x = error $ "getSlot: " ++ ppShow x | |||
138 | 138 | ||
139 | getPrim (A1 "Stream" (A2 "Primitive" p _)) = p | 139 | getPrim (A1 "Stream" (A2 "Primitive" p _)) = p |
140 | getPrim' (A1 "Stream" (A2 "Primitive" _ a)) = a | 140 | getPrim' (A1 "Stream" (A2 "Primitive" _ a)) = a |
141 | getPrim'' (A1 "Stream" (A3 "Fragment" _ _ a)) = a | 141 | getPrim'' (A1 "Stream" (A2 "Fragment" _ a)) = a |
142 | 142 | ||
143 | addProgramToSlot :: IR.ProgramName -> IR.Command -> CG () | 143 | addProgramToSlot :: IR.ProgramName -> IR.Command -> CG () |
144 | addProgramToSlot prgName (IR.RenderSlot slotName) = do | 144 | addProgramToSlot prgName (IR.RenderSlot slotName) = do |
diff --git a/testdata/Builtins.out b/testdata/Builtins.out index 877414f4..38e5aa91 100644 --- a/testdata/Builtins.out +++ b/testdata/Builtins.out | |||
@@ -1249,344 +1249,479 @@ testdata/Builtins.lc 372:15-372:21 {a:'PrimitiveType} -> {b} -> {c:'Unit} -> 'S | |||
1249 | testdata/Builtins.lc 372:1-372:6 {a} -> 'String -> c:'PrimitiveType -> a -> 'Stream ('Primitive c a) | 1249 | testdata/Builtins.lc 372:1-372:6 {a} -> 'String -> c:'PrimitiveType -> a -> 'Stream ('Primitive c a) |
1250 | testdata/Builtins.lc 373:19-373:31 {a:'PrimitiveType} -> {b} -> {c} -> {d:'Unit} -> {e : b ~ 'FTRepr' c} -> c -> 'Stream ('Primitive a b) | 1250 | testdata/Builtins.lc 373:19-373:31 {a:'PrimitiveType} -> {b} -> {c} -> {d:'Unit} -> {e : b ~ 'FTRepr' c} -> c -> 'Stream ('Primitive a b) |
1251 | testdata/Builtins.lc 373:1-373:12 {a} -> b:'PrimitiveType -> a -> 'Stream ('Primitive b ('FTRepr' a)) | 1251 | testdata/Builtins.lc 373:1-373:12 {a} -> b:'PrimitiveType -> a -> 'Stream ('Primitive b ('FTRepr' a)) |
1252 | testdata/Builtins.lc 375:6-375:18 Type | 1252 | testdata/Builtins.lc 376:23-386:82 Type->Type |
1253 | testdata/Builtins.lc 375:21-375:28 'DepthHandler | 1253 | testdata/Builtins.lc 376:23-386:82 Type |
1254 | testdata/Builtins.lc 375:31-375:43 'DepthHandler | 1254 | testdata/Builtins.lc 376:23-376:25 Type |
1255 | testdata/Builtins.lc 392:23-402:82 Type->Type | 1255 | testdata/Builtins.lc 377:25-386:82 Type |
1256 | testdata/Builtins.lc 392:23-402:82 Type | 1256 | testdata/Builtins.lc 377:25-377:26 Type |
1257 | testdata/Builtins.lc 392:23-392:25 Type | 1257 | testdata/Builtins.lc 378:19-386:82 Type |
1258 | testdata/Builtins.lc 393:25-402:82 Type | 1258 | testdata/Builtins.lc 378:39-378:45 Type -> Type->Type |
1259 | testdata/Builtins.lc 393:25-393:26 Type | 1259 | testdata/Builtins.lc 378:39-378:45 Type->Type |
1260 | testdata/Builtins.lc 394:19-402:82 Type | 1260 | testdata/Builtins.lc 378:39-378:45 Type |
1261 | testdata/Builtins.lc 394:39-394:45 Type -> Type->Type | 1261 | testdata/Builtins.lc 378:19-378:35 Type |
1262 | testdata/Builtins.lc 394:39-394:45 Type->Type | 1262 | testdata/Builtins.lc 379:19-386:82 Type |
1263 | testdata/Builtins.lc 394:39-394:45 Type | 1263 | testdata/Builtins.lc 379:48-384:58 Type -> Type -> Type->Type |
1264 | testdata/Builtins.lc 394:19-394:35 Type | 1264 | testdata/Builtins.lc 379:48-384:58 Type -> Type->Type |
1265 | testdata/Builtins.lc 395:19-402:82 Type | 1265 | testdata/Builtins.lc 379:48-384:58 Type->Type |
1266 | testdata/Builtins.lc 395:48-400:58 Type -> Type -> Type->Type | 1266 | testdata/Builtins.lc 379:48-384:58 Type |
1267 | testdata/Builtins.lc 395:48-400:58 Type -> Type->Type | 1267 | testdata/Builtins.lc 379:48-379:57 Type->Type |
1268 | testdata/Builtins.lc 395:48-400:58 Type->Type | 1268 | testdata/Builtins.lc 379:48-379:57 Type |
1269 | testdata/Builtins.lc 395:48-400:58 Type | 1269 | testdata/Builtins.lc 379:48-379:57 Type -> Type -> Type->Type |
1270 | testdata/Builtins.lc 395:48-395:57 Type->Type | 1270 | testdata/Builtins.lc 384:52-384:58 Type |
1271 | testdata/Builtins.lc 395:48-395:57 Type | 1271 | testdata/Builtins.lc 384:52-384:58 Type->Type |
1272 | testdata/Builtins.lc 395:48-395:57 Type -> Type -> Type->Type | 1272 | testdata/Builtins.lc 384:52-384:58 Type -> Type->Type |
1273 | testdata/Builtins.lc 400:52-400:58 Type | 1273 | testdata/Builtins.lc 379:19-379:44 Type |
1274 | testdata/Builtins.lc 400:52-400:58 Type->Type | 1274 | testdata/Builtins.lc 380:19-386:82 Type |
1275 | testdata/Builtins.lc 400:52-400:58 Type -> Type->Type | 1275 | testdata/Builtins.lc 380:57-385:70 Type -> Type -> Type -> Type->Type |
1276 | testdata/Builtins.lc 395:19-395:44 Type | 1276 | testdata/Builtins.lc 380:57-385:70 Type -> Type -> Type->Type |
1277 | testdata/Builtins.lc 396:19-402:82 Type | 1277 | testdata/Builtins.lc 380:57-385:70 Type -> Type->Type |
1278 | testdata/Builtins.lc 396:57-401:70 Type -> Type -> Type -> Type->Type | 1278 | testdata/Builtins.lc 380:57-385:70 Type->Type |
1279 | testdata/Builtins.lc 396:57-401:70 Type -> Type -> Type->Type | 1279 | testdata/Builtins.lc 380:57-385:70 Type |
1280 | testdata/Builtins.lc 396:57-401:70 Type -> Type->Type | 1280 | testdata/Builtins.lc 380:57-380:69 Type->Type |
1281 | testdata/Builtins.lc 396:57-401:70 Type->Type | 1281 | testdata/Builtins.lc 380:57-380:69 Type |
1282 | testdata/Builtins.lc 396:57-401:70 Type | 1282 | testdata/Builtins.lc 380:57-380:69 Type -> Type -> Type -> Type->Type |
1283 | testdata/Builtins.lc 396:57-396:69 Type->Type | 1283 | testdata/Builtins.lc 385:61-385:70 Type |
1284 | testdata/Builtins.lc 396:57-396:69 Type | 1284 | testdata/Builtins.lc 385:61-385:70 Type->Type |
1285 | testdata/Builtins.lc 396:57-396:69 Type -> Type -> Type -> Type->Type | 1285 | testdata/Builtins.lc 385:61-385:70 Type -> Type -> Type->Type |
1286 | testdata/Builtins.lc 401:61-401:70 Type | 1286 | testdata/Builtins.lc 380:19-380:53 Type |
1287 | testdata/Builtins.lc 401:61-401:70 Type->Type | 1287 | testdata/Builtins.lc 381:19-386:82 Type |
1288 | testdata/Builtins.lc 401:61-401:70 Type -> Type -> Type->Type | 1288 | testdata/Builtins.lc 381:66-386:82 Type -> Type -> Type -> Type -> Type->Type |
1289 | testdata/Builtins.lc 396:19-396:53 Type | 1289 | testdata/Builtins.lc 381:66-386:82 Type -> Type -> Type -> Type->Type |
1290 | testdata/Builtins.lc 397:19-402:82 Type | 1290 | testdata/Builtins.lc 381:66-386:82 Type -> Type -> Type->Type |
1291 | testdata/Builtins.lc 397:66-402:82 Type -> Type -> Type -> Type -> Type->Type | 1291 | testdata/Builtins.lc 381:66-386:82 Type -> Type->Type |
1292 | testdata/Builtins.lc 397:66-402:82 Type -> Type -> Type -> Type->Type | 1292 | testdata/Builtins.lc 381:66-386:82 Type->Type |
1293 | testdata/Builtins.lc 397:66-402:82 Type -> Type -> Type->Type | 1293 | testdata/Builtins.lc 381:66-386:82 Type |
1294 | testdata/Builtins.lc 397:66-402:82 Type -> Type->Type | 1294 | testdata/Builtins.lc 381:66-381:81 Type->Type |
1295 | testdata/Builtins.lc 397:66-402:82 Type->Type | 1295 | testdata/Builtins.lc 381:66-381:81 Type |
1296 | testdata/Builtins.lc 397:66-402:82 Type | 1296 | testdata/Builtins.lc 381:66-381:81 Type -> Type -> Type -> Type -> Type->Type |
1297 | testdata/Builtins.lc 397:66-397:81 Type->Type | 1297 | testdata/Builtins.lc 386:70-386:82 Type |
1298 | testdata/Builtins.lc 397:66-397:81 Type | 1298 | testdata/Builtins.lc 386:70-386:82 Type->Type |
1299 | testdata/Builtins.lc 397:66-397:81 Type -> Type -> Type -> Type -> Type->Type | 1299 | testdata/Builtins.lc 386:70-386:82 Type -> Type -> Type -> Type->Type |
1300 | testdata/Builtins.lc 402:70-402:82 Type | 1300 | testdata/Builtins.lc 381:19-381:62 Type |
1301 | testdata/Builtins.lc 402:70-402:82 Type->Type | 1301 | testdata/Builtins.lc 382:25-382:36 Type |
1302 | testdata/Builtins.lc 402:70-402:82 Type -> Type -> Type -> Type->Type | 1302 | testdata/Builtins.lc 382:34-382:36 Type->Type |
1303 | testdata/Builtins.lc 397:19-397:62 Type | 1303 | testdata/Builtins.lc 382:34-382:36 Type |
1304 | testdata/Builtins.lc 398:25-398:36 Type | 1304 | testdata/Builtins.lc 382:25-382:30 Type |
1305 | testdata/Builtins.lc 398:34-398:36 Type->Type | 1305 | testdata/Builtins.lc 376:5-376:17 Type->Type |
1306 | testdata/Builtins.lc 398:34-398:36 Type | 1306 | testdata/Builtins.lc 389:18-389:21 Type |
1307 | testdata/Builtins.lc 398:25-398:30 Type | 1307 | testdata/Builtins.lc 389:25-389:37 Type |
1308 | testdata/Builtins.lc 392:5-392:17 Type->Type | 1308 | testdata/Builtins.lc 389:25-389:29 Type |
1309 | testdata/Builtins.lc 406:18-406:21 Type | 1309 | testdata/Builtins.lc 389:33-389:37 Type |
1310 | testdata/Builtins.lc 406:25-406:53 Type | 1310 | testdata/Builtins.lc 389:6-389:14 'Nat -> Type->Type |
1311 | testdata/Builtins.lc 406:25-406:37 Type | 1311 | testdata/Builtins.lc 391:27-391:33 Type->Type |
1312 | testdata/Builtins.lc 406:41-406:53 Type | 1312 | testdata/Builtins.lc 391:35-391:47 Type |
1313 | testdata/Builtins.lc 406:41-406:45 Type | 1313 | testdata/Builtins.lc 391:35-391:43 'Nat -> Type->Type |
1314 | testdata/Builtins.lc 406:49-406:53 Type | 1314 | testdata/Builtins.lc 391:44-391:45 'Nat |
1315 | testdata/Builtins.lc 406:6-406:14 'Nat -> 'DepthHandler -> Type->Type | 1315 | testdata/Builtins.lc 391:44-391:45 V3 |
1316 | testdata/Builtins.lc 408:29-408:35 Type->Type | 1316 | testdata/Builtins.lc 391:46-391:47 Type |
1317 | testdata/Builtins.lc 408:37-408:51 Type | 1317 | testdata/Builtins.lc 391:46-391:47 V1 |
1318 | testdata/Builtins.lc 408:37-408:45 'Nat -> 'DepthHandler -> Type->Type | 1318 | testdata/Builtins.lc 391:6-391:20 'Nat -> Type->Type |
1319 | testdata/Builtins.lc 408:46-408:47 'Nat | 1319 | testdata/Builtins.lc 393:20-393:63 Type |
1320 | testdata/Builtins.lc 408:46-408:47 V5 | 1320 | testdata/Builtins.lc 393:20-393:63 V3 |
1321 | testdata/Builtins.lc 408:48-408:49 'DepthHandler | 1321 | testdata/Builtins.lc 393:25-393:30 Type |
1322 | testdata/Builtins.lc 408:48-408:49 V3 | 1322 | testdata/Builtins.lc 393:35-393:43 'Nat -> Type->Type |
1323 | testdata/Builtins.lc 408:50-408:51 Type | 1323 | testdata/Builtins.lc 393:20-393:63 'Nat |
1324 | testdata/Builtins.lc 408:50-408:51 V1 | 1324 | testdata/Builtins.lc 393:20-393:63 V2 |
1325 | testdata/Builtins.lc 408:6-408:20 'Nat -> 'DepthHandler -> Type->Type | 1325 | testdata/Builtins.lc 393:51-393:59 'Nat -> Type->Type |
1326 | testdata/Builtins.lc 410:20-410:78 Type | 1326 | testdata/Builtins.lc 393:1-393:15 {a} -> {b:'Nat} -> a->'Float -> 'Fragment b a -> 'Fragment b a |
1327 | testdata/Builtins.lc 410:20-410:78 V3 | 1327 | testdata/Builtins.lc 395:21-395:30 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b |
1328 | testdata/Builtins.lc 410:25-410:30 Type | 1328 | testdata/Builtins.lc 395:32-395:46 V1->V1 |
1329 | testdata/Builtins.lc 410:35-410:43 'Nat -> 'DepthHandler -> Type->Type | 1329 | testdata/Builtins.lc 395:32-395:46 {a} -> {b:'Nat} -> a->'Float -> 'Fragment b a -> 'Fragment b a |
1330 | testdata/Builtins.lc 410:20-410:78 'Nat | 1330 | testdata/Builtins.lc 395:1-395:16 {a} -> {b:'Nat} -> a->'Float -> 'Stream ('Fragment b a) -> 'Stream ('Fragment b a) |
1331 | testdata/Builtins.lc 410:20-410:78 V2 | 1331 | testdata/Builtins.lc 397:21-401:55 Type |
1332 | testdata/Builtins.lc 410:53-410:61 'Nat -> 'DepthHandler -> Type->Type | 1332 | testdata/Builtins.lc 397:21-401:55 V7 |
1333 | testdata/Builtins.lc 410:64-410:76 'DepthHandler | 1333 | testdata/Builtins.lc 397:25-397:41 Type->Type |
1334 | testdata/Builtins.lc 410:1-410:15 {a:'DepthHandler} -> {b} -> {c:'Nat} -> b->'Float -> 'Fragment c a b -> 'Fragment c DefinedDepth b | 1334 | testdata/Builtins.lc 397:21-401:55 V5 |
1335 | testdata/Builtins.lc 412:21-412:30 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b | 1335 | testdata/Builtins.lc 397:21-401:55 V4 |
1336 | testdata/Builtins.lc 412:32-412:46 V1->V1 | 1336 | testdata/Builtins.lc 397:49-397:62 Type -> Type->Type |
1337 | testdata/Builtins.lc 412:32-412:46 {a:'DepthHandler} -> {b} -> {c:'Nat} -> b->'Float -> 'Fragment c a b -> 'Fragment c DefinedDepth b | 1337 | testdata/Builtins.lc 397:64-397:75 Type |
1338 | testdata/Builtins.lc 412:1-412:16 {a:'DepthHandler} -> {b} -> {c:'Nat} -> b->'Float -> 'Stream ('Fragment c a b) -> 'Stream ('Fragment c DefinedDepth b) | 1338 | testdata/Builtins.lc 397:64-397:67 'Nat -> Type->Type |
1339 | testdata/Builtins.lc 419:21-423:68 Type | 1339 | testdata/Builtins.lc 397:70-397:75 Type |
1340 | testdata/Builtins.lc 419:21-423:68 V7 | 1340 | testdata/Builtins.lc 398:26-398:31 Type |
1341 | testdata/Builtins.lc 419:25-419:41 Type->Type | 1341 | testdata/Builtins.lc 400:20-400:33 'PrimitiveType->Type |
1342 | testdata/Builtins.lc 419:21-423:68 V5 | 1342 | testdata/Builtins.lc 397:21-401:55 'PrimitiveType |
1343 | testdata/Builtins.lc 419:21-423:68 V4 | 1343 | testdata/Builtins.lc 401:20-401:29 'PrimitiveType -> Type->Type |
1344 | testdata/Builtins.lc 419:49-419:62 Type -> Type->Type | 1344 | testdata/Builtins.lc 401:37-401:51 'Nat -> Type->Type |
1345 | testdata/Builtins.lc 419:64-419:75 Type | 1345 | testdata/Builtins.lc 397:1-397:11 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) a) |
1346 | testdata/Builtins.lc 419:64-419:67 'Nat -> Type->Type | 1346 | testdata/Builtins.lc 403:20-403:54 Type |
1347 | testdata/Builtins.lc 419:70-419:75 Type | 1347 | testdata/Builtins.lc 403:20-403:54 V3 |
1348 | testdata/Builtins.lc 420:26-420:31 Type | 1348 | testdata/Builtins.lc 403:25-403:29 Type |
1349 | testdata/Builtins.lc 422:20-422:33 'PrimitiveType->Type | 1349 | testdata/Builtins.lc 403:34-403:42 'Nat -> Type->Type |
1350 | testdata/Builtins.lc 419:21-423:68 'PrimitiveType | 1350 | testdata/Builtins.lc 403:20-403:54 'Nat |
1351 | testdata/Builtins.lc 423:20-423:29 'PrimitiveType -> Type->Type | 1351 | testdata/Builtins.lc 403:20-403:54 V2 |
1352 | testdata/Builtins.lc 423:37-423:51 'Nat -> 'DepthHandler -> Type->Type | 1352 | testdata/Builtins.lc 403:50-403:54 Type |
1353 | testdata/Builtins.lc 423:54-423:66 'DepthHandler | 1353 | testdata/Builtins.lc 403:1-403:15 {a} -> {b:'Nat} -> a->'Bool -> 'Fragment b a -> 'Bool |
1354 | testdata/Builtins.lc 419:1-419:11 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) DefinedDepth a) | 1354 | testdata/Builtins.lc 405:21-405:78 Type |
1355 | testdata/Builtins.lc 425:20-425:56 Type | 1355 | testdata/Builtins.lc 405:21-405:78 V3 |
1356 | testdata/Builtins.lc 425:20-425:56 V3 | 1356 | testdata/Builtins.lc 405:26-405:30 Type |
1357 | testdata/Builtins.lc 425:25-425:29 Type | 1357 | testdata/Builtins.lc 405:36-405:50 'Nat -> Type->Type |
1358 | testdata/Builtins.lc 425:34-425:42 'Nat -> 'DepthHandler -> Type->Type | 1358 | testdata/Builtins.lc 405:21-405:78 'Nat |
1359 | testdata/Builtins.lc 425:20-425:56 'Nat | 1359 | testdata/Builtins.lc 405:21-405:78 V2 |
1360 | testdata/Builtins.lc 425:20-425:56 V2 | 1360 | testdata/Builtins.lc 405:60-405:74 'Nat -> Type->Type |
1361 | testdata/Builtins.lc 425:52-425:56 Type | 1361 | testdata/Builtins.lc 406:21-406:49 {a} -> {b:'Nat} -> a->'Bool -> 'Stream ('Fragment b a) -> 'Stream ('Fragment b a) |
1362 | testdata/Builtins.lc 425:1-425:15 {a:'DepthHandler} -> {b} -> {c:'Nat} -> b->'Bool -> 'Fragment c a b -> 'Bool | 1362 | testdata/Builtins.lc 406:21-406:49 {a:'Nat} -> V1->'Bool -> 'Stream ('Fragment a V2) -> 'Stream ('Fragment a V3) |
1363 | testdata/Builtins.lc 427:21-427:82 Type | 1363 | testdata/Builtins.lc 406:21-406:49 V1->'Bool -> 'Stream ('Fragment V1 V2) -> 'Stream ('Fragment V2 V3) |
1364 | testdata/Builtins.lc 427:21-427:82 V5 | 1364 | testdata/Builtins.lc 406:21-406:49 'Stream ('Fragment V1 V2) -> 'Stream ('Fragment V2 V3) |
1365 | testdata/Builtins.lc 427:26-427:30 Type | 1365 | testdata/Builtins.lc 406:21-406:33 {a} -> a->'Bool -> 'Stream a -> 'Stream a |
1366 | testdata/Builtins.lc 427:36-427:50 'Nat -> 'DepthHandler -> Type->Type | 1366 | testdata/Builtins.lc 406:35-406:49 V0->'Bool |
1367 | testdata/Builtins.lc 427:21-427:82 'Nat | 1367 | testdata/Builtins.lc 406:35-406:49 {a} -> {b:'Nat} -> a->'Bool -> 'Fragment b a -> 'Bool |
1368 | testdata/Builtins.lc 427:21-427:82 V4 | 1368 | testdata/Builtins.lc 406:1-406:16 {a} -> {b:'Nat} -> a->'Bool -> 'Stream ('Fragment b a) -> 'Stream ('Fragment b a) |
1369 | testdata/Builtins.lc 427:21-427:82 'DepthHandler | 1369 | testdata/Builtins.lc 408:17-408:56 Type |
1370 | testdata/Builtins.lc 427:21-427:82 V2 | 1370 | testdata/Builtins.lc 408:17-408:56 V5 |
1371 | testdata/Builtins.lc 427:62-427:76 'Nat -> 'DepthHandler -> Type->Type | 1371 | testdata/Builtins.lc 408:17-408:56 V4 |
1372 | testdata/Builtins.lc 428:21-428:49 {a} -> {b:'Nat} -> {c:'DepthHandler} -> a->'Bool -> 'Stream ('Fragment b c a) -> 'Stream ('Fragment b c a) | 1372 | testdata/Builtins.lc 408:28-408:36 'Nat -> Type->Type |
1373 | testdata/Builtins.lc 428:21-428:49 {a:'Nat} -> {b:'DepthHandler} -> V2->'Bool -> 'Stream ('Fragment a b V3) -> 'Stream ('Fragment a b V4) | 1373 | testdata/Builtins.lc 408:17-408:56 'Nat |
1374 | testdata/Builtins.lc 428:21-428:49 {a:'DepthHandler} -> V2->'Bool -> 'Stream ('Fragment V2 a V3) -> 'Stream ('Fragment V3 a V4) | 1374 | testdata/Builtins.lc 408:17-408:56 V2 |
1375 | testdata/Builtins.lc 428:21-428:49 V2->'Bool -> 'Stream ('Fragment V2 V1 V3) -> 'Stream ('Fragment V3 V2 V4) | 1375 | testdata/Builtins.lc 408:44-408:52 'Nat -> Type->Type |
1376 | testdata/Builtins.lc 428:21-428:49 'Stream ('Fragment V2 V1 V3) -> 'Stream ('Fragment V3 V2 V4) | 1376 | testdata/Builtins.lc 408:1-408:12 {a} -> {b} -> {c:'Nat} -> a->b -> 'Fragment c a -> 'Fragment c b |
1377 | testdata/Builtins.lc 428:21-428:33 {a} -> a->'Bool -> 'Stream a -> 'Stream a | 1377 | testdata/Builtins.lc 410:18-410:27 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b |
1378 | testdata/Builtins.lc 428:35-428:49 V0->'Bool | 1378 | testdata/Builtins.lc 410:29-410:40 V1->V1 |
1379 | testdata/Builtins.lc 428:35-428:49 {a:'DepthHandler} -> {b} -> {c:'Nat} -> b->'Bool -> 'Fragment c a b -> 'Bool | 1379 | testdata/Builtins.lc 410:29-410:40 {a} -> {b} -> {c:'Nat} -> a->b -> 'Fragment c a -> 'Fragment c b |
1380 | testdata/Builtins.lc 428:1-428:16 {a} -> {b:'Nat} -> {c:'DepthHandler} -> a->'Bool -> 'Stream ('Fragment b c a) -> 'Stream ('Fragment b c a) | 1380 | testdata/Builtins.lc 410:1-410:13 {a} -> {b} -> {c:'Nat} -> a->b -> 'Stream ('Fragment c a) -> 'Stream ('Fragment c b) |
1381 | testdata/Builtins.lc 430:17-430:60 Type | 1381 | testdata/Builtins.lc 415:13-415:26 Type->Type |
1382 | testdata/Builtins.lc 430:17-430:60 V7 | 1382 | testdata/Builtins.lc 420:13-420:28 Type->Type |
1383 | testdata/Builtins.lc 430:17-430:60 V6 | 1383 | testdata/Builtins.lc 423:10-424:36 Type->Type |
1384 | testdata/Builtins.lc 430:28-430:36 'Nat -> 'DepthHandler -> Type->Type | 1384 | testdata/Builtins.lc 423:10-424:36 Type |
1385 | testdata/Builtins.lc 430:17-430:60 'Nat | 1385 | testdata/Builtins.lc 423:10-423:23 Type->Type |
1386 | testdata/Builtins.lc 430:17-430:60 V4 | 1386 | testdata/Builtins.lc 423:10-423:23 Type |
1387 | testdata/Builtins.lc 430:17-430:60 'DepthHandler | 1387 | testdata/Builtins.lc 423:10-423:23 Type -> 'Nat->Type |
1388 | testdata/Builtins.lc 430:17-430:60 V2 | 1388 | testdata/Builtins.lc 423:10-423:23 'Nat->Type |
1389 | testdata/Builtins.lc 430:46-430:54 'Nat -> 'DepthHandler -> Type->Type | 1389 | testdata/Builtins.lc 423:37-423:44 Type |
1390 | testdata/Builtins.lc 430:1-430:12 {a} -> {b} -> {c:'Nat} -> {d:'DepthHandler} -> a->b -> 'Fragment c d a -> 'Fragment c d b | 1390 | testdata/Builtins.lc 424:10-424:36 Type |
1391 | testdata/Builtins.lc 432:18-432:27 {a} -> {b} -> a->b -> 'Stream a -> 'Stream b | 1391 | testdata/Builtins.lc 424:10-424:23 Type->Type |
1392 | testdata/Builtins.lc 432:29-432:40 V1->V1 | 1392 | testdata/Builtins.lc 424:10-424:23 Type |
1393 | testdata/Builtins.lc 432:29-432:40 {a} -> {b} -> {c:'Nat} -> {d:'DepthHandler} -> a->b -> 'Fragment c d a -> 'Fragment c d b | 1393 | testdata/Builtins.lc 424:31-424:36 Type |
1394 | testdata/Builtins.lc 432:1-432:13 {a} -> {b} -> {c:'Nat} -> {d:'DepthHandler} -> a->b -> 'Stream ('Fragment c d a) -> 'Stream ('Fragment c d b) | 1394 | testdata/Builtins.lc 422:7-422:20 Type->Type |
1395 | testdata/Builtins.lc 437:13-437:26 Type->Type | 1395 | testdata/Builtins.lc 422:7-422:65 Type |
1396 | testdata/Builtins.lc 442:13-442:28 Type->Type | 1396 | testdata/Builtins.lc 422:46-422:65 Type |
1397 | testdata/Builtins.lc 445:10-446:36 Type->Type | 1397 | testdata/Builtins.lc 422:46-422:63 Type->Type |
1398 | testdata/Builtins.lc 445:10-446:36 Type | 1398 | testdata/Builtins.lc 422:64-422:65 Type |
1399 | testdata/Builtins.lc 445:10-445:23 Type->Type | 1399 | testdata/Builtins.lc 423:37-424:77 {a} -> {b : 'DefaultFragOp a} -> 'FragmentOperation a |
1400 | testdata/Builtins.lc 445:10-445:23 Type | 1400 | testdata/Builtins.lc 423:37-424:77 {a : 'DefaultFragOp V0} -> 'FragmentOperation V1 |
1401 | testdata/Builtins.lc 445:10-445:23 Type -> 'Nat->Type | 1401 | testdata/Builtins.lc 423:69-423:111 a:Type -> {b : 'DefaultFragOp ('Color a)} -> 'FragmentOperation ('Color a) |
1402 | testdata/Builtins.lc 445:10-445:23 'Nat->Type | 1402 | testdata/Builtins.lc 423:69-423:111 {a : 'DefaultFragOp ('Color V0)} -> 'FragmentOperation ('Color V1) |
1403 | testdata/Builtins.lc 445:37-445:44 Type | 1403 | testdata/Builtins.lc 423:69-423:111 a:Type -> b:'Nat -> {c : 'DefaultFragOp ('Color ('VecS a b))} -> 'FragmentOperation ('Color ('VecS a b)) |
1404 | testdata/Builtins.lc 446:10-446:36 Type | 1404 | testdata/Builtins.lc 423:69-423:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS V1 a))} -> 'FragmentOperation ('Color ('VecS V2 a)) |
1405 | testdata/Builtins.lc 446:10-446:23 Type->Type | 1405 | testdata/Builtins.lc 423:69-423:111 {a : 'DefaultFragOp ('Color ('VecS V1 V0))} -> 'FragmentOperation ('Color ('VecS V2 V1)) |
1406 | testdata/Builtins.lc 446:10-446:23 Type | 1406 | testdata/Builtins.lc 423:69-423:111 {a : 'DefaultFragOp ('Color ('VecS 'Float V0))} -> 'FragmentOperation ('Color ('VecS 'Float V1)) |
1407 | testdata/Builtins.lc 446:31-446:36 Type | 1407 | testdata/Builtins.lc 423:69-423:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ a)))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ a))) |
1408 | testdata/Builtins.lc 444:7-444:20 Type->Type | 1408 | testdata/Builtins.lc 423:69-423:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ V0)))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ V1))) |
1409 | testdata/Builtins.lc 444:7-444:65 Type | 1409 | testdata/Builtins.lc 423:69-423:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ a))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ a)))) |
1410 | testdata/Builtins.lc 444:46-444:65 Type | 1410 | testdata/Builtins.lc 423:69-423:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ V0))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ V1)))) |
1411 | testdata/Builtins.lc 444:46-444:63 Type->Type | 1411 | testdata/Builtins.lc 423:69-423:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ a)))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ a))))) |
1412 | testdata/Builtins.lc 444:64-444:65 Type | 1412 | testdata/Builtins.lc 423:69-423:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ V0)))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ V1))))) |
1413 | testdata/Builtins.lc 445:37-446:77 {a} -> {b : 'DefaultFragOp a} -> 'FragmentOperation a | 1413 | testdata/Builtins.lc 423:69-423:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ (Succ a))))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ (Succ a)))))) |
1414 | testdata/Builtins.lc 445:37-446:77 {a : 'DefaultFragOp V0} -> 'FragmentOperation V1 | 1414 | testdata/Builtins.lc 423:69-423:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ (Succ V0))))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ (Succ V1)))))) |
1415 | testdata/Builtins.lc 445:69-445:111 a:Type -> {b : 'DefaultFragOp ('Color a)} -> 'FragmentOperation ('Color a) | 1415 | testdata/Builtins.lc 423:69-423:111 {a:'Unit} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) |
1416 | testdata/Builtins.lc 445:69-445:111 {a : 'DefaultFragOp ('Color V0)} -> 'FragmentOperation ('Color V1) | 1416 | testdata/Builtins.lc 423:69-423: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) |
1417 | testdata/Builtins.lc 445:69-445:111 a:Type -> b:'Nat -> {c : 'DefaultFragOp ('Color ('VecS a b))} -> 'FragmentOperation ('Color ('VecS a b)) | 1417 | testdata/Builtins.lc 423:77-423:87 'Blending V1 |
1418 | testdata/Builtins.lc 445:69-445:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS V1 a))} -> 'FragmentOperation ('Color ('VecS V2 a)) | 1418 | testdata/Builtins.lc 423:77-423:87 {a} -> 'Blending a |
1419 | testdata/Builtins.lc 445:69-445:111 {a : 'DefaultFragOp ('Color ('VecS V1 V0))} -> 'FragmentOperation ('Color ('VecS V2 V1)) | 1419 | testdata/Builtins.lc 423:89-423:111 'VecScalar V2 'Bool |
1420 | testdata/Builtins.lc 445:69-445:111 {a : 'DefaultFragOp ('Color ('VecS 'Float V0))} -> 'FragmentOperation ('Color ('VecS 'Float V1)) | 1420 | testdata/Builtins.lc 423:89-423:91 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) |
1421 | testdata/Builtins.lc 445:69-445:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ a)))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ a))) | 1421 | testdata/Builtins.lc 423:92-423:96 V0 |
1422 | testdata/Builtins.lc 445:69-445:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ V0)))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ V1))) | 1422 | testdata/Builtins.lc 423:92-423:96 'Bool |
1423 | testdata/Builtins.lc 445:69-445:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ a))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ a)))) | 1423 | testdata/Builtins.lc 423:97-423:101 'Bool |
1424 | testdata/Builtins.lc 445:69-445:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ V0))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ V1)))) | 1424 | testdata/Builtins.lc 423:102-423:106 'Bool |
1425 | testdata/Builtins.lc 445:69-445:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ a)))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ a))))) | 1425 | testdata/Builtins.lc 423:107-423:111 'Bool |
1426 | testdata/Builtins.lc 445:69-445:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ V0)))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ V1))))) | 1426 | testdata/Builtins.lc 424:31-424:77 {a : 'DefaultFragOp V1} -> 'FragmentOperation V2 |
1427 | testdata/Builtins.lc 445:69-445:111 a:'Nat -> {b : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ (Succ a))))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ (Succ a)))))) | 1427 | testdata/Builtins.lc 424:60-424:77 a:Type -> {b : 'DefaultFragOp ('Depth a)} -> 'FragmentOperation ('Depth a) |
1428 | testdata/Builtins.lc 445:69-445:111 {a : 'DefaultFragOp ('Color ('VecS 'Float (Succ (Succ (Succ (Succ V0))))))} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ (Succ V1)))))) | 1428 | testdata/Builtins.lc 424:60-424:77 {a : 'DefaultFragOp ('Depth V0)} -> 'FragmentOperation ('Depth V1) |
1429 | testdata/Builtins.lc 445:69-445:111 {a:'Unit} -> 'FragmentOperation ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) | 1429 | testdata/Builtins.lc 424:60-424:77 {a:'Unit} -> 'FragmentOperation ('Depth 'Float) |
1430 | testdata/Builtins.lc 445:69-445: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) | 1430 | testdata/Builtins.lc 424:60-424:67 'ComparisonFunction -> 'Bool -> 'FragmentOperation ('Depth 'Float) |
1431 | testdata/Builtins.lc 445:77-445:87 'Blending V1 | 1431 | testdata/Builtins.lc 424:68-424:72 'ComparisonFunction |
1432 | testdata/Builtins.lc 445:77-445:87 {a} -> 'Blending a | 1432 | testdata/Builtins.lc 424:73-424:77 'Bool |
1433 | testdata/Builtins.lc 445:89-445:111 'VecScalar V2 'Bool | 1433 | testdata/Builtins.lc 422:29-422:42 {a} -> {b} -> {c : 'DefaultFragOp b} -> 'FragmentOperation b |
1434 | testdata/Builtins.lc 445:89-445:91 {a} -> a -> a -> a -> a -> 'VecS a (Succ (Succ (Succ (Succ Zero)))) | 1434 | testdata/Builtins.lc 431:24-431:27 Type |
1435 | testdata/Builtins.lc 445:92-445:96 V0 | 1435 | testdata/Builtins.lc 431:6-431:17 'Nat -> Type->Type |
1436 | testdata/Builtins.lc 445:92-445:96 'Bool | 1436 | testdata/Builtins.lc 432:19-432:106 Type |
1437 | testdata/Builtins.lc 445:97-445:101 'Bool | 1437 | testdata/Builtins.lc 432:19-432:27 Type->Type |
1438 | testdata/Builtins.lc 445:102-445:106 'Bool | 1438 | testdata/Builtins.lc 432:28-432:29 Type |
1439 | testdata/Builtins.lc 445:107-445:111 'Bool | 1439 | testdata/Builtins.lc 432:34-432:106 Type |
1440 | testdata/Builtins.lc 446:31-446:77 {a : 'DefaultFragOp V1} -> 'FragmentOperation V2 | 1440 | testdata/Builtins.lc 432:34-432:48 'Nat -> Type->Type |
1441 | testdata/Builtins.lc 446:60-446:77 a:Type -> {b : 'DefaultFragOp ('Depth a)} -> 'FragmentOperation ('Depth a) | 1441 | testdata/Builtins.lc 432:49-432:50 'Nat |
1442 | testdata/Builtins.lc 446:60-446:77 {a : 'DefaultFragOp ('Depth V0)} -> 'FragmentOperation ('Depth V1) | 1442 | testdata/Builtins.lc 432:52-432:66 Type |
1443 | testdata/Builtins.lc 446:60-446:77 {a:'Unit} -> 'FragmentOperation ('Depth 'Float) | 1443 | testdata/Builtins.lc 432:52-432:64 Type->Type |
1444 | testdata/Builtins.lc 446:60-446:67 'ComparisonFunction -> 'Bool -> 'FragmentOperation ('Depth 'Float) | 1444 | testdata/Builtins.lc 432:65-432:66 Type |
1445 | testdata/Builtins.lc 446:68-446:72 'ComparisonFunction | 1445 | testdata/Builtins.lc 432:72-432:106 Type |
1446 | testdata/Builtins.lc 446:73-446:77 'Bool | 1446 | testdata/Builtins.lc 432:72-432:83 'Nat -> Type->Type |
1447 | testdata/Builtins.lc 444:29-444:42 {a} -> {b} -> {c : 'DefaultFragOp b} -> 'FragmentOperation b | 1447 | testdata/Builtins.lc 432:84-432:85 'Nat |
1448 | testdata/Builtins.lc 453:24-453:27 Type | 1448 | testdata/Builtins.lc 432:86-432:87 Type |
1449 | testdata/Builtins.lc 453:6-453:17 'Nat -> Type->Type | 1449 | testdata/Builtins.lc 432:91-432:106 Type |
1450 | testdata/Builtins.lc 454:19-454:108 Type | 1450 | testdata/Builtins.lc 432:91-432:102 'Nat -> Type->Type |
1451 | testdata/Builtins.lc 454:19-454:27 Type->Type | 1451 | testdata/Builtins.lc 432:103-432:104 'Nat |
1452 | testdata/Builtins.lc 454:28-454:29 Type | 1452 | testdata/Builtins.lc 432:105-432:106 Type |
1453 | testdata/Builtins.lc 454:34-454:48 'Nat -> 'DepthHandler -> Type->Type | 1453 | testdata/Builtins.lc 432:3-432:13 {a:'Nat} -> {b} -> 'FragOps' b -> 'Stream ('Fragment a ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b |
1454 | testdata/Builtins.lc 454:49-454:50 'Nat | 1454 | testdata/Builtins.lc 433:20-433:117 Type |
1455 | testdata/Builtins.lc 454:19-454:108 'DepthHandler | 1455 | testdata/Builtins.lc 433:20-433:36 Type->Type |
1456 | testdata/Builtins.lc 454:19-454:108 V2 | 1456 | testdata/Builtins.lc 433:37-433:38 Type |
1457 | testdata/Builtins.lc 454:54-454:68 Type | 1457 | testdata/Builtins.lc 433:40-433:55 Type->Type |
1458 | testdata/Builtins.lc 454:54-454:66 Type->Type | 1458 | testdata/Builtins.lc 433:20-433:117 V2 |
1459 | testdata/Builtins.lc 454:67-454:68 Type | 1459 | testdata/Builtins.lc 433:59-433:74 Type |
1460 | testdata/Builtins.lc 454:74-454:108 Type | 1460 | testdata/Builtins.lc 433:59-433:70 'Nat -> Type->Type |
1461 | testdata/Builtins.lc 454:74-454:85 'Nat -> Type->Type | 1461 | testdata/Builtins.lc 433:71-433:72 'Nat |
1462 | testdata/Builtins.lc 454:86-454:87 'Nat | 1462 | testdata/Builtins.lc 433:73-433:74 Type |
1463 | testdata/Builtins.lc 454:88-454:89 Type | 1463 | testdata/Builtins.lc 433:77-433:90 Type->Type |
1464 | testdata/Builtins.lc 454:93-454:108 Type | 1464 | testdata/Builtins.lc 433:102-433:117 Type |
1465 | testdata/Builtins.lc 454:93-454:104 'Nat -> Type->Type | 1465 | testdata/Builtins.lc 433:102-433:113 'Nat -> Type->Type |
1466 | testdata/Builtins.lc 454:105-454:106 'Nat | 1466 | testdata/Builtins.lc 433:114-433:115 'Nat |
1467 | testdata/Builtins.lc 454:107-454:108 Type | 1467 | testdata/Builtins.lc 433:116-433:117 Type |
1468 | testdata/Builtins.lc 454:3-454:13 {a:'Nat} -> {b} -> {c:'DepthHandler} -> 'FragOps' b -> 'Stream ('Fragment a c ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b | 1468 | testdata/Builtins.lc 433:3-433:14 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b |
1469 | testdata/Builtins.lc 455:20-455:117 Type | 1469 | testdata/Builtins.lc 435:34-435:44 {a:'Nat} -> {b} -> 'FragOps' b -> 'Stream ('Fragment a ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b |
1470 | testdata/Builtins.lc 455:20-455:36 Type->Type | 1470 | testdata/Builtins.lc 435:50-435:62 'Stream ('Fragment V1 ('RemSemantics V0)) |
1471 | testdata/Builtins.lc 455:37-455:38 Type | 1471 | testdata/Builtins.lc 435:50-435:62 {a} -> {b} -> {c:'Nat} -> a->b -> 'Stream ('Fragment c a) -> 'Stream ('Fragment c b) |
1472 | testdata/Builtins.lc 455:40-455:55 Type->Type | 1472 | testdata/Builtins.lc 435:1-435:11 {a:'Nat} -> {b} -> {c} -> 'FragOps' b -> (c -> 'RemSemantics b) -> 'Stream ('Fragment a c) -> 'FrameBuffer a b -> 'FrameBuffer a b |
1473 | testdata/Builtins.lc 455:20-455:117 V2 | 1473 | testdata/Builtins.lc 437:1-437:20 {a} -> a->a |
1474 | testdata/Builtins.lc 455:59-455:74 Type | 1474 | testdata/Builtins.lc 439:15-439:18 Type |
1475 | testdata/Builtins.lc 455:59-455:70 'Nat -> Type->Type | 1475 | testdata/Builtins.lc 439:22-439:34 Type |
1476 | testdata/Builtins.lc 455:71-455:72 'Nat | 1476 | testdata/Builtins.lc 439:22-439:26 Type |
1477 | testdata/Builtins.lc 455:73-455:74 Type | 1477 | testdata/Builtins.lc 439:30-439:34 Type |
1478 | testdata/Builtins.lc 455:77-455:90 Type->Type | 1478 | testdata/Builtins.lc 439:6-439:11 'Nat -> Type->Type |
1479 | testdata/Builtins.lc 455:102-455:117 Type | 1479 | testdata/Builtins.lc 440:48-441:56 Type |
1480 | testdata/Builtins.lc 455:102-455:113 'Nat -> Type->Type | 1480 | testdata/Builtins.lc 440:48-440:51 Type->Type |
1481 | testdata/Builtins.lc 455:114-455:115 'Nat | 1481 | testdata/Builtins.lc 440:52-440:53 Type |
1482 | testdata/Builtins.lc 455:116-455:117 Type | 1482 | testdata/Builtins.lc 440:52-440:53 V3 |
1483 | testdata/Builtins.lc 455:3-455:14 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b | 1483 | testdata/Builtins.lc 440:55-441:56 Type |
1484 | testdata/Builtins.lc 457:34-457:44 {a:'Nat} -> {b} -> {c:'DepthHandler} -> 'FragOps' b -> 'Stream ('Fragment a c ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b | 1484 | testdata/Builtins.lc 440:55-440:60 Type |
1485 | testdata/Builtins.lc 457:50-457:62 'Stream ('Fragment V2 V0 ('RemSemantics V1)) | 1485 | testdata/Builtins.lc 440:55-440:60 V2 |
1486 | testdata/Builtins.lc 457:50-457:62 {a} -> {b} -> {c:'Nat} -> {d:'DepthHandler} -> a->b -> 'Stream ('Fragment c d a) -> 'Stream ('Fragment c d b) | 1486 | testdata/Builtins.lc 440:63-440:76 Type |
1487 | testdata/Builtins.lc 457:1-457:11 {a:'Nat} -> {b} -> {c:'DepthHandler} -> {d} -> 'FragOps' b -> (d -> 'RemSemantics b) -> 'Stream ('Fragment a c d) -> 'FrameBuffer a b -> 'FrameBuffer a b | 1487 | testdata/Builtins.lc 440:63-440:72 'Nat -> Type->Type |
1488 | testdata/Builtins.lc 459:1-459:20 {a} -> a->a | 1488 | testdata/Builtins.lc 440:73-440:74 'Nat |
1489 | testdata/Builtins.lc 461:15-461:18 Type | 1489 | testdata/Builtins.lc 440:73-440:74 V4 |
1490 | testdata/Builtins.lc 461:22-461:34 Type | 1490 | testdata/Builtins.lc 440:75-440:76 Type |
1491 | testdata/Builtins.lc 461:22-461:26 Type | 1491 | testdata/Builtins.lc 441:26-441:56 Type |
1492 | testdata/Builtins.lc 461:30-461:34 Type | 1492 | testdata/Builtins.lc 441:26-441:31 Type |
1493 | testdata/Builtins.lc 461:6-461:11 'Nat -> Type->Type | 1493 | testdata/Builtins.lc 441:36-441:56 Type |
1494 | testdata/Builtins.lc 462:48-463:56 Type | 1494 | testdata/Builtins.lc 441:36-441:41 'Nat -> Type->Type |
1495 | testdata/Builtins.lc 462:48-462:51 Type->Type | 1495 | testdata/Builtins.lc 441:42-441:43 'Nat |
1496 | testdata/Builtins.lc 462:52-462:53 Type | 1496 | testdata/Builtins.lc 441:42-441:43 V7 |
1497 | testdata/Builtins.lc 462:52-462:53 V3 | 1497 | testdata/Builtins.lc 441:45-441:56 Type |
1498 | testdata/Builtins.lc 462:55-463:56 Type | 1498 | testdata/Builtins.lc 441:45-441:50 Type->Type |
1499 | testdata/Builtins.lc 462:55-462:60 Type | 1499 | testdata/Builtins.lc 441:51-441:56 Type |
1500 | testdata/Builtins.lc 462:55-462:60 V2 | 1500 | testdata/Builtins.lc 440:3-440:13 {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : d ~ 'VecScalar b c} -> d -> 'Image a ('Color d) |
1501 | testdata/Builtins.lc 462:63-462:76 Type | 1501 | testdata/Builtins.lc 442:37-442:67 Type |
1502 | testdata/Builtins.lc 462:63-462:72 'Nat -> Type->Type | 1502 | testdata/Builtins.lc 442:37-442:42 Type |
1503 | testdata/Builtins.lc 462:73-462:74 'Nat | 1503 | testdata/Builtins.lc 442:47-442:67 Type |
1504 | testdata/Builtins.lc 462:73-462:74 V4 | 1504 | testdata/Builtins.lc 442:47-442:52 'Nat -> Type->Type |
1505 | testdata/Builtins.lc 462:75-462:76 Type | 1505 | testdata/Builtins.lc 442:53-442:54 'Nat |
1506 | testdata/Builtins.lc 463:26-463:56 Type | 1506 | testdata/Builtins.lc 442:53-442:54 V2 |
1507 | testdata/Builtins.lc 463:26-463:31 Type | 1507 | testdata/Builtins.lc 442:56-442:67 Type |
1508 | testdata/Builtins.lc 463:36-463:56 Type | 1508 | testdata/Builtins.lc 442:56-442:61 Type->Type |
1509 | testdata/Builtins.lc 463:36-463:41 'Nat -> Type->Type | 1509 | testdata/Builtins.lc 442:62-442:67 Type |
1510 | testdata/Builtins.lc 463:42-463:43 'Nat | 1510 | testdata/Builtins.lc 442:3-442:13 {a:'Nat} -> 'Float -> 'Image a ('Depth 'Float) |
1511 | testdata/Builtins.lc 463:42-463:43 V7 | 1511 | testdata/Builtins.lc 443:37-443:67 Type |
1512 | testdata/Builtins.lc 463:45-463:56 Type | 1512 | testdata/Builtins.lc 443:37-443:40 Type |
1513 | testdata/Builtins.lc 463:45-463:50 Type->Type | 1513 | testdata/Builtins.lc 443:47-443:67 Type |
1514 | testdata/Builtins.lc 463:51-463:56 Type | 1514 | testdata/Builtins.lc 443:47-443:52 'Nat -> Type->Type |
1515 | testdata/Builtins.lc 462:3-462:13 {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : d ~ 'VecScalar b c} -> d -> 'Image a ('Color d) | 1515 | testdata/Builtins.lc 443:53-443:54 'Nat |
1516 | testdata/Builtins.lc 464:37-464:67 Type | 1516 | testdata/Builtins.lc 443:53-443:54 V2 |
1517 | testdata/Builtins.lc 464:37-464:42 Type | 1517 | testdata/Builtins.lc 443:56-443:67 Type |
1518 | testdata/Builtins.lc 464:47-464:67 Type | 1518 | testdata/Builtins.lc 443:56-443:63 Type->Type |
1519 | testdata/Builtins.lc 464:47-464:52 'Nat -> Type->Type | 1519 | testdata/Builtins.lc 443:64-443:67 Type |
1520 | testdata/Builtins.lc 464:53-464:54 'Nat | 1520 | testdata/Builtins.lc 443:3-443:15 {a:'Nat} -> 'Int -> 'Image a ('Stencil 'Int) |
1521 | testdata/Builtins.lc 464:53-464:54 V2 | 1521 | testdata/Builtins.lc 446:26-446:54 Type |
1522 | testdata/Builtins.lc 464:56-464:67 Type | 1522 | testdata/Builtins.lc 446:26-446:37 'Nat -> Type->Type |
1523 | testdata/Builtins.lc 464:56-464:61 Type->Type | 1523 | testdata/Builtins.lc 446:26-446:54 V1 |
1524 | testdata/Builtins.lc 464:62-464:67 Type | 1524 | testdata/Builtins.lc 446:45-446:50 'Nat -> Type->Type |
1525 | testdata/Builtins.lc 464:3-464:13 {a:'Nat} -> 'Float -> 'Image a ('Depth 'Float) | 1525 | testdata/Builtins.lc 446:3-446:11 {a} -> 'FrameBuffer (Succ Zero) a -> 'Image (Succ Zero) a |
1526 | testdata/Builtins.lc 465:37-465:67 Type | 1526 | testdata/Builtins.lc 447:26-447:37 'Nat -> Type->Type |
1527 | testdata/Builtins.lc 465:37-465:40 Type | 1527 | testdata/Builtins.lc 447:40-447:74 Type |
1528 | testdata/Builtins.lc 465:47-465:67 Type | 1528 | testdata/Builtins.lc 447:40-447:74 Type -> Type->Type |
1529 | testdata/Builtins.lc 465:47-465:52 'Nat -> Type->Type | 1529 | testdata/Builtins.lc 447:41-447:52 Type |
1530 | testdata/Builtins.lc 465:53-465:54 'Nat | 1530 | testdata/Builtins.lc 447:41-447:46 Type->Type |
1531 | testdata/Builtins.lc 465:53-465:54 V2 | 1531 | testdata/Builtins.lc 447:47-447:52 Type |
1532 | testdata/Builtins.lc 465:56-465:67 Type | 1532 | testdata/Builtins.lc 447:54-447:72 Type |
1533 | testdata/Builtins.lc 465:56-465:63 Type->Type | 1533 | testdata/Builtins.lc 447:54-447:59 Type->Type |
1534 | testdata/Builtins.lc 465:64-465:67 Type | 1534 | testdata/Builtins.lc 447:61-447:72 Type |
1535 | testdata/Builtins.lc 465:3-465:15 {a:'Nat} -> 'Int -> 'Image a ('Stencil 'Int) | 1535 | testdata/Builtins.lc 447:61-447:64 'Nat -> Type->Type |
1536 | testdata/Builtins.lc 468:26-468:54 Type | 1536 | testdata/Builtins.lc 447:67-447:72 Type |
1537 | testdata/Builtins.lc 468:26-468:37 'Nat -> Type->Type | 1537 | testdata/Builtins.lc 447:78-447:105 Type |
1538 | testdata/Builtins.lc 468:26-468:54 V1 | 1538 | testdata/Builtins.lc 447:78-447:83 'Nat -> Type->Type |
1539 | testdata/Builtins.lc 468:45-468:50 'Nat -> Type->Type | 1539 | testdata/Builtins.lc 447:87-447:105 Type |
1540 | testdata/Builtins.lc 468:3-468:11 {a} -> 'FrameBuffer (Succ Zero) a -> 'Image (Succ Zero) a | 1540 | testdata/Builtins.lc 447:87-447:92 Type->Type |
1541 | testdata/Builtins.lc 469:26-469:37 'Nat -> Type->Type | 1541 | testdata/Builtins.lc 447:94-447:105 Type |
1542 | testdata/Builtins.lc 469:40-469:74 Type | 1542 | testdata/Builtins.lc 447:94-447:97 'Nat -> Type->Type |
1543 | testdata/Builtins.lc 469:40-469:74 Type -> Type->Type | 1543 | testdata/Builtins.lc 447:100-447:105 Type |
1544 | testdata/Builtins.lc 469:41-469:52 Type | 1544 | testdata/Builtins.lc 447:3-447:16 'FrameBuffer (Succ Zero) ('Tuple2 ('Depth 'Float) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))))) -> 'Image (Succ Zero) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) |
1545 | testdata/Builtins.lc 469:41-469:46 Type->Type | 1545 | testdata/Builtins.lc 441:42-447:105 Type |
1546 | testdata/Builtins.lc 469:47-469:52 Type | 1546 | testdata/Builtins.lc 441:42-441:56 Type |
1547 | testdata/Builtins.lc 469:54-469:72 Type | 1547 | testdata/Builtins.lc 442:53-447:105 Type |
1548 | testdata/Builtins.lc 469:54-469:59 Type->Type | 1548 | testdata/Builtins.lc 442:53-442:67 Type |
1549 | testdata/Builtins.lc 469:61-469:72 Type | 1549 | testdata/Builtins.lc 443:53-447:105 Type |
1550 | testdata/Builtins.lc 469:61-469:64 'Nat -> Type->Type | 1550 | testdata/Builtins.lc 443:53-443:67 Type |
1551 | testdata/Builtins.lc 469:67-469:72 Type | 1551 | testdata/Builtins.lc 446:26-447:105 Type |
1552 | testdata/Builtins.lc 469:78-469:105 Type | 1552 | testdata/Builtins.lc 449:6-449:12 Type |
1553 | testdata/Builtins.lc 469:78-469:83 'Nat -> Type->Type | 1553 | testdata/Builtins.lc 450:26-450:51 Type |
1554 | testdata/Builtins.lc 469:87-469:105 Type | 1554 | testdata/Builtins.lc 450:26-450:37 'Nat -> Type->Type |
1555 | testdata/Builtins.lc 469:87-469:92 Type->Type | 1555 | testdata/Builtins.lc 450:26-450:51 'Nat |
1556 | testdata/Builtins.lc 469:94-469:105 Type | 1556 | testdata/Builtins.lc 450:26-450:51 V3 |
1557 | testdata/Builtins.lc 469:94-469:97 'Nat -> Type->Type | 1557 | testdata/Builtins.lc 450:26-450:51 V1 |
1558 | testdata/Builtins.lc 469:100-469:105 Type | 1558 | testdata/Builtins.lc 450:45-450:51 Type |
1559 | testdata/Builtins.lc 469:3-469:16 'FrameBuffer (Succ Zero) ('Tuple2 ('Depth 'Float) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))))) -> 'Image (Succ Zero) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) | 1559 | testdata/Builtins.lc 450:3-450:12 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output |
1560 | testdata/Builtins.lc 463:42-469:105 Type | 1560 | testdata/Builtins.lc 456:34-456:73 Type |
1561 | testdata/Builtins.lc 463:42-463:56 Type | 1561 | testdata/Builtins.lc 456:34-456:37 Type->Type |
1562 | testdata/Builtins.lc 464:53-469:105 Type | 1562 | testdata/Builtins.lc 456:39-456:55 Type->Type |
1563 | testdata/Builtins.lc 464:53-464:67 Type | 1563 | testdata/Builtins.lc 456:34-456:73 V1 |
1564 | testdata/Builtins.lc 465:53-469:105 Type | 1564 | testdata/Builtins.lc 456:1-456:8 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a |
1565 | testdata/Builtins.lc 465:53-465:67 Type | 1565 | testdata/Builtins.lc 456:10-456:17 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a |
1566 | testdata/Builtins.lc 468:26-469:105 Type | 1566 | testdata/Builtins.lc 456:19-456:26 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a |
1567 | testdata/Builtins.lc 471:6-471:12 Type | 1567 | testdata/Builtins.lc 457:35-457:80 Type |
1568 | testdata/Builtins.lc 472:26-472:51 Type | 1568 | testdata/Builtins.lc 457:35-457:80 V3 |
1569 | testdata/Builtins.lc 472:26-472:37 'Nat -> Type->Type | 1569 | testdata/Builtins.lc 457:39-457:55 Type->Type |
1570 | testdata/Builtins.lc 472:26-472:51 'Nat | 1570 | testdata/Builtins.lc 457:35-457:80 V1 |
1571 | testdata/Builtins.lc 472:26-472:51 V3 | 1571 | testdata/Builtins.lc 457:59-457:62 Type->Type |
1572 | testdata/Builtins.lc 472:26-472:51 V1 | 1572 | testdata/Builtins.lc 457:1-457:9 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b |
1573 | testdata/Builtins.lc 472:45-472:51 Type | 1573 | testdata/Builtins.lc 457:11-457:19 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b |
1574 | testdata/Builtins.lc 472:3-472:12 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output | 1574 | testdata/Builtins.lc 457:21-457:29 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b |
1575 | testdata/Builtins.lc 478:34-478:73 Type | 1575 | testdata/Builtins.lc 458:35-458:75 Type |
1576 | testdata/Builtins.lc 478:34-478:37 Type->Type | 1576 | testdata/Builtins.lc 458:35-458:38 Type->Type |
1577 | testdata/Builtins.lc 478:39-478:55 Type->Type | 1577 | testdata/Builtins.lc 458:35-458:75 V5 |
1578 | testdata/Builtins.lc 478:34-478:73 V1 | 1578 | testdata/Builtins.lc 458:35-458:75 V4 |
1579 | testdata/Builtins.lc 478:1-478:8 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a | 1579 | testdata/Builtins.lc 458:46-458:55 'Nat -> Type->Type |
1580 | testdata/Builtins.lc 478:10-478:17 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a | 1580 | testdata/Builtins.lc 458:35-458:75 'Nat |
1581 | testdata/Builtins.lc 478:19-478:26 {a} -> {b : 'Num ('MatVecScalarElem a)} -> a -> a->a | 1581 | testdata/Builtins.lc 458:35-458:75 V2 |
1582 | testdata/Builtins.lc 479:35-479:80 Type | 1582 | testdata/Builtins.lc 458:1-458:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b |
1583 | testdata/Builtins.lc 479:35-479:80 V3 | 1583 | testdata/Builtins.lc 458:10-458:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b |
1584 | testdata/Builtins.lc 479:39-479:55 Type->Type | 1584 | testdata/Builtins.lc 459:35-459:75 Type |
1585 | testdata/Builtins.lc 479:35-479:80 V1 | 1585 | testdata/Builtins.lc 459:35-459:38 Type->Type |
1586 | testdata/Builtins.lc 479:59-479:62 Type->Type | 1586 | testdata/Builtins.lc 459:35-459:75 V5 |
1587 | testdata/Builtins.lc 479:1-479:9 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b | 1587 | testdata/Builtins.lc 459:35-459:75 V4 |
1588 | testdata/Builtins.lc 479:11-479:19 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b | 1588 | testdata/Builtins.lc 459:46-459:55 'Nat -> Type->Type |
1589 | testdata/Builtins.lc 479:21-479:29 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> {d : 'Num a} -> b -> a->b | 1589 | testdata/Builtins.lc 459:35-459:75 'Nat |
1590 | testdata/Builtins.lc 459:35-459:75 V2 | ||
1591 | testdata/Builtins.lc 459:1-459:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1592 | testdata/Builtins.lc 459:11-459:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1593 | testdata/Builtins.lc 460:34-460:71 Type | ||
1594 | testdata/Builtins.lc 460:34-460:40 Type->Type | ||
1595 | testdata/Builtins.lc 460:42-460:58 Type->Type | ||
1596 | testdata/Builtins.lc 460:34-460:71 V1 | ||
1597 | testdata/Builtins.lc 460:1-460:8 {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a | ||
1598 | testdata/Builtins.lc 462:35-462:80 Type | ||
1599 | testdata/Builtins.lc 462:35-462:43 Type->Type | ||
1600 | testdata/Builtins.lc 462:35-462:80 V5 | ||
1601 | testdata/Builtins.lc 462:35-462:80 V4 | ||
1602 | testdata/Builtins.lc 462:51-462:60 'Nat -> Type->Type | ||
1603 | testdata/Builtins.lc 462:35-462:80 'Nat | ||
1604 | testdata/Builtins.lc 462:35-462:80 V2 | ||
1605 | testdata/Builtins.lc 462:1-462:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | ||
1606 | testdata/Builtins.lc 462:11-462:18 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | ||
1607 | testdata/Builtins.lc 462:20-462:28 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | ||
1608 | testdata/Builtins.lc 463:35-463:80 Type | ||
1609 | testdata/Builtins.lc 463:35-463:43 Type->Type | ||
1610 | testdata/Builtins.lc 463:35-463:80 V5 | ||
1611 | testdata/Builtins.lc 463:35-463:80 V4 | ||
1612 | testdata/Builtins.lc 463:51-463:60 'Nat -> Type->Type | ||
1613 | testdata/Builtins.lc 463:35-463:80 'Nat | ||
1614 | testdata/Builtins.lc 463:35-463:80 V2 | ||
1615 | testdata/Builtins.lc 463:1-463:10 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1616 | testdata/Builtins.lc 463:12-463:20 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1617 | testdata/Builtins.lc 463:22-463:31 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1618 | testdata/Builtins.lc 464:35-464:75 Type | ||
1619 | testdata/Builtins.lc 464:35-464:43 Type->Type | ||
1620 | testdata/Builtins.lc 464:35-464:75 V5 | ||
1621 | testdata/Builtins.lc 464:35-464:75 V4 | ||
1622 | testdata/Builtins.lc 464:51-464:60 'Nat -> Type->Type | ||
1623 | testdata/Builtins.lc 464:35-464:75 'Nat | ||
1624 | testdata/Builtins.lc 464:35-464:75 V2 | ||
1625 | testdata/Builtins.lc 464:1-464:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b->b | ||
1626 | testdata/Builtins.lc 465:35-465:102 Type | ||
1627 | testdata/Builtins.lc 465:35-465:43 Type->Type | ||
1628 | testdata/Builtins.lc 465:35-465:102 V7 | ||
1629 | testdata/Builtins.lc 465:35-465:102 V6 | ||
1630 | testdata/Builtins.lc 465:51-465:60 'Nat -> Type->Type | ||
1631 | testdata/Builtins.lc 465:35-465:102 'Nat | ||
1632 | testdata/Builtins.lc 465:35-465:102 V4 | ||
1633 | testdata/Builtins.lc 465:35-465:102 V3 | ||
1634 | testdata/Builtins.lc 465:70-465:79 'Nat -> Type->Type | ||
1635 | testdata/Builtins.lc 465:82-465:86 Type | ||
1636 | testdata/Builtins.lc 465:1-465:12 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b | ||
1637 | testdata/Builtins.lc 465:14-465:25 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b | ||
1638 | testdata/Builtins.lc 466:35-466:83 Type | ||
1639 | testdata/Builtins.lc 466:35-466:43 Type->Type | ||
1640 | testdata/Builtins.lc 466:35-466:83 V5 | ||
1641 | testdata/Builtins.lc 466:35-466:83 V4 | ||
1642 | testdata/Builtins.lc 466:51-466:60 'Nat -> Type->Type | ||
1643 | testdata/Builtins.lc 466:35-466:83 'Nat | ||
1644 | testdata/Builtins.lc 466:35-466:83 V2 | ||
1645 | testdata/Builtins.lc 466:74-466:78 Type | ||
1646 | testdata/Builtins.lc 466:1-466:13 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b | ||
1647 | testdata/Builtins.lc 466:15-466:27 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b | ||
1648 | testdata/Builtins.lc 468:34-468:38 Type | ||
1649 | testdata/Builtins.lc 468:42-468:54 Type | ||
1650 | testdata/Builtins.lc 468:42-468:46 Type | ||
1651 | testdata/Builtins.lc 468:50-468:54 Type | ||
1652 | testdata/Builtins.lc 468:1-468:8 'Bool -> 'Bool->'Bool | ||
1653 | testdata/Builtins.lc 468:10-468:16 'Bool -> 'Bool->'Bool | ||
1654 | testdata/Builtins.lc 468:18-468:25 'Bool -> 'Bool->'Bool | ||
1655 | testdata/Builtins.lc 469:35-469:66 Type | ||
1656 | testdata/Builtins.lc 469:35-469:66 V3 | ||
1657 | testdata/Builtins.lc 469:39-469:48 'Nat -> Type->Type | ||
1658 | testdata/Builtins.lc 469:35-469:66 'Nat | ||
1659 | testdata/Builtins.lc 469:35-469:66 V1 | ||
1660 | testdata/Builtins.lc 469:51-469:55 Type | ||
1661 | testdata/Builtins.lc 469:1-469:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Bool} -> a->a | ||
1662 | testdata/Builtins.lc 470:34-470:58 Type | ||
1663 | testdata/Builtins.lc 470:34-470:43 'Nat -> Type->Type | ||
1664 | testdata/Builtins.lc 470:34-470:58 'Nat | ||
1665 | testdata/Builtins.lc 470:34-470:58 V1 | ||
1666 | testdata/Builtins.lc 470:46-470:50 Type | ||
1667 | testdata/Builtins.lc 470:54-470:58 Type | ||
1668 | testdata/Builtins.lc 470:1-470:8 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool | ||
1669 | testdata/Builtins.lc 470:10-470:17 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool | ||
1670 | testdata/Builtins.lc 474:35-474:67 Type | ||
1671 | testdata/Builtins.lc 474:35-474:67 V3 | ||
1672 | testdata/Builtins.lc 474:39-474:48 'Nat -> Type->Type | ||
1673 | testdata/Builtins.lc 474:35-474:67 'Nat | ||
1674 | testdata/Builtins.lc 474:35-474:67 V1 | ||
1675 | testdata/Builtins.lc 474:51-474:56 Type | ||
1676 | testdata/Builtins.lc 473:1-473:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1677 | testdata/Builtins.lc 473:11-473:20 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1678 | testdata/Builtins.lc 473:22-473:30 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1679 | testdata/Builtins.lc 473:32-473:41 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1680 | testdata/Builtins.lc 473:43-473:51 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1681 | testdata/Builtins.lc 473:53-473:62 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1682 | testdata/Builtins.lc 473:64-473:71 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1683 | testdata/Builtins.lc 473:73-473:81 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1684 | testdata/Builtins.lc 473:83-473:94 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1685 | testdata/Builtins.lc 473:96-473:107 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1686 | testdata/Builtins.lc 473:109-473:116 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1687 | testdata/Builtins.lc 473:118-473:126 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1688 | testdata/Builtins.lc 473:128-473:135 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1689 | testdata/Builtins.lc 473:137-473:145 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1690 | testdata/Builtins.lc 473:147-473:154 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1691 | testdata/Builtins.lc 473:156-473:163 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1692 | testdata/Builtins.lc 473:165-473:173 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1693 | testdata/Builtins.lc 473:175-473:183 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1694 | testdata/Builtins.lc 473:185-473:193 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1695 | testdata/Builtins.lc 473:195-473:206 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1696 | testdata/Builtins.lc 475:35-475:72 Type | ||
1697 | testdata/Builtins.lc 475:35-475:72 V3 | ||
1698 | testdata/Builtins.lc 475:39-475:48 'Nat -> Type->Type | ||
1699 | testdata/Builtins.lc 475:35-475:72 'Nat | ||
1700 | testdata/Builtins.lc 475:35-475:72 V1 | ||
1701 | testdata/Builtins.lc 475:51-475:56 Type | ||
1702 | testdata/Builtins.lc 475:1-475:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a | ||
1703 | testdata/Builtins.lc 475:10-475:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a | ||
1704 | testdata/Builtins.lc 478:35-478:67 Type | ||
1705 | testdata/Builtins.lc 478:35-478:67 V3 | ||
1706 | testdata/Builtins.lc 478:39-478:48 'Nat -> Type->Type | ||
1707 | testdata/Builtins.lc 478:35-478:67 'Nat | ||
1708 | testdata/Builtins.lc 478:35-478:67 V1 | ||
1709 | testdata/Builtins.lc 478:51-478:56 Type | ||
1710 | testdata/Builtins.lc 477:1-477:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1711 | testdata/Builtins.lc 477:12-477:21 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1712 | testdata/Builtins.lc 477:23-477:32 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1713 | testdata/Builtins.lc 477:34-477:47 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1714 | testdata/Builtins.lc 477:49-477:57 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1715 | testdata/Builtins.lc 477:59-477:68 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
1716 | testdata/Builtins.lc 479:35-479:75 Type | ||
1717 | testdata/Builtins.lc 479:35-479:38 Type->Type | ||
1718 | testdata/Builtins.lc 479:35-479:75 V5 | ||
1719 | testdata/Builtins.lc 479:35-479:75 V4 | ||
1720 | testdata/Builtins.lc 479:46-479:55 'Nat -> Type->Type | ||
1721 | testdata/Builtins.lc 479:35-479:75 'Nat | ||
1722 | testdata/Builtins.lc 479:35-479:75 V2 | ||
1723 | testdata/Builtins.lc 479:1-479:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | ||
1724 | testdata/Builtins.lc 479:10-479:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | ||
1590 | testdata/Builtins.lc 480:35-480:75 Type | 1725 | testdata/Builtins.lc 480:35-480:75 Type |
1591 | testdata/Builtins.lc 480:35-480:38 Type->Type | 1726 | testdata/Builtins.lc 480:35-480:38 Type->Type |
1592 | testdata/Builtins.lc 480:35-480:75 V5 | 1727 | testdata/Builtins.lc 480:35-480:75 V5 |
@@ -1594,521 +1729,371 @@ testdata/Builtins.lc 480:35-480:75 V4 | |||
1594 | testdata/Builtins.lc 480:46-480:55 'Nat -> Type->Type | 1729 | testdata/Builtins.lc 480:46-480:55 'Nat -> Type->Type |
1595 | testdata/Builtins.lc 480:35-480:75 'Nat | 1730 | testdata/Builtins.lc 480:35-480:75 'Nat |
1596 | testdata/Builtins.lc 480:35-480:75 V2 | 1731 | testdata/Builtins.lc 480:35-480:75 V2 |
1597 | testdata/Builtins.lc 480:1-480:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | 1732 | testdata/Builtins.lc 480:1-480:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b |
1598 | testdata/Builtins.lc 480:10-480:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | 1733 | testdata/Builtins.lc 480:11-480:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b |
1599 | testdata/Builtins.lc 481:35-481:75 Type | 1734 | testdata/Builtins.lc 481:35-481:89 Type |
1600 | testdata/Builtins.lc 481:35-481:38 Type->Type | 1735 | testdata/Builtins.lc 481:35-481:89 V5 |
1601 | testdata/Builtins.lc 481:35-481:75 V5 | 1736 | testdata/Builtins.lc 481:39-481:48 'Nat -> Type->Type |
1602 | testdata/Builtins.lc 481:35-481:75 V4 | 1737 | testdata/Builtins.lc 481:35-481:89 'Nat |
1603 | testdata/Builtins.lc 481:46-481:55 'Nat -> Type->Type | 1738 | testdata/Builtins.lc 481:35-481:89 V3 |
1604 | testdata/Builtins.lc 481:35-481:75 'Nat | 1739 | testdata/Builtins.lc 481:51-481:56 Type |
1605 | testdata/Builtins.lc 481:35-481:75 V2 | 1740 | testdata/Builtins.lc 481:35-481:89 V2 |
1606 | testdata/Builtins.lc 481:1-481:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | 1741 | testdata/Builtins.lc 481:62-481:71 'Nat -> Type->Type |
1607 | testdata/Builtins.lc 481:11-481:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | 1742 | testdata/Builtins.lc 481:74-481:78 Type |
1608 | testdata/Builtins.lc 482:34-482:71 Type | 1743 | testdata/Builtins.lc 481:1-481:10 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c |
1609 | testdata/Builtins.lc 482:34-482:40 Type->Type | 1744 | testdata/Builtins.lc 481:12-481:21 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c |
1610 | testdata/Builtins.lc 482:42-482:58 Type->Type | 1745 | testdata/Builtins.lc 482:35-482:73 Type |
1611 | testdata/Builtins.lc 482:34-482:71 V1 | 1746 | testdata/Builtins.lc 482:35-482:41 Type->Type |
1612 | testdata/Builtins.lc 482:1-482:8 {a} -> {b : 'Signed ('MatVecScalarElem a)} -> a->a | 1747 | testdata/Builtins.lc 482:35-482:73 V5 |
1748 | testdata/Builtins.lc 482:35-482:73 V4 | ||
1749 | testdata/Builtins.lc 482:49-482:58 'Nat -> Type->Type | ||
1750 | testdata/Builtins.lc 482:35-482:73 'Nat | ||
1751 | testdata/Builtins.lc 482:35-482:73 V2 | ||
1752 | testdata/Builtins.lc 482:1-482:8 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b | ||
1753 | testdata/Builtins.lc 482:10-482:18 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b | ||
1754 | testdata/Builtins.lc 483:35-483:72 Type | ||
1755 | testdata/Builtins.lc 483:35-483:72 V3 | ||
1756 | testdata/Builtins.lc 483:39-483:48 'Nat -> Type->Type | ||
1757 | testdata/Builtins.lc 483:35-483:72 'Nat | ||
1758 | testdata/Builtins.lc 483:35-483:72 V1 | ||
1759 | testdata/Builtins.lc 483:51-483:56 Type | ||
1760 | testdata/Builtins.lc 483:66-483:72 Type -> Type->Type | ||
1761 | testdata/Builtins.lc 483:1-483:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> 'Tuple2 a a | ||
1613 | testdata/Builtins.lc 484:35-484:80 Type | 1762 | testdata/Builtins.lc 484:35-484:80 Type |
1614 | testdata/Builtins.lc 484:35-484:43 Type->Type | 1763 | testdata/Builtins.lc 484:35-484:38 Type->Type |
1615 | testdata/Builtins.lc 484:35-484:80 V5 | 1764 | testdata/Builtins.lc 484:35-484:80 V5 |
1616 | testdata/Builtins.lc 484:35-484:80 V4 | 1765 | testdata/Builtins.lc 484:35-484:80 V4 |
1617 | testdata/Builtins.lc 484:51-484:60 'Nat -> Type->Type | 1766 | testdata/Builtins.lc 484:46-484:55 'Nat -> Type->Type |
1618 | testdata/Builtins.lc 484:35-484:80 'Nat | 1767 | testdata/Builtins.lc 484:35-484:80 'Nat |
1619 | testdata/Builtins.lc 484:35-484:80 V2 | 1768 | testdata/Builtins.lc 484:35-484:80 V2 |
1620 | testdata/Builtins.lc 484:1-484:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | 1769 | testdata/Builtins.lc 484:1-484:10 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b -> b->b |
1621 | testdata/Builtins.lc 484:11-484:18 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | ||
1622 | testdata/Builtins.lc 484:20-484:28 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | ||
1623 | testdata/Builtins.lc 485:35-485:80 Type | 1770 | testdata/Builtins.lc 485:35-485:80 Type |
1624 | testdata/Builtins.lc 485:35-485:43 Type->Type | 1771 | testdata/Builtins.lc 485:35-485:38 Type->Type |
1625 | testdata/Builtins.lc 485:35-485:80 V5 | 1772 | testdata/Builtins.lc 485:35-485:80 V5 |
1626 | testdata/Builtins.lc 485:35-485:80 V4 | 1773 | testdata/Builtins.lc 485:35-485:80 V4 |
1627 | testdata/Builtins.lc 485:51-485:60 'Nat -> Type->Type | 1774 | testdata/Builtins.lc 485:46-485:55 'Nat -> Type->Type |
1628 | testdata/Builtins.lc 485:35-485:80 'Nat | 1775 | testdata/Builtins.lc 485:35-485:80 'Nat |
1629 | testdata/Builtins.lc 485:35-485:80 V2 | 1776 | testdata/Builtins.lc 485:35-485:80 V2 |
1630 | testdata/Builtins.lc 485:1-485:10 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | 1777 | testdata/Builtins.lc 485:1-485:11 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a -> a->b |
1631 | testdata/Builtins.lc 485:12-485:20 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | 1778 | testdata/Builtins.lc 486:35-486:77 Type |
1632 | testdata/Builtins.lc 485:22-485:31 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | 1779 | testdata/Builtins.lc 486:35-486:77 V3 |
1633 | testdata/Builtins.lc 486:35-486:75 Type | 1780 | testdata/Builtins.lc 486:39-486:48 'Nat -> Type->Type |
1634 | testdata/Builtins.lc 486:35-486:43 Type->Type | 1781 | testdata/Builtins.lc 486:35-486:77 'Nat |
1635 | testdata/Builtins.lc 486:35-486:75 V5 | 1782 | testdata/Builtins.lc 486:35-486:77 V1 |
1636 | testdata/Builtins.lc 486:35-486:75 V4 | 1783 | testdata/Builtins.lc 486:51-486:56 Type |
1637 | testdata/Builtins.lc 486:51-486:60 'Nat -> Type->Type | 1784 | testdata/Builtins.lc 486:1-486:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a |
1638 | testdata/Builtins.lc 486:35-486:75 'Nat | 1785 | testdata/Builtins.lc 487:35-487:81 Type |
1639 | testdata/Builtins.lc 486:35-486:75 V2 | 1786 | testdata/Builtins.lc 487:35-487:81 V3 |
1640 | testdata/Builtins.lc 486:1-486:9 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b->b | 1787 | testdata/Builtins.lc 487:39-487:48 'Nat -> Type->Type |
1641 | testdata/Builtins.lc 487:35-487:102 Type | 1788 | testdata/Builtins.lc 487:35-487:81 'Nat |
1642 | testdata/Builtins.lc 487:35-487:43 Type->Type | 1789 | testdata/Builtins.lc 487:35-487:81 V1 |
1643 | testdata/Builtins.lc 487:35-487:102 V7 | 1790 | testdata/Builtins.lc 487:51-487:56 Type |
1644 | testdata/Builtins.lc 487:35-487:102 V6 | 1791 | testdata/Builtins.lc 487:71-487:76 Type |
1645 | testdata/Builtins.lc 487:51-487:60 'Nat -> Type->Type | 1792 | testdata/Builtins.lc 487:1-487:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> 'Float->a |
1646 | testdata/Builtins.lc 487:35-487:102 'Nat | 1793 | testdata/Builtins.lc 488:35-488:99 Type |
1647 | testdata/Builtins.lc 487:35-487:102 V4 | 1794 | testdata/Builtins.lc 488:35-488:99 V5 |
1648 | testdata/Builtins.lc 487:35-487:102 V3 | 1795 | testdata/Builtins.lc 488:39-488:48 'Nat -> Type->Type |
1649 | testdata/Builtins.lc 487:70-487:79 'Nat -> Type->Type | 1796 | testdata/Builtins.lc 488:35-488:99 'Nat |
1650 | testdata/Builtins.lc 487:82-487:86 Type | 1797 | testdata/Builtins.lc 488:35-488:99 V3 |
1651 | testdata/Builtins.lc 487:1-487:12 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b | 1798 | testdata/Builtins.lc 488:51-488:56 Type |
1652 | testdata/Builtins.lc 487:14-487:25 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Integral a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Word} -> b -> d->b | 1799 | testdata/Builtins.lc 488:35-488:99 V2 |
1653 | testdata/Builtins.lc 488:35-488:83 Type | 1800 | testdata/Builtins.lc 488:62-488:71 'Nat -> Type->Type |
1654 | testdata/Builtins.lc 488:35-488:43 Type->Type | ||
1655 | testdata/Builtins.lc 488:35-488:83 V5 | ||
1656 | testdata/Builtins.lc 488:35-488:83 V4 | ||
1657 | testdata/Builtins.lc 488:51-488:60 'Nat -> Type->Type | ||
1658 | testdata/Builtins.lc 488:35-488:83 'Nat | ||
1659 | testdata/Builtins.lc 488:35-488:83 V2 | ||
1660 | testdata/Builtins.lc 488:74-488:78 Type | 1801 | testdata/Builtins.lc 488:74-488:78 Type |
1661 | testdata/Builtins.lc 488:1-488:13 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b | 1802 | testdata/Builtins.lc 488:1-488:9 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a -> a -> c->a |
1662 | testdata/Builtins.lc 488:15-488:27 {a} -> {b} -> {c:'Nat} -> {d : 'Integral a} -> {e : b ~ 'VecScalar c a} -> b -> 'Word->b | 1803 | testdata/Builtins.lc 489:35-489:68 Type |
1663 | testdata/Builtins.lc 490:34-490:38 Type | 1804 | testdata/Builtins.lc 489:35-489:68 V3 |
1664 | testdata/Builtins.lc 490:42-490:54 Type | 1805 | testdata/Builtins.lc 489:39-489:44 'Nat -> Type->Type |
1665 | testdata/Builtins.lc 490:42-490:46 Type | 1806 | testdata/Builtins.lc 489:35-489:68 'Nat |
1666 | testdata/Builtins.lc 490:50-490:54 Type | 1807 | testdata/Builtins.lc 489:35-489:68 V1 |
1667 | testdata/Builtins.lc 490:1-490:8 'Bool -> 'Bool->'Bool | 1808 | testdata/Builtins.lc 489:47-489:52 Type |
1668 | testdata/Builtins.lc 490:10-490:16 'Bool -> 'Bool->'Bool | 1809 | testdata/Builtins.lc 489:1-489:9 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a->a |
1669 | testdata/Builtins.lc 490:18-490:25 'Bool -> 'Bool->'Bool | 1810 | testdata/Builtins.lc 490:35-490:76 Type |
1670 | testdata/Builtins.lc 491:35-491:66 Type | 1811 | testdata/Builtins.lc 490:35-490:76 V3 |
1671 | testdata/Builtins.lc 491:35-491:66 V3 | 1812 | testdata/Builtins.lc 490:39-490:48 'Nat -> Type->Type |
1672 | testdata/Builtins.lc 491:39-491:48 'Nat -> Type->Type | 1813 | testdata/Builtins.lc 490:35-490:76 'Nat |
1673 | testdata/Builtins.lc 491:35-491:66 'Nat | 1814 | testdata/Builtins.lc 490:35-490:76 V1 |
1674 | testdata/Builtins.lc 491:35-491:66 V1 | 1815 | testdata/Builtins.lc 490:51-490:56 Type |
1675 | testdata/Builtins.lc 491:51-491:55 Type | 1816 | testdata/Builtins.lc 490:61-490:66 Type |
1676 | testdata/Builtins.lc 491:1-491:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Bool} -> a->a | 1817 | testdata/Builtins.lc 490:1-490:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> a->a |
1677 | testdata/Builtins.lc 492:34-492:58 Type | 1818 | testdata/Builtins.lc 491:35-491:73 Type |
1678 | testdata/Builtins.lc 492:34-492:43 'Nat -> Type->Type | 1819 | testdata/Builtins.lc 491:35-491:73 V3 |
1679 | testdata/Builtins.lc 492:34-492:58 'Nat | 1820 | testdata/Builtins.lc 491:39-491:44 'Nat -> Type->Type |
1680 | testdata/Builtins.lc 492:34-492:58 V1 | 1821 | testdata/Builtins.lc 491:35-491:73 'Nat |
1681 | testdata/Builtins.lc 492:46-492:50 Type | 1822 | testdata/Builtins.lc 491:35-491:73 V1 |
1682 | testdata/Builtins.lc 492:54-492:58 Type | 1823 | testdata/Builtins.lc 491:47-491:52 Type |
1683 | testdata/Builtins.lc 492:1-492:8 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool | 1824 | testdata/Builtins.lc 491:1-491:15 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a -> a->a |
1684 | testdata/Builtins.lc 492:10-492:17 {a:'Nat} -> 'VecScalar a 'Bool -> 'Bool | 1825 | testdata/Builtins.lc 492:35-492:85 Type |
1685 | testdata/Builtins.lc 496:35-496:67 Type | 1826 | testdata/Builtins.lc 492:35-492:85 V3 |
1686 | testdata/Builtins.lc 496:35-496:67 V3 | 1827 | testdata/Builtins.lc 492:39-492:48 'Nat -> Type->Type |
1687 | testdata/Builtins.lc 496:39-496:48 'Nat -> Type->Type | 1828 | testdata/Builtins.lc 492:35-492:85 'Nat |
1688 | testdata/Builtins.lc 496:35-496:67 'Nat | 1829 | testdata/Builtins.lc 492:35-492:85 V1 |
1689 | testdata/Builtins.lc 496:35-496:67 V1 | 1830 | testdata/Builtins.lc 492:51-492:56 Type |
1690 | testdata/Builtins.lc 496:51-496:56 Type | 1831 | testdata/Builtins.lc 492:61-492:66 Type |
1691 | testdata/Builtins.lc 495:1-495:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1832 | testdata/Builtins.lc 492:70-492:75 Type |
1692 | testdata/Builtins.lc 495:11-495:20 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1833 | testdata/Builtins.lc 492:1-492:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> 'Float -> a->a |
1693 | testdata/Builtins.lc 495:22-495:30 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1834 | testdata/Builtins.lc 495:34-495:70 Type |
1694 | testdata/Builtins.lc 495:32-495:41 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1835 | testdata/Builtins.lc 495:34-495:43 'Nat -> Type->Type |
1695 | testdata/Builtins.lc 495:43-495:51 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1836 | testdata/Builtins.lc 495:34-495:70 'Nat |
1696 | testdata/Builtins.lc 495:53-495:62 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1837 | testdata/Builtins.lc 495:34-495:70 V1 |
1697 | testdata/Builtins.lc 495:64-495:71 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1838 | testdata/Builtins.lc 495:46-495:51 Type |
1698 | testdata/Builtins.lc 495:73-495:81 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1839 | testdata/Builtins.lc 495:55-495:64 'Nat -> Type->Type |
1699 | testdata/Builtins.lc 495:83-495:94 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1840 | testdata/Builtins.lc 495:67-495:70 Type |
1700 | testdata/Builtins.lc 495:96-495:107 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1841 | testdata/Builtins.lc 495:1-495:19 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Int |
1701 | testdata/Builtins.lc 495:109-495:116 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1842 | testdata/Builtins.lc 496:34-496:71 Type |
1702 | testdata/Builtins.lc 495:118-495:126 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1843 | testdata/Builtins.lc 496:34-496:43 'Nat -> Type->Type |
1703 | testdata/Builtins.lc 495:128-495:135 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1844 | testdata/Builtins.lc 496:34-496:71 'Nat |
1704 | testdata/Builtins.lc 495:137-495:145 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1845 | testdata/Builtins.lc 496:34-496:71 V1 |
1705 | testdata/Builtins.lc 495:147-495:154 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1846 | testdata/Builtins.lc 496:46-496:51 Type |
1706 | testdata/Builtins.lc 495:156-495:163 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1847 | testdata/Builtins.lc 496:55-496:64 'Nat -> Type->Type |
1707 | testdata/Builtins.lc 495:165-495:173 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1848 | testdata/Builtins.lc 496:67-496:71 Type |
1708 | testdata/Builtins.lc 495:175-495:183 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1849 | testdata/Builtins.lc 496:1-496:20 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Word |
1709 | testdata/Builtins.lc 495:185-495:193 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1850 | testdata/Builtins.lc 497:34-497:72 Type |
1710 | testdata/Builtins.lc 495:195-495:206 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1851 | testdata/Builtins.lc 497:34-497:43 'Nat -> Type->Type |
1711 | testdata/Builtins.lc 497:35-497:72 Type | 1852 | testdata/Builtins.lc 497:34-497:72 'Nat |
1712 | testdata/Builtins.lc 497:35-497:72 V3 | 1853 | testdata/Builtins.lc 497:34-497:72 V1 |
1713 | testdata/Builtins.lc 497:39-497:48 'Nat -> Type->Type | 1854 | testdata/Builtins.lc 497:46-497:49 Type |
1714 | testdata/Builtins.lc 497:35-497:72 'Nat | 1855 | testdata/Builtins.lc 497:55-497:64 'Nat -> Type->Type |
1715 | testdata/Builtins.lc 497:35-497:72 V1 | 1856 | testdata/Builtins.lc 497:67-497:72 Type |
1716 | testdata/Builtins.lc 497:51-497:56 Type | 1857 | testdata/Builtins.lc 497:1-497:19 {a:'Nat} -> 'VecScalar a 'Int -> 'VecScalar a 'Float |
1717 | testdata/Builtins.lc 497:1-497:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a | 1858 | testdata/Builtins.lc 498:34-498:72 Type |
1718 | testdata/Builtins.lc 497:10-497:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a | 1859 | testdata/Builtins.lc 498:34-498:43 'Nat -> Type->Type |
1719 | testdata/Builtins.lc 500:35-500:67 Type | 1860 | testdata/Builtins.lc 498:34-498:72 'Nat |
1720 | testdata/Builtins.lc 500:35-500:67 V3 | 1861 | testdata/Builtins.lc 498:34-498:72 V1 |
1862 | testdata/Builtins.lc 498:46-498:50 Type | ||
1863 | testdata/Builtins.lc 498:55-498:64 'Nat -> Type->Type | ||
1864 | testdata/Builtins.lc 498:67-498:72 Type | ||
1865 | testdata/Builtins.lc 498:1-498:20 {a:'Nat} -> 'VecScalar a 'Word -> 'VecScalar a 'Float | ||
1866 | testdata/Builtins.lc 500:35-500:71 Type | ||
1867 | testdata/Builtins.lc 500:35-500:71 V3 | ||
1721 | testdata/Builtins.lc 500:39-500:48 'Nat -> Type->Type | 1868 | testdata/Builtins.lc 500:39-500:48 'Nat -> Type->Type |
1722 | testdata/Builtins.lc 500:35-500:67 'Nat | 1869 | testdata/Builtins.lc 500:35-500:71 'Nat |
1723 | testdata/Builtins.lc 500:35-500:67 V1 | 1870 | testdata/Builtins.lc 500:35-500:71 V1 |
1724 | testdata/Builtins.lc 500:51-500:56 Type | 1871 | testdata/Builtins.lc 500:51-500:56 Type |
1725 | testdata/Builtins.lc 499:1-499:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1872 | testdata/Builtins.lc 500:66-500:71 Type |
1726 | testdata/Builtins.lc 499:12-499:21 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1873 | testdata/Builtins.lc 500:1-500:11 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->'Float |
1727 | testdata/Builtins.lc 499:23-499:32 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1874 | testdata/Builtins.lc 501:35-501:76 Type |
1728 | testdata/Builtins.lc 499:34-499:47 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1875 | testdata/Builtins.lc 501:35-501:76 V3 |
1729 | testdata/Builtins.lc 499:49-499:57 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1876 | testdata/Builtins.lc 501:39-501:48 'Nat -> Type->Type |
1730 | testdata/Builtins.lc 499:59-499:68 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 1877 | testdata/Builtins.lc 501:35-501:76 'Nat |
1731 | testdata/Builtins.lc 501:35-501:75 Type | 1878 | testdata/Builtins.lc 501:35-501:76 V1 |
1732 | testdata/Builtins.lc 501:35-501:38 Type->Type | 1879 | testdata/Builtins.lc 501:51-501:56 Type |
1733 | testdata/Builtins.lc 501:35-501:75 V5 | 1880 | testdata/Builtins.lc 501:71-501:76 Type |
1734 | testdata/Builtins.lc 501:35-501:75 V4 | 1881 | testdata/Builtins.lc 501:1-501:13 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float |
1735 | testdata/Builtins.lc 501:46-501:55 'Nat -> Type->Type | 1882 | testdata/Builtins.lc 501:15-501:22 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float |
1736 | testdata/Builtins.lc 501:35-501:75 'Nat | 1883 | testdata/Builtins.lc 502:35-502:72 Type |
1737 | testdata/Builtins.lc 501:35-501:75 V2 | 1884 | testdata/Builtins.lc 502:35-502:72 V1 |
1738 | testdata/Builtins.lc 501:1-501:8 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | 1885 | testdata/Builtins.lc 502:39-502:56 Type |
1739 | testdata/Builtins.lc 501:10-501:17 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b->b | 1886 | testdata/Builtins.lc 502:39-502:48 'Nat -> Type->Type |
1740 | testdata/Builtins.lc 502:35-502:75 Type | 1887 | testdata/Builtins.lc 502:51-502:56 Type |
1741 | testdata/Builtins.lc 502:35-502:38 Type->Type | 1888 | testdata/Builtins.lc 502:1-502:10 {a} -> {b : a ~ 'VecS 'Float (Succ (Succ (Succ Zero)))} -> a -> a->a |
1742 | testdata/Builtins.lc 502:35-502:75 V5 | 1889 | testdata/Builtins.lc 503:35-503:67 Type |
1743 | testdata/Builtins.lc 502:35-502:75 V4 | 1890 | testdata/Builtins.lc 503:35-503:67 V3 |
1744 | testdata/Builtins.lc 502:46-502:55 'Nat -> Type->Type | ||
1745 | testdata/Builtins.lc 502:35-502:75 'Nat | ||
1746 | testdata/Builtins.lc 502:35-502:75 V2 | ||
1747 | testdata/Builtins.lc 502:1-502:9 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1748 | testdata/Builtins.lc 502:11-502:19 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a->b | ||
1749 | testdata/Builtins.lc 503:35-503:89 Type | ||
1750 | testdata/Builtins.lc 503:35-503:89 V5 | ||
1751 | testdata/Builtins.lc 503:39-503:48 'Nat -> Type->Type | 1891 | testdata/Builtins.lc 503:39-503:48 'Nat -> Type->Type |
1752 | testdata/Builtins.lc 503:35-503:89 'Nat | 1892 | testdata/Builtins.lc 503:35-503:67 'Nat |
1753 | testdata/Builtins.lc 503:35-503:89 V3 | 1893 | testdata/Builtins.lc 503:35-503:67 V1 |
1754 | testdata/Builtins.lc 503:51-503:56 Type | 1894 | testdata/Builtins.lc 503:51-503:56 Type |
1755 | testdata/Builtins.lc 503:35-503:89 V2 | 1895 | testdata/Builtins.lc 503:1-503:14 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1756 | testdata/Builtins.lc 503:62-503:71 'Nat -> Type->Type | 1896 | testdata/Builtins.lc 504:35-504:77 Type |
1757 | testdata/Builtins.lc 503:74-503:78 Type | 1897 | testdata/Builtins.lc 504:35-504:77 V3 |
1758 | testdata/Builtins.lc 503:1-503:10 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c | 1898 | testdata/Builtins.lc 504:39-504:48 'Nat -> Type->Type |
1759 | testdata/Builtins.lc 503:12-503:21 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a->c | 1899 | testdata/Builtins.lc 504:35-504:77 'Nat |
1760 | testdata/Builtins.lc 504:35-504:73 Type | 1900 | testdata/Builtins.lc 504:35-504:77 V1 |
1761 | testdata/Builtins.lc 504:35-504:41 Type->Type | 1901 | testdata/Builtins.lc 504:51-504:56 Type |
1762 | testdata/Builtins.lc 504:35-504:73 V5 | 1902 | testdata/Builtins.lc 504:1-504:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a |
1763 | testdata/Builtins.lc 504:35-504:73 V4 | 1903 | testdata/Builtins.lc 504:18-504:29 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a |
1764 | testdata/Builtins.lc 504:49-504:58 'Nat -> Type->Type | ||
1765 | testdata/Builtins.lc 504:35-504:73 'Nat | ||
1766 | testdata/Builtins.lc 504:35-504:73 V2 | ||
1767 | testdata/Builtins.lc 504:1-504:8 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b | ||
1768 | testdata/Builtins.lc 504:10-504:18 {a} -> {b} -> {c:'Nat} -> {d : 'Signed a} -> {e : b ~ 'VecScalar c a} -> b->b | ||
1769 | testdata/Builtins.lc 505:35-505:72 Type | 1904 | testdata/Builtins.lc 505:35-505:72 Type |
1770 | testdata/Builtins.lc 505:35-505:72 V3 | 1905 | testdata/Builtins.lc 505:35-505:72 V3 |
1771 | testdata/Builtins.lc 505:39-505:48 'Nat -> Type->Type | 1906 | testdata/Builtins.lc 505:39-505:48 'Nat -> Type->Type |
1772 | testdata/Builtins.lc 505:35-505:72 'Nat | 1907 | testdata/Builtins.lc 505:35-505:72 'Nat |
1773 | testdata/Builtins.lc 505:35-505:72 V1 | 1908 | testdata/Builtins.lc 505:35-505:72 V1 |
1774 | testdata/Builtins.lc 505:51-505:56 Type | 1909 | testdata/Builtins.lc 505:51-505:56 Type |
1775 | testdata/Builtins.lc 505:66-505:72 Type -> Type->Type | 1910 | testdata/Builtins.lc 505:1-505:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a |
1776 | testdata/Builtins.lc 505:1-505:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> 'Tuple2 a a | 1911 | testdata/Builtins.lc 507:34-507:56 Type |
1777 | testdata/Builtins.lc 506:35-506:80 Type | 1912 | testdata/Builtins.lc 507:34-507:37 'Nat -> 'Nat -> Type->Type |
1778 | testdata/Builtins.lc 506:35-506:38 Type->Type | 1913 | testdata/Builtins.lc 507:34-507:56 'Nat |
1779 | testdata/Builtins.lc 506:35-506:80 V5 | 1914 | testdata/Builtins.lc 507:34-507:56 V5 |
1780 | testdata/Builtins.lc 506:35-506:80 V4 | 1915 | testdata/Builtins.lc 507:34-507:56 V3 |
1781 | testdata/Builtins.lc 506:46-506:55 'Nat -> Type->Type | 1916 | testdata/Builtins.lc 507:34-507:56 V1 |
1782 | testdata/Builtins.lc 506:35-506:80 'Nat | 1917 | testdata/Builtins.lc 507:47-507:50 'Nat -> 'Nat -> Type->Type |
1783 | testdata/Builtins.lc 506:35-506:80 V2 | 1918 | testdata/Builtins.lc 507:1-507:14 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'Mat b a c |
1784 | testdata/Builtins.lc 506:1-506:10 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> b -> b->b | 1919 | testdata/Builtins.lc 508:34-508:52 Type |
1785 | testdata/Builtins.lc 507:35-507:80 Type | 1920 | testdata/Builtins.lc 508:34-508:37 'Nat -> 'Nat -> Type->Type |
1786 | testdata/Builtins.lc 507:35-507:38 Type->Type | 1921 | testdata/Builtins.lc 508:34-508:52 'Nat |
1787 | testdata/Builtins.lc 507:35-507:80 V5 | 1922 | testdata/Builtins.lc 508:34-508:52 V3 |
1788 | testdata/Builtins.lc 507:35-507:80 V4 | 1923 | testdata/Builtins.lc 508:34-508:52 V1 |
1789 | testdata/Builtins.lc 507:46-507:55 'Nat -> Type->Type | 1924 | testdata/Builtins.lc 508:47-508:52 Type |
1790 | testdata/Builtins.lc 507:35-507:80 'Nat | 1925 | testdata/Builtins.lc 508:1-508:16 {a:'Nat} -> {b} -> 'Mat a a b -> 'Float |
1791 | testdata/Builtins.lc 507:35-507:80 V2 | 1926 | testdata/Builtins.lc 509:34-509:56 Type |
1792 | testdata/Builtins.lc 507:1-507:11 {a} -> {b} -> {c:'Nat} -> {d : 'Num a} -> {e : b ~ 'VecScalar c a} -> b -> a -> a->b | 1927 | testdata/Builtins.lc 509:34-509:37 'Nat -> 'Nat -> Type->Type |
1793 | testdata/Builtins.lc 508:35-508:77 Type | 1928 | testdata/Builtins.lc 509:34-509:56 'Nat |
1794 | testdata/Builtins.lc 508:35-508:77 V3 | 1929 | testdata/Builtins.lc 509:34-509:56 V3 |
1795 | testdata/Builtins.lc 508:39-508:48 'Nat -> Type->Type | 1930 | testdata/Builtins.lc 509:34-509:56 V1 |
1796 | testdata/Builtins.lc 508:35-508:77 'Nat | 1931 | testdata/Builtins.lc 509:47-509:50 'Nat -> 'Nat -> Type->Type |
1797 | testdata/Builtins.lc 508:35-508:77 V1 | 1932 | testdata/Builtins.lc 509:1-509:12 {a:'Nat} -> {b} -> 'Mat a a b -> 'Mat a a b |
1798 | testdata/Builtins.lc 508:51-508:56 Type | 1933 | testdata/Builtins.lc 510:34-510:69 Type |
1799 | testdata/Builtins.lc 508:1-508:8 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a | 1934 | testdata/Builtins.lc 510:34-510:37 'Nat -> Type->Type |
1800 | testdata/Builtins.lc 509:35-509:81 Type | 1935 | testdata/Builtins.lc 510:34-510:69 'Nat |
1801 | testdata/Builtins.lc 509:35-509:81 V3 | 1936 | testdata/Builtins.lc 510:34-510:69 V5 |
1802 | testdata/Builtins.lc 509:39-509:48 'Nat -> Type->Type | 1937 | testdata/Builtins.lc 510:34-510:69 V3 |
1803 | testdata/Builtins.lc 509:35-509:81 'Nat | 1938 | testdata/Builtins.lc 510:47-510:50 'Nat -> Type->Type |
1804 | testdata/Builtins.lc 509:35-509:81 V1 | 1939 | testdata/Builtins.lc 510:34-510:69 V2 |
1805 | testdata/Builtins.lc 509:51-509:56 Type | 1940 | testdata/Builtins.lc 510:60-510:63 'Nat -> 'Nat -> Type->Type |
1806 | testdata/Builtins.lc 509:71-509:76 Type | 1941 | testdata/Builtins.lc 510:1-510:17 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'VecS b c -> 'Mat c a b |
1807 | testdata/Builtins.lc 509:1-509:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> 'Float->a | 1942 | testdata/Builtins.lc 511:34-511:67 Type |
1808 | testdata/Builtins.lc 510:35-510:99 Type | 1943 | testdata/Builtins.lc 511:34-511:37 'Nat -> 'Nat -> Type->Type |
1809 | testdata/Builtins.lc 510:35-510:99 V5 | 1944 | testdata/Builtins.lc 511:34-511:67 'Nat |
1810 | testdata/Builtins.lc 510:39-510:48 'Nat -> Type->Type | 1945 | testdata/Builtins.lc 511:34-511:67 V5 |
1811 | testdata/Builtins.lc 510:35-510:99 'Nat | 1946 | testdata/Builtins.lc 511:34-511:67 V3 |
1812 | testdata/Builtins.lc 510:35-510:99 V3 | 1947 | testdata/Builtins.lc 511:34-511:67 V1 |
1813 | testdata/Builtins.lc 510:51-510:56 Type | 1948 | testdata/Builtins.lc 511:47-511:50 'Nat -> Type->Type |
1814 | testdata/Builtins.lc 510:35-510:99 V2 | 1949 | testdata/Builtins.lc 511:60-511:63 'Nat -> Type->Type |
1815 | testdata/Builtins.lc 510:62-510:71 'Nat -> Type->Type | 1950 | testdata/Builtins.lc 511:1-511:14 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'VecS c b -> 'VecS c a |
1816 | testdata/Builtins.lc 510:74-510:78 Type | 1951 | testdata/Builtins.lc 512:34-512:67 Type |
1817 | testdata/Builtins.lc 510:1-510:9 {a} -> {b:'Nat} -> {c} -> {d : a ~ 'VecScalar b 'Float} -> {e : c ~ 'VecScalar b 'Bool} -> a -> a -> c->a | 1952 | testdata/Builtins.lc 512:34-512:37 'Nat -> Type->Type |
1818 | testdata/Builtins.lc 511:35-511:68 Type | 1953 | testdata/Builtins.lc 512:34-512:67 'Nat |
1819 | testdata/Builtins.lc 511:35-511:68 V3 | 1954 | testdata/Builtins.lc 512:34-512:67 V5 |
1820 | testdata/Builtins.lc 511:39-511:44 'Nat -> Type->Type | 1955 | testdata/Builtins.lc 512:34-512:67 V3 |
1821 | testdata/Builtins.lc 511:35-511:68 'Nat | 1956 | testdata/Builtins.lc 512:47-512:50 'Nat -> 'Nat -> Type->Type |
1822 | testdata/Builtins.lc 511:35-511:68 V1 | 1957 | testdata/Builtins.lc 512:34-512:67 V2 |
1823 | testdata/Builtins.lc 511:47-511:52 Type | 1958 | testdata/Builtins.lc 512:60-512:63 'Nat -> Type->Type |
1824 | testdata/Builtins.lc 511:1-511:9 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a->a | 1959 | testdata/Builtins.lc 512:1-512:14 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'Mat a c b -> 'VecS b c |
1825 | testdata/Builtins.lc 512:35-512:76 Type | 1960 | testdata/Builtins.lc 513:34-513:69 Type |
1826 | testdata/Builtins.lc 512:35-512:76 V3 | 1961 | testdata/Builtins.lc 513:34-513:37 'Nat -> 'Nat -> Type->Type |
1827 | testdata/Builtins.lc 512:39-512:48 'Nat -> Type->Type | 1962 | testdata/Builtins.lc 513:34-513:69 'Nat |
1828 | testdata/Builtins.lc 512:35-512:76 'Nat | 1963 | testdata/Builtins.lc 513:34-513:69 V7 |
1829 | testdata/Builtins.lc 512:35-512:76 V1 | 1964 | testdata/Builtins.lc 513:34-513:69 V5 |
1830 | testdata/Builtins.lc 512:51-512:56 Type | 1965 | testdata/Builtins.lc 513:34-513:69 V3 |
1831 | testdata/Builtins.lc 512:61-512:66 Type | 1966 | testdata/Builtins.lc 513:47-513:50 'Nat -> 'Nat -> Type->Type |
1832 | testdata/Builtins.lc 512:1-512:10 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> a->a | 1967 | testdata/Builtins.lc 513:34-513:69 V2 |
1833 | testdata/Builtins.lc 513:35-513:73 Type | 1968 | testdata/Builtins.lc 513:60-513:63 'Nat -> 'Nat -> Type->Type |
1834 | testdata/Builtins.lc 513:35-513:73 V3 | 1969 | testdata/Builtins.lc 513:1-513:14 {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c |
1835 | testdata/Builtins.lc 513:39-513:44 'Nat -> Type->Type | 1970 | testdata/Builtins.lc 516:35-516:97 Type |
1836 | testdata/Builtins.lc 513:35-513:73 'Nat | 1971 | testdata/Builtins.lc 516:35-516:38 Type->Type |
1837 | testdata/Builtins.lc 513:35-513:73 V1 | 1972 | testdata/Builtins.lc 516:35-516:97 V7 |
1838 | testdata/Builtins.lc 513:47-513:52 Type | 1973 | testdata/Builtins.lc 516:35-516:97 V6 |
1839 | testdata/Builtins.lc 513:1-513:15 {a} -> {b:'Nat} -> {c : a ~ 'VecS 'Float b} -> a -> a -> a->a | 1974 | testdata/Builtins.lc 516:46-516:55 'Nat -> Type->Type |
1840 | testdata/Builtins.lc 514:35-514:85 Type | 1975 | testdata/Builtins.lc 516:35-516:97 'Nat |
1841 | testdata/Builtins.lc 514:35-514:85 V3 | 1976 | testdata/Builtins.lc 516:35-516:97 V4 |
1842 | testdata/Builtins.lc 514:39-514:48 'Nat -> Type->Type | 1977 | testdata/Builtins.lc 516:35-516:97 V3 |
1843 | testdata/Builtins.lc 514:35-514:85 'Nat | 1978 | testdata/Builtins.lc 516:65-516:74 'Nat -> Type->Type |
1844 | testdata/Builtins.lc 514:35-514:85 V1 | 1979 | testdata/Builtins.lc 516:77-516:81 Type |
1845 | testdata/Builtins.lc 514:51-514:56 Type | 1980 | testdata/Builtins.lc 515:1-515:13 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
1846 | testdata/Builtins.lc 514:61-514:66 Type | 1981 | testdata/Builtins.lc 515:15-515:32 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
1847 | testdata/Builtins.lc 514:70-514:75 Type | 1982 | testdata/Builtins.lc 515:34-515:49 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
1848 | testdata/Builtins.lc 514:1-514:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> 'Float -> 'Float -> a->a | 1983 | testdata/Builtins.lc 515:51-515:71 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
1849 | testdata/Builtins.lc 517:34-517:70 Type | 1984 | testdata/Builtins.lc 515:73-515:83 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
1850 | testdata/Builtins.lc 517:34-517:43 'Nat -> Type->Type | 1985 | testdata/Builtins.lc 515:85-515:98 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d |
1851 | testdata/Builtins.lc 517:34-517:70 'Nat | 1986 | testdata/Builtins.lc 517:35-517:76 Type |
1852 | testdata/Builtins.lc 517:34-517:70 V1 | 1987 | testdata/Builtins.lc 517:35-517:76 V3 |
1853 | testdata/Builtins.lc 517:46-517:51 Type | 1988 | testdata/Builtins.lc 517:39-517:55 Type->Type |
1854 | testdata/Builtins.lc 517:55-517:64 'Nat -> Type->Type | 1989 | testdata/Builtins.lc 517:35-517:76 V1 |
1855 | testdata/Builtins.lc 517:67-517:70 Type | 1990 | testdata/Builtins.lc 517:72-517:76 Type |
1856 | testdata/Builtins.lc 517:1-517:19 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Int | 1991 | testdata/Builtins.lc 517:1-517:10 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool |
1857 | testdata/Builtins.lc 518:34-518:71 Type | 1992 | testdata/Builtins.lc 517:12-517:24 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool |
1858 | testdata/Builtins.lc 518:34-518:43 'Nat -> Type->Type | 1993 | testdata/Builtins.lc 520:35-520:67 Type |
1859 | testdata/Builtins.lc 518:34-518:71 'Nat | 1994 | testdata/Builtins.lc 520:35-520:67 V3 |
1860 | testdata/Builtins.lc 518:34-518:71 V1 | 1995 | testdata/Builtins.lc 520:39-520:48 'Nat -> Type->Type |
1861 | testdata/Builtins.lc 518:46-518:51 Type | 1996 | testdata/Builtins.lc 520:35-520:67 'Nat |
1862 | testdata/Builtins.lc 518:55-518:64 'Nat -> Type->Type | 1997 | testdata/Builtins.lc 520:35-520:67 V1 |
1863 | testdata/Builtins.lc 518:67-518:71 Type | 1998 | testdata/Builtins.lc 520:51-520:56 Type |
1864 | testdata/Builtins.lc 518:1-518:20 {a:'Nat} -> 'VecScalar a 'Float -> 'VecScalar a 'Word | 1999 | testdata/Builtins.lc 519:1-519:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1865 | testdata/Builtins.lc 519:34-519:72 Type | 2000 | testdata/Builtins.lc 519:11-519:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1866 | testdata/Builtins.lc 519:34-519:43 'Nat -> Type->Type | 2001 | testdata/Builtins.lc 519:21-519:31 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a |
1867 | testdata/Builtins.lc 519:34-519:72 'Nat | 2002 | testdata/Builtins.lc 522:34-522:60 Type |
1868 | testdata/Builtins.lc 519:34-519:72 V1 | 2003 | testdata/Builtins.lc 522:34-522:43 'Nat -> Type->Type |
1869 | testdata/Builtins.lc 519:46-519:49 Type | 2004 | testdata/Builtins.lc 522:34-522:60 'Nat |
1870 | testdata/Builtins.lc 519:55-519:64 'Nat -> Type->Type | 2005 | testdata/Builtins.lc 522:34-522:60 V1 |
1871 | testdata/Builtins.lc 519:67-519:72 Type | 2006 | testdata/Builtins.lc 522:46-522:51 Type |
1872 | testdata/Builtins.lc 519:1-519:19 {a:'Nat} -> 'VecScalar a 'Int -> 'VecScalar a 'Float | 2007 | testdata/Builtins.lc 522:55-522:60 Type |
1873 | testdata/Builtins.lc 520:34-520:72 Type | 2008 | testdata/Builtins.lc 522:1-522:11 {a:'Nat} -> 'VecScalar a 'Float -> 'Float |
1874 | testdata/Builtins.lc 520:34-520:43 'Nat -> Type->Type | 2009 | testdata/Builtins.lc 523:34-523:66 Type |
1875 | testdata/Builtins.lc 520:34-520:72 'Nat | 2010 | testdata/Builtins.lc 523:34-523:43 'Nat -> Type->Type |
1876 | testdata/Builtins.lc 520:34-520:72 V1 | 2011 | testdata/Builtins.lc 523:34-523:66 'Nat |
1877 | testdata/Builtins.lc 520:46-520:50 Type | 2012 | testdata/Builtins.lc 523:34-523:66 V1 |
1878 | testdata/Builtins.lc 520:55-520:64 'Nat -> Type->Type | 2013 | testdata/Builtins.lc 523:46-523:51 Type |
1879 | testdata/Builtins.lc 520:67-520:72 Type | 2014 | testdata/Builtins.lc 523:55-523:66 Type |
1880 | testdata/Builtins.lc 520:1-520:20 {a:'Nat} -> 'VecScalar a 'Word -> 'VecScalar a 'Float | 2015 | testdata/Builtins.lc 523:55-523:58 'Nat -> Type->Type |
1881 | testdata/Builtins.lc 522:35-522:71 Type | 2016 | testdata/Builtins.lc 523:61-523:66 Type |
1882 | testdata/Builtins.lc 522:35-522:71 V3 | 2017 | testdata/Builtins.lc 523:1-523:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ Zero)) |
1883 | testdata/Builtins.lc 522:39-522:48 'Nat -> Type->Type | 2018 | testdata/Builtins.lc 524:34-524:66 Type |
1884 | testdata/Builtins.lc 522:35-522:71 'Nat | 2019 | testdata/Builtins.lc 524:34-524:43 'Nat -> Type->Type |
1885 | testdata/Builtins.lc 522:35-522:71 V1 | 2020 | testdata/Builtins.lc 524:34-524:66 'Nat |
1886 | testdata/Builtins.lc 522:51-522:56 Type | 2021 | testdata/Builtins.lc 524:34-524:66 V1 |
1887 | testdata/Builtins.lc 522:66-522:71 Type | 2022 | testdata/Builtins.lc 524:46-524:51 Type |
1888 | testdata/Builtins.lc 522:1-522:11 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->'Float | 2023 | testdata/Builtins.lc 524:55-524:66 Type |
1889 | testdata/Builtins.lc 523:35-523:76 Type | 2024 | testdata/Builtins.lc 524:55-524:58 'Nat -> Type->Type |
1890 | testdata/Builtins.lc 523:35-523:76 V3 | 2025 | testdata/Builtins.lc 524:61-524:66 Type |
1891 | testdata/Builtins.lc 523:39-523:48 'Nat -> Type->Type | 2026 | testdata/Builtins.lc 524:1-524:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ (Succ Zero))) |
1892 | testdata/Builtins.lc 523:35-523:76 'Nat | 2027 | testdata/Builtins.lc 525:34-525:66 Type |
1893 | testdata/Builtins.lc 523:35-523:76 V1 | 2028 | testdata/Builtins.lc 525:34-525:43 'Nat -> Type->Type |
1894 | testdata/Builtins.lc 523:51-523:56 Type | 2029 | testdata/Builtins.lc 525:34-525:66 'Nat |
1895 | testdata/Builtins.lc 523:71-523:76 Type | 2030 | testdata/Builtins.lc 525:34-525:66 V1 |
1896 | testdata/Builtins.lc 523:1-523:13 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float | 2031 | testdata/Builtins.lc 525:46-525:51 Type |
1897 | testdata/Builtins.lc 523:15-523:22 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->'Float | 2032 | testdata/Builtins.lc 525:55-525:66 Type |
1898 | testdata/Builtins.lc 524:35-524:72 Type | 2033 | testdata/Builtins.lc 525:55-525:58 'Nat -> Type->Type |
1899 | testdata/Builtins.lc 524:35-524:72 V1 | 2034 | testdata/Builtins.lc 525:61-525:66 Type |
1900 | testdata/Builtins.lc 524:39-524:56 Type | 2035 | testdata/Builtins.lc 525:1-525:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) |
1901 | testdata/Builtins.lc 524:39-524:48 'Nat -> Type->Type | 2036 | testdata/Builtins.lc 541:6-541:13 Type |
1902 | testdata/Builtins.lc 524:51-524:56 Type | 2037 | testdata/Builtins.lc 542:20-542:26 Type |
1903 | testdata/Builtins.lc 524:1-524:10 {a} -> {b : a ~ 'VecS 'Float (Succ (Succ (Succ Zero)))} -> a -> a->a | 2038 | testdata/Builtins.lc 543:20-543:27 Type |
1904 | testdata/Builtins.lc 525:35-525:67 Type | 2039 | testdata/Builtins.lc 542:3-542:16 'String->'Texture |
1905 | testdata/Builtins.lc 525:35-525:67 V3 | 2040 | testdata/Builtins.lc 545:20-545:23 'Nat -> Type->Type |
1906 | testdata/Builtins.lc 525:39-525:48 'Nat -> Type->Type | 2041 | testdata/Builtins.lc 545:26-545:29 Type |
1907 | testdata/Builtins.lc 525:35-525:67 'Nat | 2042 | testdata/Builtins.lc 546:20-547:27 Type |
1908 | testdata/Builtins.lc 525:35-525:67 V1 | 2043 | testdata/Builtins.lc 546:20-546:25 'Nat -> Type->Type |
1909 | testdata/Builtins.lc 525:51-525:56 Type | 2044 | testdata/Builtins.lc 546:29-546:47 Type |
1910 | testdata/Builtins.lc 525:1-525:14 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | 2045 | testdata/Builtins.lc 546:29-546:34 Type->Type |
1911 | testdata/Builtins.lc 526:35-526:77 Type | 2046 | testdata/Builtins.lc 546:36-546:47 Type |
1912 | testdata/Builtins.lc 526:35-526:77 V3 | 2047 | testdata/Builtins.lc 546:36-546:39 'Nat -> Type->Type |
1913 | testdata/Builtins.lc 526:39-526:48 'Nat -> Type->Type | 2048 | testdata/Builtins.lc 546:42-546:47 Type |
1914 | testdata/Builtins.lc 526:35-526:77 'Nat | 2049 | testdata/Builtins.lc 547:20-547:27 Type |
1915 | testdata/Builtins.lc 526:35-526:77 V1 | 2050 | testdata/Builtins.lc 545:3-545:12 'VecS 'Int (Succ (Succ Zero)) -> 'Image (Succ Zero) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) -> 'Texture |
1916 | testdata/Builtins.lc 526:51-526:56 Type | 2051 | testdata/Builtins.lc 549:6-549:12 Type |
1917 | testdata/Builtins.lc 526:1-526:16 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a | 2052 | testdata/Builtins.lc 550:5-550:16 'Filter |
1918 | testdata/Builtins.lc 526:18-526:29 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a -> a->a | 2053 | testdata/Builtins.lc 551:5-551:17 'Filter |
1919 | testdata/Builtins.lc 527:35-527:72 Type | 2054 | testdata/Builtins.lc 553:6-553:14 Type |
1920 | testdata/Builtins.lc 527:35-527:72 V3 | 2055 | testdata/Builtins.lc 554:5-554:11 'EdgeMode |
1921 | testdata/Builtins.lc 527:39-527:48 'Nat -> Type->Type | 2056 | testdata/Builtins.lc 555:5-555:19 'EdgeMode |
1922 | testdata/Builtins.lc 527:35-527:72 'Nat | 2057 | testdata/Builtins.lc 556:5-556:16 'EdgeMode |
1923 | testdata/Builtins.lc 527:35-527:72 V1 | 2058 | testdata/Builtins.lc 558:6-558:13 Type |
1924 | testdata/Builtins.lc 527:51-527:56 Type | 2059 | testdata/Builtins.lc 558:24-558:30 Type |
1925 | testdata/Builtins.lc 527:1-527:12 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a -> a->a | 2060 | testdata/Builtins.lc 558:6-558:47 Type |
1926 | testdata/Builtins.lc 529:34-529:56 Type | 2061 | testdata/Builtins.lc 558:31-558:39 Type |
1927 | testdata/Builtins.lc 529:34-529:37 'Nat -> 'Nat -> Type->Type | 2062 | testdata/Builtins.lc 558:40-558:47 Type |
1928 | testdata/Builtins.lc 529:34-529:56 'Nat | 2063 | testdata/Builtins.lc 558:16-558:23 'Filter -> 'EdgeMode -> 'Texture->'Sampler |
1929 | testdata/Builtins.lc 529:34-529:56 V5 | 2064 | testdata/Builtins.lc 561:14-561:21 Type |
1930 | testdata/Builtins.lc 529:34-529:56 V3 | 2065 | testdata/Builtins.lc 561:25-561:51 Type |
1931 | testdata/Builtins.lc 529:34-529:56 V1 | 2066 | testdata/Builtins.lc 561:25-561:28 'Nat -> Type->Type |
1932 | testdata/Builtins.lc 529:47-529:50 'Nat -> 'Nat -> Type->Type | 2067 | testdata/Builtins.lc 561:31-561:36 Type |
1933 | testdata/Builtins.lc 529:1-529:14 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'Mat b a c | 2068 | testdata/Builtins.lc 561:40-561:51 Type |
1934 | testdata/Builtins.lc 530:34-530:52 Type | 2069 | testdata/Builtins.lc 561:40-561:43 'Nat -> Type->Type |
1935 | testdata/Builtins.lc 530:34-530:37 'Nat -> 'Nat -> Type->Type | 2070 | testdata/Builtins.lc 561:46-561:51 Type |
1936 | testdata/Builtins.lc 530:34-530:52 'Nat | 2071 | testdata/Builtins.lc 561:1-561:10 'Sampler -> 'VecS 'Float (Succ (Succ Zero)) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) |
1937 | testdata/Builtins.lc 530:34-530:52 V3 | 2072 | testdata/Builtins.lc 564:30-564:45 {a} -> {b} -> (a -> 'Stream b) -> 'Stream a -> 'Stream b |
1938 | testdata/Builtins.lc 530:34-530:52 V1 | 2073 | testdata/Builtins.lc 564:47-564:66 V1 -> 'Stream V1 |
1939 | testdata/Builtins.lc 530:47-530:52 Type | 2074 | testdata/Builtins.lc 564:47-564:57 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) a) |
1940 | testdata/Builtins.lc 530:1-530:16 {a:'Nat} -> {b} -> 'Mat a a b -> 'Float | 2075 | testdata/Builtins.lc 564:59-564:66 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType V1) -> 'Float |
1941 | testdata/Builtins.lc 531:34-531:56 Type | 2076 | testdata/Builtins.lc 564:65-564:66 'Float |
1942 | testdata/Builtins.lc 531:34-531:37 'Nat -> 'Nat -> Type->Type | 2077 | testdata/Builtins.lc 564:65-564:66 'Int |
1943 | testdata/Builtins.lc 531:34-531:56 'Nat | 2078 | testdata/Builtins.lc 564:1-564:20 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) ('InterpolatedType a)) |
1944 | testdata/Builtins.lc 531:34-531:56 V3 | 2079 | testdata/Builtins.lc 565:46-565:61 {a} -> {b} -> (a -> 'Stream b) -> 'Stream a -> 'Stream b |
1945 | testdata/Builtins.lc 531:34-531:56 V1 | 2080 | testdata/Builtins.lc 565:63-565:73 V1 -> 'Stream V1 |
1946 | testdata/Builtins.lc 531:47-531:50 'Nat -> 'Nat -> Type->Type | 2081 | testdata/Builtins.lc 565:63-565:73 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) a) |
1947 | testdata/Builtins.lc 531:1-531:12 {a:'Nat} -> {b} -> 'Mat a a b -> 'Mat a a b | 2082 | testdata/Builtins.lc 565:1-565:33 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a) -> 'Float) -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) ('InterpolatedType a)) |
1948 | testdata/Builtins.lc 532:34-532:69 Type | 2083 | testdata/Builtins.lc 566:24-566:32 {a} -> {b} -> a -> b -> 'Tuple2 a b |
1949 | testdata/Builtins.lc 532:34-532:37 'Nat -> Type->Type | 2084 | testdata/Builtins.lc 566:1-566:15 {a} -> {b} -> a -> b -> 'Tuple2 a b |
1950 | testdata/Builtins.lc 532:34-532:69 'Nat | 2085 | testdata/Builtins.lc 567:25-567:35 V2 -> V2->V2 |
1951 | testdata/Builtins.lc 532:34-532:69 V5 | 2086 | testdata/Builtins.lc 567:25-567:35 V2->V2 |
1952 | testdata/Builtins.lc 532:34-532:69 V3 | 2087 | testdata/Builtins.lc 567:25-567:35 V2 |
1953 | testdata/Builtins.lc 532:47-532:50 'Nat -> Type->Type | 2088 | testdata/Builtins.lc 567:25-567:35 {a:'Nat} -> {b} -> 'FragOps' b -> 'Stream ('Fragment a ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b |
1954 | testdata/Builtins.lc 532:34-532:69 V2 | 2089 | testdata/Builtins.lc 567:13-567:21 'Tuple2 ('FragOps' V0) ('Stream ('Fragment V1 ('RemSemantics V0))) |
1955 | testdata/Builtins.lc 532:60-532:63 'Nat -> 'Nat -> Type->Type | 2090 | testdata/Builtins.lc 567:13-567:21 V3 |
1956 | testdata/Builtins.lc 532:1-532:17 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'VecS b c -> 'Mat c a b | 2091 | testdata/Builtins.lc 567:1-567:8 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Tuple2 ('FragOps' b) ('Stream ('Fragment a ('RemSemantics b))) -> 'FrameBuffer a b |
1957 | testdata/Builtins.lc 533:34-533:67 Type | 2092 | testdata/Builtins.lc 568:15-568:24 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output |
1958 | testdata/Builtins.lc 533:34-533:37 'Nat -> 'Nat -> Type->Type | 2093 | testdata/Builtins.lc 568:1-568:12 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output |
1959 | testdata/Builtins.lc 533:34-533:67 'Nat | 2094 | testdata/Builtins.lc 569:14-569:25 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b |
1960 | testdata/Builtins.lc 533:34-533:67 V5 | 2095 | testdata/Builtins.lc 569:1-569:11 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b |
1961 | testdata/Builtins.lc 533:34-533:67 V3 | 2096 | testdata/Builtins.lc 570:19-570:29 {a:'Nat} -> 'Float -> 'Image a ('Depth 'Float) |
1962 | testdata/Builtins.lc 533:34-533:67 V1 | 2097 | testdata/Builtins.lc 570:1-570:16 'Float -> 'Image (Succ Zero) ('Depth 'Float) |
1963 | testdata/Builtins.lc 533:47-533:50 'Nat -> Type->Type | 2098 | testdata/Builtins.lc 571:19-571:29 {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : d ~ 'VecScalar b c} -> d -> 'Image a ('Color d) |
1964 | testdata/Builtins.lc 533:60-533:63 'Nat -> Type->Type | 2099 | testdata/Builtins.lc 571:1-571:16 {a:'Nat} -> {b} -> {c} -> {d : 'Num b} -> {e : c ~ 'VecScalar a b} -> c -> 'Image (Succ Zero) ('Color c) |
1965 | testdata/Builtins.lc 533:1-533:14 {a:'Nat} -> {b:'Nat} -> {c} -> 'Mat a b c -> 'VecS c b -> 'VecS c a | ||
1966 | testdata/Builtins.lc 534:34-534:67 Type | ||
1967 | testdata/Builtins.lc 534:34-534:37 'Nat -> Type->Type | ||
1968 | testdata/Builtins.lc 534:34-534:67 'Nat | ||
1969 | testdata/Builtins.lc 534:34-534:67 V5 | ||
1970 | testdata/Builtins.lc 534:34-534:67 V3 | ||
1971 | testdata/Builtins.lc 534:47-534:50 'Nat -> 'Nat -> Type->Type | ||
1972 | testdata/Builtins.lc 534:34-534:67 V2 | ||
1973 | testdata/Builtins.lc 534:60-534:63 'Nat -> Type->Type | ||
1974 | testdata/Builtins.lc 534:1-534:14 {a:'Nat} -> {b} -> {c:'Nat} -> 'VecS b a -> 'Mat a c b -> 'VecS b c | ||
1975 | testdata/Builtins.lc 535:34-535:69 Type | ||
1976 | testdata/Builtins.lc 535:34-535:37 'Nat -> 'Nat -> Type->Type | ||
1977 | testdata/Builtins.lc 535:34-535:69 'Nat | ||
1978 | testdata/Builtins.lc 535:34-535:69 V7 | ||
1979 | testdata/Builtins.lc 535:34-535:69 V5 | ||
1980 | testdata/Builtins.lc 535:34-535:69 V3 | ||
1981 | testdata/Builtins.lc 535:47-535:50 'Nat -> 'Nat -> Type->Type | ||
1982 | testdata/Builtins.lc 535:34-535:69 V2 | ||
1983 | testdata/Builtins.lc 535:60-535:63 'Nat -> 'Nat -> Type->Type | ||
1984 | testdata/Builtins.lc 535:1-535:14 {a:'Nat} -> {b:'Nat} -> {c} -> {d:'Nat} -> 'Mat a b c -> 'Mat b d c -> 'Mat a d c | ||
1985 | testdata/Builtins.lc 538:35-538:97 Type | ||
1986 | testdata/Builtins.lc 538:35-538:38 Type->Type | ||
1987 | testdata/Builtins.lc 538:35-538:97 V7 | ||
1988 | testdata/Builtins.lc 538:35-538:97 V6 | ||
1989 | testdata/Builtins.lc 538:46-538:55 'Nat -> Type->Type | ||
1990 | testdata/Builtins.lc 538:35-538:97 'Nat | ||
1991 | testdata/Builtins.lc 538:35-538:97 V4 | ||
1992 | testdata/Builtins.lc 538:35-538:97 V3 | ||
1993 | testdata/Builtins.lc 538:65-538:74 'Nat -> Type->Type | ||
1994 | testdata/Builtins.lc 538:77-538:81 Type | ||
1995 | testdata/Builtins.lc 537:1-537:13 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | ||
1996 | testdata/Builtins.lc 537:15-537:32 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | ||
1997 | testdata/Builtins.lc 537:34-537:49 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | ||
1998 | testdata/Builtins.lc 537:51-537:71 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | ||
1999 | testdata/Builtins.lc 537:73-537:83 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | ||
2000 | testdata/Builtins.lc 537:85-537:98 {a} -> {b} -> {c:'Nat} -> {d} -> {e : 'Num a} -> {f : b ~ 'VecScalar c a} -> {g : d ~ 'VecScalar c 'Bool} -> b -> b->d | ||
2001 | testdata/Builtins.lc 539:35-539:76 Type | ||
2002 | testdata/Builtins.lc 539:35-539:76 V3 | ||
2003 | testdata/Builtins.lc 539:39-539:55 Type->Type | ||
2004 | testdata/Builtins.lc 539:35-539:76 V1 | ||
2005 | testdata/Builtins.lc 539:72-539:76 Type | ||
2006 | testdata/Builtins.lc 539:1-539:10 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool | ||
2007 | testdata/Builtins.lc 539:12-539:24 {a} -> {b} -> {c : a ~ 'MatVecScalarElem b} -> b -> b->'Bool | ||
2008 | testdata/Builtins.lc 542:35-542:67 Type | ||
2009 | testdata/Builtins.lc 542:35-542:67 V3 | ||
2010 | testdata/Builtins.lc 542:39-542:48 'Nat -> Type->Type | ||
2011 | testdata/Builtins.lc 542:35-542:67 'Nat | ||
2012 | testdata/Builtins.lc 542:35-542:67 V1 | ||
2013 | testdata/Builtins.lc 542:51-542:56 Type | ||
2014 | testdata/Builtins.lc 541:1-541:9 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
2015 | testdata/Builtins.lc 541:11-541:19 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
2016 | testdata/Builtins.lc 541:21-541:31 {a} -> {b:'Nat} -> {c : a ~ 'VecScalar b 'Float} -> a->a | ||
2017 | testdata/Builtins.lc 544:34-544:60 Type | ||
2018 | testdata/Builtins.lc 544:34-544:43 'Nat -> Type->Type | ||
2019 | testdata/Builtins.lc 544:34-544:60 'Nat | ||
2020 | testdata/Builtins.lc 544:34-544:60 V1 | ||
2021 | testdata/Builtins.lc 544:46-544:51 Type | ||
2022 | testdata/Builtins.lc 544:55-544:60 Type | ||
2023 | testdata/Builtins.lc 544:1-544:11 {a:'Nat} -> 'VecScalar a 'Float -> 'Float | ||
2024 | testdata/Builtins.lc 545:34-545:66 Type | ||
2025 | testdata/Builtins.lc 545:34-545:43 'Nat -> Type->Type | ||
2026 | testdata/Builtins.lc 545:34-545:66 'Nat | ||
2027 | testdata/Builtins.lc 545:34-545:66 V1 | ||
2028 | testdata/Builtins.lc 545:46-545:51 Type | ||
2029 | testdata/Builtins.lc 545:55-545:66 Type | ||
2030 | testdata/Builtins.lc 545:55-545:58 'Nat -> Type->Type | ||
2031 | testdata/Builtins.lc 545:61-545:66 Type | ||
2032 | testdata/Builtins.lc 545:1-545:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ Zero)) | ||
2033 | testdata/Builtins.lc 546:34-546:66 Type | ||
2034 | testdata/Builtins.lc 546:34-546:43 'Nat -> Type->Type | ||
2035 | testdata/Builtins.lc 546:34-546:66 'Nat | ||
2036 | testdata/Builtins.lc 546:34-546:66 V1 | ||
2037 | testdata/Builtins.lc 546:46-546:51 Type | ||
2038 | testdata/Builtins.lc 546:55-546:66 Type | ||
2039 | testdata/Builtins.lc 546:55-546:58 'Nat -> Type->Type | ||
2040 | testdata/Builtins.lc 546:61-546:66 Type | ||
2041 | testdata/Builtins.lc 546:1-546:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ (Succ Zero))) | ||
2042 | testdata/Builtins.lc 547:34-547:66 Type | ||
2043 | testdata/Builtins.lc 547:34-547:43 'Nat -> Type->Type | ||
2044 | testdata/Builtins.lc 547:34-547:66 'Nat | ||
2045 | testdata/Builtins.lc 547:34-547:66 V1 | ||
2046 | testdata/Builtins.lc 547:46-547:51 Type | ||
2047 | testdata/Builtins.lc 547:55-547:66 Type | ||
2048 | testdata/Builtins.lc 547:55-547:58 'Nat -> Type->Type | ||
2049 | testdata/Builtins.lc 547:61-547:66 Type | ||
2050 | testdata/Builtins.lc 547:1-547:11 {a:'Nat} -> 'VecScalar a 'Float -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) | ||
2051 | testdata/Builtins.lc 563:6-563:13 Type | ||
2052 | testdata/Builtins.lc 564:20-564:26 Type | ||
2053 | testdata/Builtins.lc 565:20-565:27 Type | ||
2054 | testdata/Builtins.lc 564:3-564:16 'String->'Texture | ||
2055 | testdata/Builtins.lc 567:20-567:23 'Nat -> Type->Type | ||
2056 | testdata/Builtins.lc 567:26-567:29 Type | ||
2057 | testdata/Builtins.lc 568:20-569:27 Type | ||
2058 | testdata/Builtins.lc 568:20-568:25 'Nat -> Type->Type | ||
2059 | testdata/Builtins.lc 568:29-568:47 Type | ||
2060 | testdata/Builtins.lc 568:29-568:34 Type->Type | ||
2061 | testdata/Builtins.lc 568:36-568:47 Type | ||
2062 | testdata/Builtins.lc 568:36-568:39 'Nat -> Type->Type | ||
2063 | testdata/Builtins.lc 568:42-568:47 Type | ||
2064 | testdata/Builtins.lc 569:20-569:27 Type | ||
2065 | testdata/Builtins.lc 567:3-567:12 'VecS 'Int (Succ (Succ Zero)) -> 'Image (Succ Zero) ('Color ('VecS 'Float (Succ (Succ (Succ (Succ Zero)))))) -> 'Texture | ||
2066 | testdata/Builtins.lc 571:6-571:12 Type | ||
2067 | testdata/Builtins.lc 572:5-572:16 'Filter | ||
2068 | testdata/Builtins.lc 573:5-573:17 'Filter | ||
2069 | testdata/Builtins.lc 575:6-575:14 Type | ||
2070 | testdata/Builtins.lc 576:5-576:11 'EdgeMode | ||
2071 | testdata/Builtins.lc 577:5-577:19 'EdgeMode | ||
2072 | testdata/Builtins.lc 578:5-578:16 'EdgeMode | ||
2073 | testdata/Builtins.lc 580:6-580:13 Type | ||
2074 | testdata/Builtins.lc 580:24-580:30 Type | ||
2075 | testdata/Builtins.lc 580:6-580:47 Type | ||
2076 | testdata/Builtins.lc 580:31-580:39 Type | ||
2077 | testdata/Builtins.lc 580:40-580:47 Type | ||
2078 | testdata/Builtins.lc 580:16-580:23 'Filter -> 'EdgeMode -> 'Texture->'Sampler | ||
2079 | testdata/Builtins.lc 583:14-583:21 Type | ||
2080 | testdata/Builtins.lc 583:25-583:51 Type | ||
2081 | testdata/Builtins.lc 583:25-583:28 'Nat -> Type->Type | ||
2082 | testdata/Builtins.lc 583:31-583:36 Type | ||
2083 | testdata/Builtins.lc 583:40-583:51 Type | ||
2084 | testdata/Builtins.lc 583:40-583:43 'Nat -> Type->Type | ||
2085 | testdata/Builtins.lc 583:46-583:51 Type | ||
2086 | testdata/Builtins.lc 583:1-583:10 'Sampler -> 'VecS 'Float (Succ (Succ Zero)) -> 'VecS 'Float (Succ (Succ (Succ (Succ Zero)))) | ||
2087 | testdata/Builtins.lc 586:30-586:45 {a} -> {b} -> (a -> 'Stream b) -> 'Stream a -> 'Stream b | ||
2088 | testdata/Builtins.lc 586:47-586:66 V1 -> 'Stream V1 | ||
2089 | testdata/Builtins.lc 586:47-586:57 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) DefinedDepth a) | ||
2090 | testdata/Builtins.lc 586:59-586:66 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType V1) -> 'Float | ||
2091 | testdata/Builtins.lc 586:65-586:66 'Float | ||
2092 | testdata/Builtins.lc 586:65-586:66 'Int | ||
2093 | testdata/Builtins.lc 586:1-586:20 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) DefinedDepth ('InterpolatedType a)) | ||
2094 | testdata/Builtins.lc 587:46-587:61 {a} -> {b} -> (a -> 'Stream b) -> 'Stream a -> 'Stream b | ||
2095 | testdata/Builtins.lc 587:63-587:73 V1 -> 'Stream V1 | ||
2096 | testdata/Builtins.lc 587:63-587:73 {a} -> {b} -> {c} -> {d:'PrimitiveType} -> {e : a ~ 'InterpolatedType b} -> {f : c ~ 'JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) a} -> c->'Float -> b -> 'RasterContext d -> 'Primitive d c -> 'Stream ('Fragment (Succ Zero) DefinedDepth a) | ||
2097 | testdata/Builtins.lc 587:1-587:33 {a} -> {b:'PrimitiveType} -> 'RasterContext b -> ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a) -> 'Float) -> a -> 'Stream ('Primitive b ('JoinTupleType ('VecS 'Float (Succ (Succ (Succ (Succ Zero))))) ('InterpolatedType a))) -> 'Stream ('Fragment (Succ Zero) DefinedDepth ('InterpolatedType a)) | ||
2098 | testdata/Builtins.lc 588:24-588:32 {a} -> {b} -> a -> b -> 'Tuple2 a b | ||
2099 | testdata/Builtins.lc 588:1-588:15 {a} -> {b} -> a -> b -> 'Tuple2 a b | ||
2100 | testdata/Builtins.lc 589:25-589:35 V2 -> V2->V2 | ||
2101 | testdata/Builtins.lc 589:25-589:35 V2->V2 | ||
2102 | testdata/Builtins.lc 589:25-589:35 V2 | ||
2103 | testdata/Builtins.lc 589:25-589:35 {a:'Nat} -> {b} -> {c:'DepthHandler} -> 'FragOps' b -> 'Stream ('Fragment a c ('RemSemantics b)) -> 'FrameBuffer a b -> 'FrameBuffer a b | ||
2104 | testdata/Builtins.lc 589:13-589:21 'Tuple2 ('FragOps' V1) ('Stream ('Fragment V2 V0 ('RemSemantics V1))) | ||
2105 | testdata/Builtins.lc 589:13-589:21 V4 | ||
2106 | testdata/Builtins.lc 589:1-589:8 {a:'Nat} -> {b} -> {c:'DepthHandler} -> 'FrameBuffer a b -> 'Tuple2 ('FragOps' b) ('Stream ('Fragment a c ('RemSemantics b))) -> 'FrameBuffer a b | ||
2107 | testdata/Builtins.lc 590:15-590:24 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output | ||
2108 | testdata/Builtins.lc 590:1-590:12 {a:'Nat} -> {b} -> 'FrameBuffer a b -> 'Output | ||
2109 | testdata/Builtins.lc 591:14-591:25 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b | ||
2110 | testdata/Builtins.lc 591:1-591:11 {a:'Nat} -> {b} -> {c} -> {d : 'SameLayerCounts c} -> {e : 'FrameBuffer a b ~ 'TFFrameBuffer c} -> c -> 'FrameBuffer a b | ||
2111 | testdata/Builtins.lc 592:19-592:29 {a:'Nat} -> 'Float -> 'Image a ('Depth 'Float) | ||
2112 | testdata/Builtins.lc 592:1-592:16 'Float -> 'Image (Succ Zero) ('Depth 'Float) | ||
2113 | testdata/Builtins.lc 593:19-593:29 {a:'Nat} -> {b:'Nat} -> {c} -> {d} -> {e : 'Num c} -> {f : d ~ 'VecScalar b c} -> d -> 'Image a ('Color d) | ||
2114 | testdata/Builtins.lc 593:1-593:16 {a:'Nat} -> {b} -> {c} -> {d : 'Num b} -> {e : c ~ 'VecScalar a b} -> c -> 'Image (Succ Zero) ('Color c) | ||
diff --git a/testdata/Graphics.out b/testdata/Graphics.out index 4315e9e3..0079c620 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 [("o2",Parameter {name = "position", ty = V3F}),("p2",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 o2 ;\nin vec4 p2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = p2;\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o2 ).x,( o2 ).y,( o2 ).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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( ( 1.0 ) - ( ( v0 ).x ),( 1.0 ) - ( ( v0 ).y ),( 1.0 ) - ( ( v0 ).z ),1.0 );\n}\n"},Program {programUniforms = fromList [("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("r5",Parameter {name = "position", ty = V3F}),("s5",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 r5 ;\nin vec4 s5 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( s5 ).x,( s5 ).y,( s5 ).z,0.5 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( r5 ).x,( r5 ).y,( r5 ).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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a10",Parameter {name = "position", ty = V3F}),("b10",Parameter {name = "normal", ty = V3F}),("c10",Parameter {name = "diffuseUV", ty = V2F}),("d10",Parameter {name = "lightmapUV", ty = V2F}),("e10",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 a10 ;\nin vec3 b10 ;\nin vec2 c10 ;\nin vec2 d10 ;\nin vec4 e10 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = d10;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a10 ).x,( a10 ).y,( a10 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_961527291",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i14",Parameter {name = "position", ty = V3F}),("j14",Parameter {name = "normal", ty = V3F}),("k14",Parameter {name = "diffuseUV", ty = V2F}),("l14",Parameter {name = "lightmapUV", ty = V2F}),("m14",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_961527291",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 i14 ;\nin vec3 j14 ;\nin vec2 k14 ;\nin vec2 l14 ;\nin vec4 m14 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = k14;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i14 ).x,( i14 ).y,( i14 ).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_961527291 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_961527291,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a19",Parameter {name = "diffuseUV", ty = V2F}),("b19",Parameter {name = "lightmapUV", ty = V2F}),("c19",Parameter {name = "color", ty = V4F}),("y18",Parameter {name = "position", ty = V3F}),("z18",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 y18 ;\nin vec3 z18 ;\nin vec2 a19 ;\nin vec2 b19 ;\nin vec4 c19 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = b19;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y18 ).x,( y18 ).y,( y18 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1201212243",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("g23",Parameter {name = "position", ty = V3F}),("h23",Parameter {name = "normal", ty = V3F}),("i23",Parameter {name = "diffuseUV", ty = V2F}),("j23",Parameter {name = "lightmapUV", ty = V2F}),("k23",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 g23 ;\nin vec3 h23 ;\nin vec2 i23 ;\nin vec2 j23 ;\nin vec4 k23 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = i23;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( g23 ).x,( g23 ).y,( g23 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_1201212243,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a28",Parameter {name = "color", ty = V4F}),("w27",Parameter {name = "position", ty = V3F}),("x27",Parameter {name = "normal", ty = V3F}),("y27",Parameter {name = "diffuseUV", ty = V2F}),("z27",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 w27 ;\nin vec3 x27 ;\nin vec2 y27 ;\nin vec2 z27 ;\nin vec4 a28 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = z27;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w27 ).x,( w27 ).y,( w27 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2073154888",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("e32",Parameter {name = "position", ty = V3F}),("f32",Parameter {name = "normal", ty = V3F}),("g32",Parameter {name = "diffuseUV", ty = V2F}),("h32",Parameter {name = "lightmapUV", ty = V2F}),("i32",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 e32 ;\nin vec3 f32 ;\nin vec2 g32 ;\nin vec2 h32 ;\nin vec4 i32 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = g32;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( e32 ).x,( e32 ).y,( e32 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_2073154888,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u36",Parameter {name = "position", ty = V3F}),("v36",Parameter {name = "normal", ty = V3F}),("w36",Parameter {name = "diffuseUV", ty = V2F}),("x36",Parameter {name = "lightmapUV", ty = V2F}),("y36",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 u36 ;\nin vec3 v36 ;\nin vec2 w36 ;\nin vec2 x36 ;\nin vec4 y36 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = x36;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u36 ).x,( u36 ).y,( u36 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3700433555",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c41",Parameter {name = "position", ty = V3F}),("d41",Parameter {name = "normal", ty = V3F}),("e41",Parameter {name = "diffuseUV", ty = V2F}),("f41",Parameter {name = "lightmapUV", ty = V2F}),("g41",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3700433555",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 c41 ;\nin vec3 d41 ;\nin vec2 e41 ;\nin vec2 f41 ;\nin vec4 g41 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = e41;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c41 ).x,( c41 ).y,( c41 ).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_3700433555 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3700433555,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("s45",Parameter {name = "position", ty = V3F}),("t45",Parameter {name = "normal", ty = V3F}),("u45",Parameter {name = "diffuseUV", ty = V2F}),("v45",Parameter {name = "lightmapUV", ty = V2F}),("w45",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 s45 ;\nin vec3 t45 ;\nin vec2 u45 ;\nin vec2 v45 ;\nin vec4 w45 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = v45;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( s45 ).x,( s45 ).y,( s45 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3768122504",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a50",Parameter {name = "position", ty = V3F}),("b50",Parameter {name = "normal", ty = V3F}),("c50",Parameter {name = "diffuseUV", ty = V2F}),("d50",Parameter {name = "lightmapUV", ty = V2F}),("e50",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 a50 ;\nin vec3 b50 ;\nin vec2 c50 ;\nin vec2 d50 ;\nin vec4 e50 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = c50;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a50 ).x,( a50 ).y,( a50 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3768122504,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q54",Parameter {name = "position", ty = V3F}),("r54",Parameter {name = "normal", ty = V3F}),("s54",Parameter {name = "diffuseUV", ty = V2F}),("t54",Parameter {name = "lightmapUV", ty = V2F}),("u54",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 q54 ;\nin vec3 r54 ;\nin vec2 s54 ;\nin vec2 t54 ;\nin vec4 u54 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = t54;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q54 ).x,( q54 ).y,( q54 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3071107621",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a59",Parameter {name = "diffuseUV", ty = V2F}),("b59",Parameter {name = "lightmapUV", ty = V2F}),("c59",Parameter {name = "color", ty = V4F}),("y58",Parameter {name = "position", ty = V3F}),("z58",Parameter {name = "normal", ty = V3F})], 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 y58 ;\nin vec3 z58 ;\nin vec2 a59 ;\nin vec2 b59 ;\nin vec4 c59 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = a59;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( y58 ).x,( y58 ).y,( y58 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3071107621,v0 ) );\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_door/km_arena1archfinalc", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_961527291",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [2,3]},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 = [4,5]},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 = [6,7]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_bot", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3700433555",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [8,9]},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 = [10,11]},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 = [12,13]}], 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 13,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 6,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 6,SetProgram 11,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 5,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 5,SetProgram 9,SetSamplerUniform "Tex_3700433555" 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 8,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 7,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 3,SetProgram 6,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 3,SetProgram 5,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 2,SetProgram 4,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 2,SetProgram 3,SetSamplerUniform "Tex_961527291" 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 2,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 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( ( 1.0 ) - ( ( v0 ).x ),( 1.0 ) - ( ( v0 ).y ),( 1.0 ) - ( ( v0 ).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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("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 float identityLight ;\nuniform mat4 viewProj ;\nuniform mat4 worldMat ;\nin vec3 u9 ;\nin vec3 v9 ;\nin vec2 w9 ;\nin vec2 x9 ;\nin vec4 y9 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = x9;\nv1 = vec4 ( identityLight,identityLight,identityLight,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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_961527291",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a14",Parameter {name = "position", ty = V3F}),("b14",Parameter {name = "normal", ty = V3F}),("c14",Parameter {name = "diffuseUV", ty = V2F}),("d14",Parameter {name = "lightmapUV", ty = V2F}),("e14",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_961527291",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 a14 ;\nin vec3 b14 ;\nin vec2 c14 ;\nin vec2 d14 ;\nin vec4 e14 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = c14;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( a14 ).x,( a14 ).y,( a14 ).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_961527291 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_961527291,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o18",Parameter {name = "position", ty = V3F}),("p18",Parameter {name = "normal", ty = V3F}),("q18",Parameter {name = "diffuseUV", ty = V2F}),("r18",Parameter {name = "lightmapUV", ty = V2F}),("s18",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 o18 ;\nin vec3 p18 ;\nin vec2 q18 ;\nin vec2 r18 ;\nin vec4 s18 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = r18;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o18 ).x,( o18 ).y,( o18 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_1201212243",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("u22",Parameter {name = "position", ty = V3F}),("v22",Parameter {name = "normal", ty = V3F}),("w22",Parameter {name = "diffuseUV", ty = V2F}),("x22",Parameter {name = "lightmapUV", ty = V2F}),("y22",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 u22 ;\nin vec3 v22 ;\nin vec2 w22 ;\nin vec2 x22 ;\nin vec4 y22 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = w22;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( u22 ).x,( u22 ).y,( u22 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_1201212243,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i27",Parameter {name = "position", ty = V3F}),("j27",Parameter {name = "normal", ty = V3F}),("k27",Parameter {name = "diffuseUV", ty = V2F}),("l27",Parameter {name = "lightmapUV", ty = V2F}),("m27",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 i27 ;\nin vec3 j27 ;\nin vec2 k27 ;\nin vec2 l27 ;\nin vec4 m27 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = l27;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i27 ).x,( i27 ).y,( i27 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_2073154888",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("o31",Parameter {name = "position", ty = V3F}),("p31",Parameter {name = "normal", ty = V3F}),("q31",Parameter {name = "diffuseUV", ty = V2F}),("r31",Parameter {name = "lightmapUV", ty = V2F}),("s31",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 o31 ;\nin vec3 p31 ;\nin vec2 q31 ;\nin vec2 r31 ;\nin vec4 s31 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = q31;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( o31 ).x,( o31 ).y,( o31 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_2073154888,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c36",Parameter {name = "position", ty = V3F}),("d36",Parameter {name = "normal", ty = V3F}),("e36",Parameter {name = "diffuseUV", ty = V2F}),("f36",Parameter {name = "lightmapUV", ty = V2F}),("g36",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 c36 ;\nin vec3 d36 ;\nin vec2 e36 ;\nin vec2 f36 ;\nin vec4 g36 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = f36;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c36 ).x,( c36 ).y,( c36 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3700433555",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("i40",Parameter {name = "position", ty = V3F}),("j40",Parameter {name = "normal", ty = V3F}),("k40",Parameter {name = "diffuseUV", ty = V2F}),("l40",Parameter {name = "lightmapUV", ty = V2F}),("m40",Parameter {name = "color", ty = V4F})], programInTextures = fromList [("Tex_3700433555",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 i40 ;\nin vec3 j40 ;\nin vec2 k40 ;\nin vec2 l40 ;\nin vec4 m40 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = k40;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( i40 ).x,( i40 ).y,( i40 ).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_3700433555 ;\nsmooth in vec2 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3700433555,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a45",Parameter {name = "color", ty = V4F}),("w44",Parameter {name = "position", ty = V3F}),("x44",Parameter {name = "normal", ty = V3F}),("y44",Parameter {name = "diffuseUV", ty = V2F}),("z44",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 w44 ;\nin vec3 x44 ;\nin vec2 y44 ;\nin vec2 z44 ;\nin vec4 a45 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = z44;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w44 ).x,( w44 ).y,( w44 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3768122504",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("c49",Parameter {name = "position", ty = V3F}),("d49",Parameter {name = "normal", ty = V3F}),("e49",Parameter {name = "diffuseUV", ty = V2F}),("f49",Parameter {name = "lightmapUV", ty = V2F}),("g49",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 c49 ;\nin vec3 d49 ;\nin vec2 e49 ;\nin vec2 f49 ;\nin vec4 g49 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = e49;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( c49 ).x,( c49 ).y,( c49 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3768122504,v0 ) );\n}\n"},Program {programUniforms = fromList [("LightMap",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("q53",Parameter {name = "position", ty = V3F}),("r53",Parameter {name = "normal", ty = V3F}),("s53",Parameter {name = "diffuseUV", ty = V2F}),("t53",Parameter {name = "lightmapUV", ty = V2F}),("u53",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 q53 ;\nin vec3 r53 ;\nin vec2 s53 ;\nin vec2 t53 ;\nin vec4 u53 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = t53;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( q53 ).x,( q53 ).y,( q53 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( LightMap,v0 ) );\n}\n"},Program {programUniforms = fromList [("Tex_3071107621",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], programStreams = fromList [("a58",Parameter {name = "color", ty = V4F}),("w57",Parameter {name = "position", ty = V3F}),("x57",Parameter {name = "normal", ty = V3F}),("y57",Parameter {name = "diffuseUV", ty = V2F}),("z57",Parameter {name = "lightmapUV", ty = V2F})], 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 w57 ;\nin vec3 x57 ;\nin vec2 y57 ;\nin vec2 z57 ;\nin vec4 a58 ;\nsmooth out vec2 v0 ;\nsmooth out vec4 v1 ;\nvoid main() {\nv0 = y57;\nv1 = vec4 ( identityLight,identityLight,identityLight,1.0 );\ngl_Position = ( viewProj ) * ( ( worldMat ) * ( vec4 ( ( w57 ).x,( w57 ).y,( w57 ).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 v0 ;\nsmooth in vec4 v1 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v1 ) * ( texture2D ( Tex_3071107621,v0 ) );\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_door/km_arena1archfinalc", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_961527291",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [2,3]},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 = [4,5]},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 = [6,7]},Slot {slotName = "textures/gothic_door/km_arena1archfinalc_bot", slotStreams = fromList [("color",V4F),("diffuseUV",V2F),("lightmapUV",V2F),("normal",V3F),("position",V3F)], slotUniforms = fromList [("LightMap",FTexture2D),("Tex_3700433555",FTexture2D),("identityLight",Float),("viewProj",M44F),("worldMat",M44F)], slotPrimitive = Triangles, slotPrograms = [8,9]},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 = [10,11]},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 = [12,13]}], 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 13,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 6,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 6,SetProgram 11,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 5,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 5,SetProgram 9,SetSamplerUniform "Tex_3700433555" 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 8,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 7,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 3,SetProgram 6,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 3,SetProgram 5,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 2,SetProgram 4,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 2,SetProgram 3,SetSamplerUniform "Tex_961527291" 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 2,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 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/HyperbolicParaboloic.out b/testdata/HyperbolicParaboloic.out index 8a4a6a38..7f272fa3 100644 --- a/testdata/HyperbolicParaboloic.out +++ b/testdata/HyperbolicParaboloic.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),("Mouse",V2F)], programStreams = fromList [("o1",Parameter {name = "attribute_0", 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 ;\nuniform vec2 Mouse ;\nin vec3 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( o1 ).x,( o1 ).y,( o1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( ( Mouse ).y ) * ( ( o1 ).x ),( ( ( 0.5 ) * ( ( Mouse ).x ) ) * ( ( o1 ).x ) ) * ( ( o1 ).y ),( ( Mouse ).y ) * ( ( o1 ).y ),1.0 ) ) ) * ( 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);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-3.0,-3.0,0.0,-3.0,3.0,0.0,-2.0,-3.0,0.0,-2.0,3.0,0.0,-1.0,-3.0,0.0,-1.0,3.0,0.0,0.0,-3.0,0.0,0.0,3.0,0.0,1.0,-3.0,0.0,1.0,3.0,0.0,2.0,-3.0,0.0,2.0,3.0,0.0,3.0,-3.0,0.0,3.0,3.0,0.0,-3.0,-3.0,0.0,3.0,-3.0,0.0,-3.0,-2.0,0.0,3.0,-2.0,0.0,-3.0,-1.0,0.0,3.0,-1.0,0.0,-3.0,0.0,0.0,3.0,0.0,0.0,-3.0,1.0,0.0,3.0,1.0,0.0,-3.0,2.0,0.0,3.0,2.0,0.0,-3.0,3.0,0.0,3.0,3.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 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),("Mouse",V2F)], programStreams = fromList [("m1",Parameter {name = "attribute_0", 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 ;\nuniform vec2 Mouse ;\nin vec3 m1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( m1 ).x,( m1 ).y,( m1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( ( Mouse ).y ) * ( ( m1 ).x ),( ( ( 0.5 ) * ( ( Mouse ).x ) ) * ( ( m1 ).x ) ) * ( ( m1 ).y ),( ( Mouse ).y ) * ( ( m1 ).y ),1.0 ) ) ) * ( 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);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-3.0,-3.0,0.0,-3.0,3.0,0.0,-2.0,-3.0,0.0,-2.0,3.0,0.0,-1.0,-3.0,0.0,-1.0,3.0,0.0,0.0,-3.0,0.0,0.0,3.0,0.0,1.0,-3.0,0.0,1.0,3.0,0.0,2.0,-3.0,0.0,2.0,3.0,0.0,3.0,-3.0,0.0,3.0,3.0,0.0,-3.0,-3.0,0.0,3.0,-3.0,0.0,-3.0,-2.0,0.0,3.0,-2.0,0.0,-3.0,-1.0,0.0,3.0,-1.0,0.0,-3.0,0.0,0.0,3.0,0.0,0.0,-3.0,1.0,0.0,3.0,1.0,0.0,-3.0,2.0,0.0,3.0,2.0,0.0,-3.0,3.0,0.0,3.0,3.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 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/Hyperboloid.out b/testdata/Hyperboloid.out index fef26fc4..3098fe2b 100644 --- a/testdata/Hyperboloid.out +++ b/testdata/Hyperboloid.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),("Mouse",V2F)], programStreams = fromList [("o1",Parameter {name = "attribute_0", 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 ;\nuniform vec2 Mouse ;\nin vec3 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( o1 ).x,( o1 ).y,( o1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( ( 2.0 ) * ( ( Mouse ).y ) ) * ( sin ( ( ( 0.7 ) * ( ( o1 ).x ) ) + ( ( ( Mouse ).x ) * ( ( o1 ).y ) ) ) ),( o1 ).y,( ( 2.0 ) * ( ( Mouse ).y ) ) * ( cos ( ( ( 0.7 ) * ( ( o1 ).x ) ) + ( ( ( Mouse ).x ) * ( ( o1 ).y ) ) ) ),1.0 ) ) ) * ( 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);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-5.0,-3.0,0.0,-5.0,3.0,0.0,-4.0,-3.0,0.0,-4.0,3.0,0.0,-3.0,-3.0,0.0,-3.0,3.0,0.0,-2.0,-3.0,0.0,-2.0,3.0,0.0,-1.0,-3.0,0.0,-1.0,3.0,0.0,0.0,-3.0,0.0,0.0,3.0,0.0,1.0,-3.0,0.0,1.0,3.0,0.0,2.0,-3.0,0.0,2.0,3.0,0.0,3.0,-3.0,0.0,3.0,3.0,0.0,4.0,-3.0,0.0,4.0,3.0,0.0,5.0,-3.0,0.0,5.0,3.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 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),("Mouse",V2F)], programStreams = fromList [("m1",Parameter {name = "attribute_0", 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 ;\nuniform vec2 Mouse ;\nin vec3 m1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( m1 ).x,( m1 ).y,( m1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( ( 2.0 ) * ( ( Mouse ).y ) ) * ( sin ( ( ( 0.7 ) * ( ( m1 ).x ) ) + ( ( ( Mouse ).x ) * ( ( m1 ).y ) ) ) ),( m1 ).y,( ( 2.0 ) * ( ( Mouse ).y ) ) * ( cos ( ( ( 0.7 ) * ( ( m1 ).x ) ) + ( ( ( Mouse ).x ) * ( ( m1 ).y ) ) ) ),1.0 ) ) ) * ( 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);}\nsmooth in vec4 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-5.0,-3.0,0.0,-5.0,3.0,0.0,-4.0,-3.0,0.0,-4.0,3.0,0.0,-3.0,-3.0,0.0,-3.0,3.0,0.0,-2.0,-3.0,0.0,-2.0,3.0,0.0,-1.0,-3.0,0.0,-1.0,3.0,0.0,0.0,-3.0,0.0,0.0,3.0,0.0,1.0,-3.0,0.0,1.0,3.0,0.0,2.0,-3.0,0.0,2.0,3.0,0.0,3.0,-3.0,0.0,3.0,3.0,0.0,4.0,-3.0,0.0,4.0,3.0,0.0,5.0,-3.0,0.0,5.0,3.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 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/NewStyle.out b/testdata/NewStyle.out index 0d13a413..bf90ca01 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 [("o1",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 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = o1;\ngl_Position = ( ( MVP ) * ( o1 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 bec55c9f..3db2cf03 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 [("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 ;\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 ) ) ) * ( m1 ) ) * ( 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 [("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 | ||
diff --git a/testdata/Spiral.out b/testdata/Spiral.out index 628760c6..160e2383 100644 --- a/testdata/Spiral.out +++ b/testdata/Spiral.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),("Mouse",V2F)], programStreams = fromList [("o1",Parameter {name = "attribute_0", 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 ;\nuniform vec2 Mouse ;\nin vec3 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( o1 ).x,( o1 ).y,( o1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( exp ( ( ( ( Mouse ).x ) - ( 0.5 ) ) * ( ( o1 ).x ) ) ) * ( sin ( ( 0.9 ) * ( ( o1 ).x ) ) ),( exp ( ( ( ( Mouse ).x ) - ( 0.5 ) ) * ( ( o1 ).x ) ) ) * ( cos ( ( 0.9 ) * ( ( o1 ).x ) ) ),( ( Mouse ).y ) * ( ( 0.9 ) * ( ( o1 ).x ) ),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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-5.0,0.0,0.0,-4.0,0.0,0.0,-4.0,0.0,0.0,-3.0,0.0,0.0,-3.0,0.0,0.0,-2.0,0.0,0.0,-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,3.0,0.0,0.0,4.0,0.0,0.0,4.0,0.0,0.0,5.0,0.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 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),("Mouse",V2F)], programStreams = fromList [("m1",Parameter {name = "attribute_0", 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 ;\nuniform vec2 Mouse ;\nin vec3 m1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( m1 ).x,( m1 ).y,( m1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( exp ( ( ( ( Mouse ).x ) - ( 0.5 ) ) * ( ( m1 ).x ) ) ) * ( sin ( ( 0.9 ) * ( ( m1 ).x ) ) ),( exp ( ( ( ( Mouse ).x ) - ( 0.5 ) ) * ( ( m1 ).x ) ) ) * ( cos ( ( 0.9 ) * ( ( m1 ).x ) ) ),( ( Mouse ).y ) * ( ( 0.9 ) * ( ( m1 ).x ) ),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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [-5.0,0.0,0.0,-4.0,0.0,0.0,-4.0,0.0,0.0,-3.0,0.0,0.0,-3.0,0.0,0.0,-2.0,0.0,0.0,-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,3.0,0.0,0.0,4.0,0.0,0.0,4.0,0.0,0.0,5.0,0.0,0.0])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, streamPrograms = [0]}], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 1.0 1.0 1.0 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 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/example06.out b/testdata/example06.out index fdf667ee..18584248 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 [("o1",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 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = o1;\ngl_Position = ( ( MVP ) * ( o1 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 216ce6ce..e7b2f7e5 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 [("z1",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 z1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = z1;\ngl_Position = ( ( MVP ) * ( z1 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( v0 ).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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( v0 ).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 a5b631c9..546203ba 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 [("o1",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 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = o1;\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 ) ) ) * ( o1 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("i7",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 i7 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = i7;\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 ) ) ) * ( i7 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("c13",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 c13 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = c13;\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 ) ) ) * ( c13 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("w18",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 w18 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = w18;\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 ) ) ) * ( w18 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("q24",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 q24 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = q24;\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 ) ) ) * ( q24 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("k30",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 k30 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = k30;\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 ) ) ) * ( k30 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("e36",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 e36 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = e36;\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 ) ) ) * ( e36 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("y41",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 y41 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = y41;\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 ) ) ) * ( y41 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("s47",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 s47 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = s47;\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 ) ) ) * ( s47 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("e7",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 e7 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = e7;\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 ) ) ) * ( e7 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("w12",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 w12 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = w12;\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 ) ) ) * ( w12 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("o18",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 o18 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = o18;\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 ) ) ) * ( o18 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("g24",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 g24 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = g24;\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 ) ) ) * ( g24 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("y29",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 y29 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = y29;\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 ) ) ) * ( y29 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("q35",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 q35 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = q35;\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 ) ) ) * ( q35 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("i41",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 i41 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = i41;\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 ) ) ) * ( i41 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("a47",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 a47 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = a47;\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 ) ) ) * ( a47 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 59dc40f0..7ce5d26f 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 [("y1",Parameter {name = "attribute_0", ty = V3F}),("z1",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 y1 ;\nin vec3 z1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( y1 ).x,( y1 ).y,( y1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( y1 ).x,( y1 ).y,( y1 ).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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 77eef493..b6b1ee3b 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 [("m1",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 m1 ;\nvoid main() {\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);}\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 [("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 | ||
diff --git a/testdata/fragment03swizzling.out b/testdata/fragment03swizzling.out index 77fe9352..262b62e6 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 [("v1",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 v1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = v1;\ngl_Position = v1;\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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( v0 ).xxxw ) + ( ( v0 ).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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( v0 ).xxxw ) + ( ( v0 ).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 feaf1478..ba261547 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 [("v1",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 v1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = v1;\ngl_Position = v1;\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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( Time ) < ( 0.5 ) ? v0 : 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( Time ) < ( 0.5 ) ? v0 : 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 88146662..add6704e 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 [("s1",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 s1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = s1;\ngl_Position = s1;\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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = sin ( sin ( v0 ) );\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = sin ( sin ( v0 ) );\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 ffb555de..24284b6a 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 6d0781f0..6a42fbdf 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 [("o1",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 o1 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( ( o1 ).x,( o1 ).y,( o1 ).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 [("r3",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 r3 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( r3 ).x,( r3 ).y,( r3 ).z,1.0 );\ngl_Position = ( MVP2 ) * ( vec4 ( ( r3 ).x,( r3 ).y,( r3 ).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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) + ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("l6",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 l6 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = l6;\ngl_Position = ( MVP ) * ( l6 );\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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) + ( 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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( 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 a9fd7e30..3c351db2 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 [("i2",Parameter {name = "position", ty = V3F}),("j2",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 i2 ;\nin vec3 j2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( j2 ).x,( j2 ).y,( j2 ).z,1.0 );\ngl_Position = ( MVP ) * ( vec4 ( ( i2 ).x,( i2 ).y,( i2 ).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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( 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 b66233f8..99275679 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 [("o1",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 o1 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( ( o1 ).x,( o1 ).y,( o1 ).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 [("r3",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 r3 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( r3 ).x,( r3 ).y,( r3 ).z,1.0 );\ngl_Position = ( MVP2 ) * ( vec4 ( ( r3 ).x,( r3 ).y,( r3 ).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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) + ( vec4 ( 1.0,1.4,1.0,0.6 ) );\n}\n"},Program {programUniforms = fromList [("MVP2",M44F)], programStreams = fromList [("j7",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 j7 ;\nvoid main() {\ngl_Position = ( MVP2 ) * ( vec4 ( ( j7 ).x,( j7 ).y,( j7 ).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 [("q9",Parameter {name = "position4", ty = V4F}),("r9",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("v5",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 q9 ;\nin vec2 r9 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = r9;\ngl_Position = ( MVP ) * ( q9 );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D v5 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( v5,( v0 ).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 "v5" 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) + ( 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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( p5,( v0 ).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 | ||
diff --git a/testdata/heartbeat01.out b/testdata/heartbeat01.out index 320b21e2..d58e47d9 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 [("u12",Parameter {name = "position4", ty = V4F}),("v12",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 u12 ;\nin vec2 v12 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = v12;\ngl_Position = ( u12 ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 5.0e-4 ) * ( sin ( ( ( 3.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).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 ) : ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 5.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).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 ) : ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 7.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).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 [("u14",Parameter {name = "position4", ty = V4F}),("v14",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("x0",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 u14 ;\nin vec2 v14 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = v14;\ngl_Position = ( ( MVP ) * ( u14 ) ) * ( 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 x0 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( x0,v0 );\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 "x0" 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 5.0e-4 ) * ( sin ( ( ( 3.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).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 ) : ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 5.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).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 ) : ( ( ( ( ( ( v0 ).x ) - ( 0.85 ) ) * ( ( ( v0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( v0 ).y ) - ( 0.85 ) ) * ( ( ( v0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 7.0 ) * ( atan ( ( ( v0 ).x ) - ( 0.85 ),( ( v0 ).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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( v0,v0 );\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 bdc2bd74..ec2db130 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 [("u1",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 u1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = u1;\ngl_Position = ( ( MVP ) * ( u1 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(true)) discard;\nf0 = v0;\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(true)) discard;\nf0 = v0;\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/line01.out b/testdata/line01.out index 859f18eb..6e379532 100644 --- a/testdata/line01.out +++ b/testdata/line01.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 [("o1",Parameter {name = "attribute_0", 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 o1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( o1 ).x,( o1 ).y,( o1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( o1 ).x,( o1 ).y,( o1 ).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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, 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 (LineCtx 1.0 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 [("m1",Parameter {name = "attribute_0", 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 m1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( m1 ).x,( m1 ).y,( m1 ).z,1.0 );\ngl_Position = ( ( MVP ) * ( vec4 ( ( m1 ).x,( m1 ).y,( m1 ).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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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])], streamType = fromList [("attribute_0",V3F)], streamPrimitive = Lines, 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 (LineCtx 1.0 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/point01.out b/testdata/point01.out index 76b02397..cb9bdffa 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 ec408fe5..51b5a10b 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 [("m22",Parameter {name = "position4", ty = V4F}),("n22",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("u20",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 m22 ;\nin vec2 n22 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = n22;\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 ) ) ) * ( m22 ) ) * ( 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 u20 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( u20,v0 ) ) ) * ( 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 [("o25",Parameter {name = "position4", ty = V4F}),("p25",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("k19",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 o25 ;\nin vec2 p25 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = p25;\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 ) ) ) * ( o25 ) ) * ( 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 k19 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( k19,v0 ) ) ) * ( 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 [("q28",Parameter {name = "position4", ty = V4F}),("r28",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a18",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 q28 ;\nin vec2 r28 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = r28;\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 ) ) ) * ( q28 ) ) * ( 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 a18 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( a18,v0 ) ) ) * ( 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 [("s31",Parameter {name = "position4", ty = V4F}),("t31",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q16",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 s31 ;\nin vec2 t31 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = t31;\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 ) ) ) * ( s31 ) ) * ( 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 q16 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( q16,v0 ) ) ) * ( 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 [("u34",Parameter {name = "position4", ty = V4F}),("v34",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("g15",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 u34 ;\nin vec2 v34 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = v34;\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 ) ) ) * ( u34 ) ) * ( 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 g15 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( g15,v0 ) ) ) * ( 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 [("w37",Parameter {name = "position4", ty = V4F}),("x37",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w13",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 w37 ;\nin vec2 x37 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = x37;\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 ) ) ) * ( w37 ) ) * ( 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 w13 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( w13,v0 ) ) ) * ( 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 [("y40",Parameter {name = "position4", ty = V4F}),("z40",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("m12",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 y40 ;\nin vec2 z40 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = z40;\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 ) ) ) * ( y40 ) ) * ( 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 m12 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( m12,v0 ) ) ) * ( 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 [("a44",Parameter {name = "position4", ty = V4F}),("b44",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("c11",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 a44 ;\nin vec2 b44 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = b44;\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 ) ) ) * ( a44 ) ) * ( 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 c11 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( c11,v0 ) ) ) * ( 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 [("c47",Parameter {name = "position4", ty = V4F}),("d47",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s9",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 c47 ;\nin vec2 d47 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = d47;\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 ) ) ) * ( c47 ) ) * ( 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 s9 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( s9,v0 ) ) ) * ( 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 [("e50",Parameter {name = "position4", ty = V4F}),("f50",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("i8",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 e50 ;\nin vec2 f50 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = f50;\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 ) ) ) * ( e50 ) ) * ( 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 i8 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( i8,v0 ) ) ) * ( 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 [("g53",Parameter {name = "position4", ty = V4F}),("h53",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("y6",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 g53 ;\nin vec2 h53 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = h53;\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 ) ) ) * ( g53 ) ) * ( 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 y6 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( y6,v0 ) ) ) * ( 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 [("i56",Parameter {name = "position4", ty = V4F}),("j56",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("o5",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 i56 ;\nin vec2 j56 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = j56;\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 ) ) ) * ( i56 ) ) * ( 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 o5 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( o5,v0 ) ) ) * ( 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 [("k59",Parameter {name = "position4", ty = V4F}),("l59",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("e4",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 k59 ;\nin vec2 l59 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = l59;\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 ) ) ) * ( k59 ) ) * ( 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 e4 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( e4,v0 ) ) ) * ( 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 [("m62",Parameter {name = "position4", ty = V4F}),("n62",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("u2",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 m62 ;\nin vec2 n62 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = n62;\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 ) ) ) * ( m62 ) ) * ( 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 u2 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( u2,v0 ) ) ) * ( 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 [("o65",Parameter {name = "position4", ty = V4F}),("p65",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("k1",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 o65 ;\nin vec2 p65 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = p65;\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 ) ) ) * ( o65 ) ) * ( 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 k1 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( k1,v0 ) ) ) * ( 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 "u20" 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 "k19" 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 "a18" 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 "q16" 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 "g15" 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 "w13" 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 "m12" 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 "c11" 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 "s9" 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 "i8" 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 "y6" 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 "o5" 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 "e4" 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 "u2" 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 "k1" 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( q19,v0 ) ) ) * ( 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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( i18,v0 ) ) ) * ( 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 [("m27",Parameter {name = "position4", ty = V4F}),("n27",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 m27 ;\nin vec2 n27 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = n27;\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 ) ) ) * ( m27 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( a17,v0 ) ) ) * ( 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 [("o30",Parameter {name = "position4", ty = V4F}),("p30",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 o30 ;\nin vec2 p30 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = p30;\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 ) ) ) * ( o30 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( s15,v0 ) ) ) * ( 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 [("q33",Parameter {name = "position4", ty = V4F}),("r33",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 q33 ;\nin vec2 r33 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = r33;\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 ) ) ) * ( q33 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( k14,v0 ) ) ) * ( 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 [("s36",Parameter {name = "position4", ty = V4F}),("t36",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 s36 ;\nin vec2 t36 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = t36;\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 ) ) ) * ( s36 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( c13,v0 ) ) ) * ( 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 [("u39",Parameter {name = "position4", ty = V4F}),("v39",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 u39 ;\nin vec2 v39 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = v39;\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 ) ) ) * ( u39 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( u11,v0 ) ) ) * ( 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 [("w42",Parameter {name = "position4", ty = V4F}),("x42",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 w42 ;\nin vec2 x42 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = x42;\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 ) ) ) * ( w42 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( m10,v0 ) ) ) * ( 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 [("y45",Parameter {name = "position4", ty = V4F}),("z45",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 y45 ;\nin vec2 z45 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = z45;\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 ) ) ) * ( y45 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( e9,v0 ) ) ) * ( 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 [("a49",Parameter {name = "position4", ty = V4F}),("b49",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 a49 ;\nin vec2 b49 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = b49;\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 ) ) ) * ( a49 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( w7,v0 ) ) ) * ( 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 [("c52",Parameter {name = "position4", ty = V4F}),("d52",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 c52 ;\nin vec2 d52 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = d52;\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 ) ) ) * ( c52 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( o6,v0 ) ) ) * ( 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 [("e55",Parameter {name = "position4", ty = V4F}),("f55",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 e55 ;\nin vec2 f55 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = f55;\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 ) ) ) * ( e55 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( g5,v0 ) ) ) * ( 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 [("g58",Parameter {name = "position4", ty = V4F}),("h58",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 g58 ;\nin vec2 h58 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = h58;\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 ) ) ) * ( g58 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( y3,v0 ) ) ) * ( 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 [("i61",Parameter {name = "position4", ty = V4F}),("j61",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 i61 ;\nin vec2 j61 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = j61;\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 ) ) ) * ( i61 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( q2,v0 ) ) ) * ( 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 [("k64",Parameter {name = "position4", ty = V4F}),("l64",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 k64 ;\nin vec2 l64 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = l64;\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 ) ) ) * ( k64 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( v0 ).xyxx ) * ( 0.7 ) ) + ( texture2D ( i1,v0 ) ) ) * ( 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 1945fa12..81f79d73 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 [("s6",Parameter {name = "position4", ty = V4F}),("t6",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 s6 ;\nin vec2 t6 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = t6;\ngl_Position = ( ( MVP ) * ( s6 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ).xyxy;\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("x8",Parameter {name = "position4", ty = V4F}),("y8",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q4",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 x8 ;\nin vec2 y8 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = y8;\ngl_Position = ( ( MVP ) * ( x8 ) ) * ( 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 q4 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( q4,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("c11",Parameter {name = "position4", ty = V4F}),("d11",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s3",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 c11 ;\nin vec2 d11 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = d11;\ngl_Position = ( ( MVP ) * ( c11 ) ) * ( 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 s3 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( s3,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("h13",Parameter {name = "position4", ty = V4F}),("i13",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("u2",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 h13 ;\nin vec2 i13 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = i13;\ngl_Position = ( ( MVP ) * ( h13 ) ) * ( 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 u2 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( u2,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m15",Parameter {name = "position4", ty = V4F}),("n15",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w1",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 m15 ;\nin vec2 n15 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = n15;\ngl_Position = ( ( MVP ) * ( m15 ) ) * ( 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 w1 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( w1,v0 ) ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("r17",Parameter {name = "position4", ty = V4F}),("s17",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("y0",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 r17 ;\nin vec2 s17 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = s17;\ngl_Position = ( ( MVP ) * ( r17 ) ) * ( 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 y0 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( y0,v0 ) ) * ( 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 "q4" 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 "s3" 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 "u2" 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 "w1" 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 "y0" 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ).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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( g4,v0 ) ) * ( 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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( k3,v0 ) ) * ( 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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( o2,v0 ) ) * ( 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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( s1,v0 ) ) * ( 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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( texture2D ( w0,v0 ) ) * ( 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 ffb555de..24284b6a 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 869abcf2..e2285472 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 [("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);}\nin vec4 n1 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = n1;\ngl_Position = n1;\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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 1.0,0.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [], programStreams = fromList [("e3",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 e3 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = e3;\ngl_Position = e3;\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 v0 ;\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\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 3a412ffe..4b4458ff 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 [("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 v0 ;\nvoid main() {\nv0 = y1;\ngl_Position = ( MVP ) * ( y1 );\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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( v0 ) * ( 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 634bc7d3..01aa6fe1 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 [("a2",Parameter {name = "color", ty = V3F}),("z1",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 viewProj ;\nin vec3 z1 ;\nin vec3 a2 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( a2 ).x,( a2 ).y,( a2 ).z,1.0 );\ngl_Position = ( viewProj ) * ( vec4 ( ( z1 ).x,( z1 ).y,( z1 ).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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vec4 ( 1.0,1.0,1.0,1.0 );\n}\n"},Program {programUniforms = fromList [("viewProj",M44F)], programStreams = fromList [("x4",Parameter {name = "position", ty = V3F}),("y4",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 x4 ;\nin vec3 y4 ;\nsmooth out vec4 v0 ;\nvoid main() {\nv0 = vec4 ( ( y4 ).x,( y4 ).y,( y4 ).z,1.0 );\ngl_Position = ( viewProj ) * ( vec4 ( ( x4 ).x,( x4 ).y,( x4 ).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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\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 bf4e3a19..8aeb7779 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 [("a2",Parameter {name = "vertexUV", ty = V2F}),("z1",Parameter {name = "position4", ty = V4F})], 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 z1 ;\nin vec2 a2 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = a2;\ngl_Position = ( ( MVP ) * ( z1 ) ) * ( 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( diffuse,v0 );\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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( diffuse,v0 );\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 8c796b28..aed6957b 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 [("n2",Parameter {name = "position4", ty = V4F}),("o2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("x0",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 n2 ;\nin vec2 o2 ;\nsmooth out vec2 v0 ;\nvoid main() {\nv0 = o2;\ngl_Position = ( ( MVP ) * ( n2 ) ) * ( 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 x0 ;\nsmooth in vec2 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( x0,v0 );\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 "x0" 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 [("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 v0 ;\nvoid main() {\nv0 = 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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( v0,v0 );\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 | ||
diff --git a/testdata/uniformparam01.out b/testdata/uniformparam01.out index 2d0a5893..967fe621 100644 --- a/testdata/uniformparam01.out +++ b/testdata/uniformparam01.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [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 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = m1;\ngl_Position = ( MVP ) * ( m1 );\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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 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 [("MVP",M44F)], 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);}\nuniform mat4 MVP ;\nin vec4 k1 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = k1;\ngl_Position = ( MVP ) * ( k1 );\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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 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/uniformparam02.out b/testdata/uniformparam02.out index ed282f84..e53f771e 100644 --- a/testdata/uniformparam02.out +++ b/testdata/uniformparam02.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("e1",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 e1 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = e1;\ngl_Position = e1;\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 v0 ;\nvoid main() {\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)}]}], programs = [Program {programUniforms = fromList [], programStreams = fromList [("c1",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 c1 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = c1;\ngl_Position = c1;\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 v0 ;\nvoid main() {\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1000.0}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less False]}),RenderSlot 0]} \ No newline at end of file | ||
diff --git a/testdata/uniformparam03.out b/testdata/uniformparam03.out index 2d0a5893..967fe621 100644 --- a/testdata/uniformparam03.out +++ b/testdata/uniformparam03.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [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 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = m1;\ngl_Position = ( MVP ) * ( m1 );\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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 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 [("MVP",M44F)], 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);}\nuniform mat4 MVP ;\nin vec4 k1 ;\nflat out vec4 v0 ;\nvoid main() {\nv0 = k1;\ngl_Position = ( MVP ) * ( k1 );\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 v0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = v0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Lines, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.5 0.0 0.4 1.0)}],SetProgram 0,SetRasterContext (LineCtx 1.0 LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | ||