diff options
author | Péter Diviánszky <divipp@gmail.com> | 2016-02-05 18:08:15 +0100 |
---|---|---|
committer | Péter Diviánszky <divipp@gmail.com> | 2016-02-05 18:08:15 +0100 |
commit | f9f38d28813aeeb3346dfe2a0ff89351cff16ab1 (patch) | |
tree | 6b6cccab05012ba6ca90a95a83f95b076548cabd | |
parent | e19b4e7051066ce8bff0e4b3c51b06e1169d4fb1 (diff) |
bugfix
-rw-r--r-- | lc/Builtins.lc | 4 | ||||
-rw-r--r-- | src/LambdaCube/Compiler/CoreToIR.hs | 5 | ||||
-rw-r--r-- | testdata/Builtins.out | 20 | ||||
-rw-r--r-- | testdata/editor-examples/Clear.out | 2 | ||||
-rw-r--r-- | testdata/editor-examples/Cube.out | 1 | ||||
-rw-r--r-- | testdata/editor-examples/Heartbeat.out | 1 | ||||
-rw-r--r-- | testdata/editor-examples/LambdaCube.out | 2 | ||||
-rw-r--r-- | testdata/editor-examples/LambdaCube2.out | 1 | ||||
-rw-r--r-- | testdata/editor-examples/MagicCube.out | 2 | ||||
-rw-r--r-- | testdata/editor-examples/RecLC.out | 1 | ||||
-rw-r--r-- | testdata/editor-examples/RecursiveTexture.out | 2 | ||||
-rw-r--r-- | testdata/editor-examples/Stripes.out | 2 | ||||
-rw-r--r-- | testdata/language-features/basic-values/where03.reject.wip.out | 3 |
13 files changed, 27 insertions, 19 deletions
diff --git a/lc/Builtins.lc b/lc/Builtins.lc index 80a818eb..271b636e 100644 --- a/lc/Builtins.lc +++ b/lc/Builtins.lc | |||
@@ -397,7 +397,7 @@ type family InterpolatedType a where | |||
397 | InterpolatedType (Interpolated a, Interpolated b) = (a, b) | 397 | InterpolatedType (Interpolated a, Interpolated b) = (a, b) |
398 | InterpolatedType (Interpolated a, Interpolated b, Interpolated c) = (a, b, c) | 398 | InterpolatedType (Interpolated a, Interpolated b, Interpolated c) = (a, b, c) |
399 | 399 | ||
400 | rasterize | 400 | rasterizePrimitive |
401 | :: ( b ~ InterpolatedType interpolation | 401 | :: ( b ~ InterpolatedType interpolation |
402 | , a ~ JoinTupleType (Vec 4 Float) b ) | 402 | , a ~ JoinTupleType (Vec 4 Float) b ) |
403 | => interpolation -- tuple of Smooth & Flat | 403 | => interpolation -- tuple of Smooth & Flat |
@@ -405,7 +405,7 @@ rasterize | |||
405 | -> Primitive a x | 405 | -> Primitive a x |
406 | -> FragmentStream 1 b | 406 | -> FragmentStream 1 b |
407 | 407 | ||
408 | rasterizePrimitives ctx is s = concat (map (rasterize is ctx) s) | 408 | rasterizePrimitives ctx is s = concat (map (rasterizePrimitive is ctx) s) |
409 | 409 | ||
410 | data Image :: Nat -> Type -> Type | 410 | data Image :: Nat -> Type -> Type |
411 | 411 | ||
diff --git a/src/LambdaCube/Compiler/CoreToIR.hs b/src/LambdaCube/Compiler/CoreToIR.hs index 2a3c78eb..e11e2861 100644 --- a/src/LambdaCube/Compiler/CoreToIR.hs +++ b/src/LambdaCube/Compiler/CoreToIR.hs | |||
@@ -138,7 +138,8 @@ getSlot x = error $ "getSlot: " ++ ppShow x | |||
138 | 138 | ||
139 | getPrim (A1 "List" (A2 "Primitive" _ p)) = p | 139 | getPrim (A1 "List" (A2 "Primitive" _ p)) = p |
140 | getPrim' (A1 "List" (A2 "Primitive" a _)) = a | 140 | getPrim' (A1 "List" (A2 "Primitive" a _)) = a |
141 | getPrim'' (A1 "List" (A2 "Fragment" _ a)) = a | 141 | getPrim'' (A1 "List" (A2 "Vector" _ (A1 "Maybe" (A1 "SimpleFragment" a)))) = a |
142 | getPrim'' x = error $ "getPrim'':" ++ ppShow x | ||
142 | 143 | ||
143 | addProgramToSlot :: IR.ProgramName -> IR.Command -> CG () | 144 | addProgramToSlot :: IR.ProgramName -> IR.Command -> CG () |
144 | addProgramToSlot prgName (IR.RenderSlot slotName) = do | 145 | addProgramToSlot prgName (IR.RenderSlot slotName) = do |
@@ -225,7 +226,7 @@ getCommands e = case e of | |||
225 | rt <- newFrameBufferTarget (tyOf a) | 226 | rt <- newFrameBufferTarget (tyOf a) |
226 | (subCmds,cmds) <- getCommands a | 227 | (subCmds,cmds) <- getCommands a |
227 | return (subCmds,IR.SetRenderTarget rt : cmds) | 228 | return (subCmds,IR.SetRenderTarget rt : cmds) |
228 | Prim3 "Accumulate" actx (getFragmentShader . removeDepthHandler -> (frag, getFragFilter -> (ffilter, Prim3 "foldr" (EtaPrim2_2 "++") (A0 "Nil") (Prim2 "map" (EtaPrim3 "rasterize" {-rp-} is rctx) (getVertexShader -> (vert, input)))))) fbuf -> do | 229 | Prim3 "Accumulate" actx (getFragmentShader . removeDepthHandler -> (frag, getFragFilter -> (ffilter, Prim3 "foldr" (EtaPrim2_2 "++") (A0 "Nil") (Prim2 "map" (EtaPrim3 "rasterizePrimitive" is rctx) (getVertexShader -> (vert, input)))))) fbuf -> do |
229 | let rp = compRC' rctx | 230 | let rp = compRC' rctx |
230 | (smpBindingsV,vertCmds) <- getRenderTextureCommands vert | 231 | (smpBindingsV,vertCmds) <- getRenderTextureCommands vert |
231 | (smpBindingsR,rastCmds) <- maybe (return mempty) getRenderTextureCommands ffilter | 232 | (smpBindingsR,rastCmds) <- maybe (return mempty) getRenderTextureCommands ffilter |
diff --git a/testdata/Builtins.out b/testdata/Builtins.out index d93f0422..b4c15130 100644 --- a/testdata/Builtins.out +++ b/testdata/Builtins.out | |||
@@ -1461,7 +1461,7 @@ testdata/Builtins.lc 398:74-398:75 Type | |||
1461 | testdata/Builtins.lc 398:74-398:78 Type->Type | 1461 | testdata/Builtins.lc 398:74-398:78 Type->Type |
1462 | testdata/Builtins.lc 398:77-398:78 Type | 1462 | testdata/Builtins.lc 398:77-398:78 Type |
1463 | testdata/Builtins.lc 398:80-398:81 Type | 1463 | testdata/Builtins.lc 398:80-398:81 Type |
1464 | testdata/Builtins.lc 400:1-400:10 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (VecS Float 4) a} -> b -> RasterContext c d -> Primitive c d -> List (Vector 1 (Maybe (SimpleFragment a))) | 1464 | testdata/Builtins.lc 400:1-400:19 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (VecS Float 4) a} -> b -> RasterContext c d -> Primitive c d -> List (Vector 1 (Maybe (SimpleFragment a))) |
1465 | testdata/Builtins.lc 401:8-406:26 Type | 1465 | testdata/Builtins.lc 401:8-406:26 Type |
1466 | testdata/Builtins.lc 401:10-401:11 V7 | 1466 | testdata/Builtins.lc 401:10-401:11 V7 |
1467 | testdata/Builtins.lc 401:10-401:13 Type->Type | 1467 | testdata/Builtins.lc 401:10-401:13 Type->Type |
@@ -1505,16 +1505,16 @@ testdata/Builtins.lc 406:23-406:24 V1 | |||
1505 | testdata/Builtins.lc 406:25-406:26 Type | 1505 | testdata/Builtins.lc 406:25-406:26 Type |
1506 | testdata/Builtins.lc 408:1-408:20 {a} -> {b:PrimitiveType} -> RasterContext (JoinTupleType (VecS Float 4) (InterpolatedType a)) b -> a -> List (Primitive (JoinTupleType (VecS Float 4) (InterpolatedType a)) b) -> List (Vector 1 (Maybe (SimpleFragment (InterpolatedType a)))) | 1506 | testdata/Builtins.lc 408:1-408:20 {a} -> {b:PrimitiveType} -> RasterContext (JoinTupleType (VecS Float 4) (InterpolatedType a)) b -> a -> List (Primitive (JoinTupleType (VecS Float 4) (InterpolatedType a)) b) -> List (Vector 1 (Maybe (SimpleFragment (InterpolatedType a)))) |
1507 | testdata/Builtins.lc 408:32-408:38 {a} -> List (List a) -> List a | 1507 | testdata/Builtins.lc 408:32-408:38 {a} -> List (List a) -> List a |
1508 | testdata/Builtins.lc 408:32-408:65 List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V3)))) | 1508 | testdata/Builtins.lc 408:32-408:74 List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V3)))) |
1509 | testdata/Builtins.lc 408:39-408:65 List (List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V3))))) | 1509 | testdata/Builtins.lc 408:39-408:74 List (List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V3))))) |
1510 | testdata/Builtins.lc 408:40-408:43 {a} -> {b} -> a->b -> List a -> List b | 1510 | testdata/Builtins.lc 408:40-408:43 {a} -> {b} -> a->b -> List a -> List b |
1511 | testdata/Builtins.lc 408:40-408:62 List (Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V5)) V0) -> List (List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V6))))) | 1511 | testdata/Builtins.lc 408:40-408:71 List (Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V5)) V0) -> List (List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V6))))) |
1512 | testdata/Builtins.lc 408:44-408:62 Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V5)) V0 -> List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V6)))) | 1512 | testdata/Builtins.lc 408:44-408:71 Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V5)) V0 -> List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V6)))) |
1513 | testdata/Builtins.lc 408:45-408:54 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (VecS Float 4) a} -> b -> RasterContext c d -> Primitive c d -> List (Vector 1 (Maybe (SimpleFragment a))) | 1513 | testdata/Builtins.lc 408:45-408:63 {a} -> {b} -> {c} -> {d:PrimitiveType} -> {e : a ~ InterpolatedType b} -> {f : c ~ JoinTupleType (VecS Float 4) a} -> b -> RasterContext c d -> Primitive c d -> List (Vector 1 (Maybe (SimpleFragment a))) |
1514 | testdata/Builtins.lc 408:45-408:57 RasterContext (JoinTupleType (VecS Float 4) (InterpolatedType V7)) V0 -> Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V8)) V1 -> List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V9)))) | 1514 | testdata/Builtins.lc 408:45-408:66 RasterContext (JoinTupleType (VecS Float 4) (InterpolatedType V7)) V0 -> Primitive (JoinTupleType (VecS Float 4) (InterpolatedType V8)) V1 -> List (Vector 1 (Maybe (SimpleFragment (InterpolatedType V9)))) |
1515 | testdata/Builtins.lc 408:55-408:57 V8 | 1515 | testdata/Builtins.lc 408:64-408:66 V8 |
1516 | testdata/Builtins.lc 408:58-408:61 V7 | 1516 | testdata/Builtins.lc 408:67-408:70 V7 |
1517 | testdata/Builtins.lc 408:63-408:64 V2 | 1517 | testdata/Builtins.lc 408:72-408:73 V2 |
1518 | testdata/Builtins.lc 410:6-410:11 Nat -> Type->Type | Type | 1518 | testdata/Builtins.lc 410:6-410:11 Nat -> Type->Type | Type |
1519 | testdata/Builtins.lc 410:15-410:18 Type | 1519 | testdata/Builtins.lc 410:15-410:18 Type |
1520 | testdata/Builtins.lc 410:22-410:26 Type | 1520 | testdata/Builtins.lc 410:22-410:26 Type |
diff --git a/testdata/editor-examples/Clear.out b/testdata/editor-examples/Clear.out index 0c4c2de7..4ba5a209 100644 --- a/testdata/editor-examples/Clear.out +++ b/testdata/editor-examples/Clear.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = fromList [], samplers = fromList [], targets = fromList [RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = fromList [], slots = fromList [], streams = fromList [], commands = fromList [SetRenderTarget 0,ClearRenderTarget (fromList [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 1.0 0.0 1.0)}])]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [], slots = [], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 1.0 0.0 1.0)}]]} \ No newline at end of file | ||
diff --git a/testdata/editor-examples/Cube.out b/testdata/editor-examples/Cube.out new file mode 100644 index 00000000..dac1d313 --- /dev/null +++ b/testdata/editor-examples/Cube.out | |||
@@ -0,0 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m1",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m1 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = m1;\ngl_Position = ( ( MVP ) * ( m1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.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/editor-examples/Heartbeat.out b/testdata/editor-examples/Heartbeat.out new file mode 100644 index 00000000..456ab2e4 --- /dev/null +++ b/testdata/editor-examples/Heartbeat.out | |||
@@ -0,0 +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 [("a9",Parameter {name = "vertexUV", ty = V2F}),("z8",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 z8 ;\nin vec2 a9 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = a9;\ngl_Position = ( z8 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).x ) - ( 0.85 ) ) * ( ( ( vv0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vv0 ).y ) - ( 0.85 ) ) * ( ( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 5.0e-4 ) * ( sin ( ( ( 3.0 ) * ( atan ( ( ( vv0 ).x ) - ( 0.85 ),( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 15.0 ) * ( Time ) ) ) ) ) ) < ( ( 5.0e-3 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 0.0,0.0,0.5,1.0 ) : ( ( ( ( ( ( vv0 ).x ) - ( 0.85 ) ) * ( ( ( vv0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vv0 ).y ) - ( 0.85 ) ) * ( ( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 5.0 ) * ( atan ( ( ( vv0 ).x ) - ( 0.85 ),( ( vv0 ).y ) - ( 0.85 ) ) ) ) - ( ( 5.0 ) * ( Time ) ) ) ) ) ) < ( ( 2.0e-2 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 0.0,0.0,1.0,1.0 ) : ( ( ( ( ( ( vv0 ).x ) - ( 0.85 ) ) * ( ( ( vv0 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vv0 ).y ) - ( 0.85 ) ) * ( ( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 7.0 ) * ( atan ( ( ( vv0 ).x ) - ( 0.85 ),( ( vv0 ).y ) - ( 0.85 ) ) ) ) + ( ( 3.0 ) * ( Time ) ) ) ) ) ) < ( ( 5.0e-2 ) * ( abs ( ( sin ( ( Time ) * ( 4.0 ) ) ) - ( 0.37 ) ) ) ) ? vec4 ( 1.0,1.0,1.0,1.0 ) : vec4 ( 1.0,1.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("g11",Parameter {name = "position4", ty = V4F}),("h11",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 g11 ;\nin vec2 h11 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = h11;\ngl_Position = ( ( MVP ) * ( g11 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D v0 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( v0,vv0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1]}], streams = [], commands = [SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.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 1.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/editor-examples/LambdaCube.out b/testdata/editor-examples/LambdaCube.out index 5800f6fa..0fc4fdc0 100644 --- a/testdata/editor-examples/LambdaCube.out +++ b/testdata/editor-examples/LambdaCube.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = fromList [], samplers = fromList [], targets = fromList [RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = fromList [Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("f13",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nin vec4 f13 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = f13;\ngl_Position = ( ( mat4 ( vec4 ( cos ( ( 4.1 ) + ( ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) * ( 6.28318530718 ) ) ),0.0,( 0.0 ) - ( sin ( ( 4.1 ) + ( ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) * ( 6.28318530718 ) ) ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( ( 4.1 ) + ( ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) * ( 6.28318530718 ) ) ),0.0,cos ( ( 4.1 ) + ( ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) * ( 6.28318530718 ) ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( 2.35619449017 ),sin ( 2.35619449017 ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( 2.35619449017 ) ),cos ( 2.35619449017 ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( f13 ) ) ) * ( vec4 ( ( 0.2 ) + ( ( abs ( ( 0.5 ) - ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) ) ) * ( 0.6 ) ),( 0.2 ) + ( ( abs ( ( 0.5 ) - ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) ) ) * ( 0.6 ) ),( 0.2 ) + ( ( abs ( ( 0.5 ) - ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) ) ) * ( 0.6 ) ),1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( abs ( ( vv0 ).x ) ) > ( 0.99999 ) ? vec4 ( ( ( ( ( ( ( vv0 ).yz ) * ( sign ( ( vv0 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) * ( ( ( ( ( ( vv0 ).yz ) * ( sign ( ( vv0 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ),1.0,( ( 1.0 ) - ( ( ( ( ( ( vv0 ).yz ) * ( sign ( ( vv0 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) ) * ( ( 1.0 ) - ( ( ( ( ( ( vv0 ).yz ) * ( sign ( ( vv0 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) ),( ( ( ( ( ( vv0 ).yz ) * ( sign ( ( vv0 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).y ) > ( 0.75 ) ? 0.0 : 1.0 ) : ( abs ( ( vv0 ).y ) ) > ( 0.99999 ) ? vec4 ( ( dot ( ( ( ( ( vv0 ).zx ) * ( sign ( ( vv0 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( -0.5,0.5 ) ) ) + ( 0.4 ),1.0,0.0,( ( dot ( ( ( ( ( vv0 ).zx ) * ( sign ( ( vv0 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 1.0,-1.0 ) ) ) > ( -0.25 ) ) && ( ( dot ( ( ( ( ( vv0 ).zx ) * ( sign ( ( vv0 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 1.0,-1.0 ) ) ) < ( 0.0 ) ) ? 0.0 : 1.0 ) : ( abs ( ( vv0 ).z ) ) > ( 0.99999 ) ? vec4 ( 0.0,1.0,( dot ( ( ( ( ( vv0 ).xy ) * ( sign ( ( vv0 ).z ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 0.5,-0.5 ) ) ) + ( 0.4 ),( ( ( ( ( ( vv0 ).xy ) * ( sign ( ( vv0 ).z ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).y ) > ( 0.75 ) ? 0.0 : 1.0 ) : vec4 ( 0.0,0.0,0.0,1.0 );\n}\n"}], slots = fromList [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("Time",Float)], slotPrimitive = Triangles, slotPrograms = fromList [0]}], streams = fromList [], commands = fromList [SetRenderTarget 0,ClearRenderTarget (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.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 [("Time",Float)], programStreams = fromList [("f13",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 ;\nin vec4 f13 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = f13;\ngl_Position = ( ( mat4 ( vec4 ( cos ( ( 4.1 ) + ( ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) * ( 6.28318530718 ) ) ),0.0,( 0.0 ) - ( sin ( ( 4.1 ) + ( ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) * ( 6.28318530718 ) ) ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( ( 4.1 ) + ( ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) * ( 6.28318530718 ) ) ),0.0,cos ( ( 4.1 ) + ( ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) * ( 6.28318530718 ) ) ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( 2.35619449017 ),sin ( 2.35619449017 ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( 2.35619449017 ) ),cos ( 2.35619449017 ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( f13 ) ) ) * ( vec4 ( ( 0.2 ) + ( ( abs ( ( 0.5 ) - ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) ) ) * ( 0.6 ) ),( 0.2 ) + ( ( abs ( ( 0.5 ) - ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) ) ) * ( 0.6 ) ),( 0.2 ) + ( ( abs ( ( 0.5 ) - ( ( ( fract ( ( Time ) * ( 0.2 ) ) ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) * ( ( 3.0 ) - ( ( 2.0 ) * ( fract ( ( Time ) * ( 0.2 ) ) ) ) ) ) ) ) * ( 0.6 ) ),1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( abs ( ( vv0 ).x ) ) > ( 0.99999 ) ? vec4 ( ( ( ( ( ( ( vv0 ).yz ) * ( sign ( ( vv0 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) * ( ( ( ( ( ( vv0 ).yz ) * ( sign ( ( vv0 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ),1.0,( ( 1.0 ) - ( ( ( ( ( ( vv0 ).yz ) * ( sign ( ( vv0 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) ) * ( ( 1.0 ) - ( ( ( ( ( ( vv0 ).yz ) * ( sign ( ( vv0 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) ),( ( ( ( ( ( vv0 ).yz ) * ( sign ( ( vv0 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).y ) > ( 0.75 ) ? 0.0 : 1.0 ) : ( abs ( ( vv0 ).y ) ) > ( 0.99999 ) ? vec4 ( ( dot ( ( ( ( ( vv0 ).zx ) * ( sign ( ( vv0 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( -0.5,0.5 ) ) ) + ( 0.4 ),1.0,0.0,( ( dot ( ( ( ( ( vv0 ).zx ) * ( sign ( ( vv0 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 1.0,-1.0 ) ) ) > ( -0.25 ) ) && ( ( dot ( ( ( ( ( vv0 ).zx ) * ( sign ( ( vv0 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 1.0,-1.0 ) ) ) < ( 0.0 ) ) ? 0.0 : 1.0 ) : ( abs ( ( vv0 ).z ) ) > ( 0.99999 ) ? vec4 ( 0.0,1.0,( dot ( ( ( ( ( vv0 ).xy ) * ( sign ( ( vv0 ).z ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 0.5,-0.5 ) ) ) + ( 0.4 ),( ( ( ( ( ( vv0 ).xy ) * ( sign ( ( vv0 ).z ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).y ) > ( 0.75 ) ? 0.0 : 1.0 ) : vec4 ( 0.0,0.0,0.0,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.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/editor-examples/LambdaCube2.out b/testdata/editor-examples/LambdaCube2.out new file mode 100644 index 00000000..8a81525b --- /dev/null +++ b/testdata/editor-examples/LambdaCube2.out | |||
@@ -0,0 +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 [("l9",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 l9 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = l9;\ngl_Position = ( ( MVP ) * ( l9 ) ) * ( 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 float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( ( ( ( ( ( vv0 ).y ) + ( ( vv0 ).x ) ) + ( ( vv0 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vv0 ).y ) - ( ( vv0 ).x ) ) + ( ( vv0 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vv0 ).y ) + ( ( vv0 ).x ) ) - ( ( vv0 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vv0 ).y ) + ( ( vv0 ).x ) ) + ( ( vv0 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vv0 ).y ) - ( ( vv0 ).x ) ) - ( ( vv0 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vv0 ).y ) + ( ( vv0 ).x ) ) - ( ( vv0 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vv0 ).y ) - ( ( vv0 ).x ) ) + ( ( vv0 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vv0 ).y ) - ( ( vv0 ).x ) ) - ( ( vv0 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).x ) * ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).x ) ) + ( ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).y ) * ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).y ) ) ) + ( ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).z ) * ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).z ) ) ) > ( abs ( ( 3.0 ) * ( sin ( ( 1.0 ) * ( Time ) ) ) ) ) ) ) ) ))) discard;\nf0 = vv0;\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.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/editor-examples/MagicCube.out b/testdata/editor-examples/MagicCube.out index 33a51267..4cd74148 100644 --- a/testdata/editor-examples/MagicCube.out +++ b/testdata/editor-examples/MagicCube.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = fromList [], samplers = fromList [], targets = fromList [RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = fromList [Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("m53",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m53 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = m53;\ngl_Position = ( ( MVP ) * ( m53 ) ) * ( 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 float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( ( ( ( ( vv0 ).y ) * ( ( vv0 ).y ) ) + ( ( ( vv0 ).x ) * ( ( vv0 ).x ) ) ) + ( ( ( vv0 ).z ) * ( ( vv0 ).z ) ) ) > ( 1.5 ))) discard;\nf0 = ( vec4 ( ( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( cos ( Time ),sin ( Time ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( vec4 ( ( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).x,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).y,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).z,( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).w ) ) * ( ( 1.0 ) + ( ( 0.5 ) * ( sin ( Time ) ) ) ) ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).x,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( cos ( Time ),sin ( Time ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( vec4 ( ( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).x,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).y,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).z,( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).w ) ) * ( ( 1.0 ) + ( ( 0.5 ) * ( sin ( Time ) ) ) ) ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).y,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( cos ( Time ),sin ( Time ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( vec4 ( ( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).x,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).y,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).z,( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).w ) ) * ( ( 1.0 ) + ( ( 0.5 ) * ( sin ( Time ) ) ) ) ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).z,( ( mat4 ( vec4 ( cos ( Time ),sin ( Time ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( vec4 ( ( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).x,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).y,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).z,( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).w ) ) * ( ( 1.0 ) + ( ( 0.5 ) * ( sin ( Time ) ) ) ) ) ) ).w ) ) * ( ( mod ( ( ( Time ) + ( sin ( Time ) ) ) + ( sin ( ( 1.1 ) * ( Time ) ) ),4.0 ) ) * ( 2.0 ) );\n}\n"}], slots = fromList [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = fromList [0]}], streams = fromList [], commands = fromList [SetRenderTarget 0,ClearRenderTarget (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.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),("Time",Float)], programStreams = fromList [("m53",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 m53 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = m53;\ngl_Position = ( ( MVP ) * ( m53 ) ) * ( 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 float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( ( ( ( ( vv0 ).y ) * ( ( vv0 ).y ) ) + ( ( ( vv0 ).x ) * ( ( vv0 ).x ) ) ) + ( ( ( vv0 ).z ) * ( ( vv0 ).z ) ) ) > ( 1.5 ))) discard;\nf0 = ( vec4 ( ( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( cos ( Time ),sin ( Time ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( vec4 ( ( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).x,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).y,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).z,( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).w ) ) * ( ( 1.0 ) + ( ( 0.5 ) * ( sin ( Time ) ) ) ) ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).x,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( cos ( Time ),sin ( Time ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( vec4 ( ( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).x,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).y,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).z,( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).w ) ) * ( ( 1.0 ) + ( ( 0.5 ) * ( sin ( Time ) ) ) ) ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).y,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( cos ( Time ),sin ( Time ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( vec4 ( ( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).x,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).y,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).z,( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).w ) ) * ( ( 1.0 ) + ( ( 0.5 ) * ( sin ( Time ) ) ) ) ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).z,( ( mat4 ( vec4 ( cos ( Time ),sin ( Time ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( vec4 ( ( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).x,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).y,( ( vec3 ( 0.5,0.5,0.5 ) ) + ( ( cos ( ( ( ( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).xyz ) + ( vec3 ( 0.0,0.1,0.2 ) ) ) * ( 6.28318 ) ) ) * ( 0.5 ) ) ).z,( ( mat4 ( vec4 ( 1.0,0.0,0.0,0.0 ),vec4 ( 0.0,cos ( Time ),sin ( Time ),0.0 ),vec4 ( 0.0,( 0.0 ) - ( sin ( Time ) ),cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).w ) ) * ( ( 1.0 ) + ( ( 0.5 ) * ( sin ( Time ) ) ) ) ) ) ).w ) ) * ( ( mod ( ( ( Time ) + ( sin ( Time ) ) ) + ( sin ( ( 1.1 ) * ( Time ) ) ),4.0 ) ) * ( 2.0 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.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/editor-examples/RecLC.out b/testdata/editor-examples/RecLC.out new file mode 100644 index 00000000..c4cc50f8 --- /dev/null +++ b/testdata/editor-examples/RecLC.out | |||
@@ -0,0 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 512 512), 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 512 512), 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 512 512), 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 512 512), 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)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F),("Time",Float)], programStreams = fromList [("b12",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 b12 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = b12;\ngl_Position = ( ( MVP ) * ( b12 ) ) * ( 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 float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( ( ( ( ( ( vv0 ).y ) + ( ( vv0 ).x ) ) + ( ( vv0 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vv0 ).y ) - ( ( vv0 ).x ) ) + ( ( vv0 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vv0 ).y ) + ( ( vv0 ).x ) ) - ( ( vv0 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vv0 ).y ) + ( ( vv0 ).x ) ) + ( ( vv0 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vv0 ).y ) - ( ( vv0 ).x ) ) - ( ( vv0 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vv0 ).y ) + ( ( vv0 ).x ) ) - ( ( vv0 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vv0 ).y ) - ( ( vv0 ).x ) ) + ( ( vv0 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vv0 ).y ) - ( ( vv0 ).x ) ) - ( ( vv0 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).x ) * ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).x ) ) + ( ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).y ) * ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).y ) ) ) + ( ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).z ) * ( ( sin ( ( vv0 ) * ( 20.0 ) ) ).z ) ) ) > ( abs ( ( 3.0 ) * ( sin ( ( 1.0 ) * ( Time ) ) ) ) ) ) ) ) ))) discard;\nf0 = vv0;\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("k14",Parameter {name = "position4", ty = V4F}),("l14",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 k14 ;\nin vec2 l14 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = l14;\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 ) ) ) * ( k14 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q2 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( q2,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("r17",Parameter {name = "position4", ty = V4F}),("s17",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 r17 ;\nin vec2 s17 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = s17;\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 ) ) ) * ( r17 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D i1 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( i1,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F),("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1,2]}], streams = [], commands = [SetRenderTarget 2,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.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,SetRenderTarget 1,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 1.0)}],SetProgram 1,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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 1.0)}],SetProgram 2,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/editor-examples/RecursiveTexture.out b/testdata/editor-examples/RecursiveTexture.out index b20289e5..8aa962dd 100644 --- a/testdata/editor-examples/RecursiveTexture.out +++ b/testdata/editor-examples/RecursiveTexture.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = fromList [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 = fromList [], targets = fromList [RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 2 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 3 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 4 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 5 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 6 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 7 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 8 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 9 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 10 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 11 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 12 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 13 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 14 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 15 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 16 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 17 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 18 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 19 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 20 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 21 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 22 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 23 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 24 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 25 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 26 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 27 0 Nothing)}]},RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 28 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 29 0 Nothing)}]}], programs = fromList [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("p21",Parameter {name = "position4", ty = V4F}),("q21",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q19",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 p21 ;\nin vec2 q21 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = q21;\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 ) ) ) * ( p21 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q19 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( q19,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("w24",Parameter {name = "position4", ty = V4F}),("x24",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("i18",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 w24 ;\nin vec2 x24 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = x24;\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 ) ) ) * ( w24 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D i18 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( i18,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("d28",Parameter {name = "position4", ty = V4F}),("e28",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a17",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 d28 ;\nin vec2 e28 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = e28;\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 ) ) ) * ( d28 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D a17 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( a17,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("k31",Parameter {name = "position4", ty = V4F}),("l31",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s15",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 k31 ;\nin vec2 l31 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = l31;\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 ) ) ) * ( k31 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s15 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s15,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("r34",Parameter {name = "position4", ty = V4F}),("s34",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("k14",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 r34 ;\nin vec2 s34 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = s34;\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 ) ) ) * ( r34 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D k14 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( k14,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("y37",Parameter {name = "position4", ty = V4F}),("z37",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("c13",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 y37 ;\nin vec2 z37 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = z37;\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 ) ) ) * ( y37 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D c13 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( c13,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("f41",Parameter {name = "position4", ty = V4F}),("g41",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("u11",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 f41 ;\nin vec2 g41 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = g41;\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 ) ) ) * ( f41 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D u11 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( u11,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m44",Parameter {name = "position4", ty = V4F}),("n44",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("m10",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 m44 ;\nin vec2 n44 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = n44;\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 ) ) ) * ( m44 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D m10 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( m10,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("t47",Parameter {name = "position4", ty = V4F}),("u47",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("e9",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 t47 ;\nin vec2 u47 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = u47;\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 ) ) ) * ( t47 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D e9 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( e9,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("a51",Parameter {name = "position4", ty = V4F}),("b51",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w7",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 a51 ;\nin vec2 b51 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = b51;\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 ) ) ) * ( a51 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D w7 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( w7,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("h54",Parameter {name = "position4", ty = V4F}),("i54",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("o6",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 h54 ;\nin vec2 i54 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = i54;\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 ) ) ) * ( h54 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D o6 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( o6,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("o57",Parameter {name = "position4", ty = V4F}),("p57",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("g5",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 o57 ;\nin vec2 p57 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = p57;\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 ) ) ) * ( o57 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D g5 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( g5,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("v60",Parameter {name = "position4", ty = V4F}),("w60",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("y3",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 v60 ;\nin vec2 w60 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = w60;\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 ) ) ) * ( v60 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D y3 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( y3,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("c64",Parameter {name = "position4", ty = V4F}),("d64",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q2",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 c64 ;\nin vec2 d64 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = d64;\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 ) ) ) * ( c64 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q2 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( q2,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("j67",Parameter {name = "position4", ty = V4F}),("k67",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("i1",FTexture2D)], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 j67 ;\nin vec2 k67 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = k67;\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 ) ) ) * ( j67 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D i1 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( i1,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"}], slots = fromList [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = fromList [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}], streams = fromList [], commands = fromList [SetRenderTarget 15,ClearRenderTarget (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 1.0)}]),SetRenderTarget 14,ClearRenderTarget (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 1.0)}]),SetProgram 14,SetTexture 0 1,SetSamplerUniform "i1" 0,SetRasterContext (TriangleCtx CullNone PolygonFill NoOffset LastVertex),SetAccumulationContext (AccumulationContext {accViewportName = Nothing, accOperations = [DepthOp Less True,ColorOp NoBlending (VV4B (V4 True True True True))]}),RenderSlot 0]} \ No newline at end of file | Pipeline {backend = OpenGL33, textures = [TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT Red) 1, textureSize = VV2U (V2 256 256), textureSemantic = Depth, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0},TextureDescriptor {textureType = Texture2D (FloatT RGBA) 1, textureSize = VV2U (V2 256 256), textureSemantic = Color, textureSampler = SamplerDescriptor {samplerWrapS = Repeat, samplerWrapT = Nothing, samplerWrapR = Nothing, samplerMinFilter = Linear, samplerMagFilter = Linear, samplerBorderColor = VV4F (V4 0.0 0.0 0.0 1.0), samplerMinLod = Nothing, samplerMaxLod = Nothing, samplerLodBias = 0.0, samplerCompareFunc = Nothing}, textureBaseLevel = 0, textureMaxLevel = 0}], samplers = [], targets = [RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 0 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 1 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 2 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 3 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 4 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 5 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 6 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 7 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 8 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 9 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 10 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 11 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 12 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 13 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 14 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 15 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 16 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 17 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 18 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 19 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 20 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 21 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 22 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 23 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 24 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 25 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 26 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 27 0 Nothing)}]},RenderTarget {renderTargets = [TargetItem {targetSemantic = Depth, targetRef = Just (TextureImage 28 0 Nothing)},TargetItem {targetSemantic = Color, targetRef = Just (TextureImage 29 0 Nothing)}]}], programs = [Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("p21",Parameter {name = "position4", ty = V4F}),("q21",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 p21 ;\nin vec2 q21 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = q21;\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 ) ) ) * ( p21 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q19 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( q19,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("w24",Parameter {name = "position4", ty = V4F}),("x24",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 w24 ;\nin vec2 x24 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = x24;\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 ) ) ) * ( w24 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D i18 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( i18,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("d28",Parameter {name = "position4", ty = V4F}),("e28",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 d28 ;\nin vec2 e28 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = e28;\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 ) ) ) * ( d28 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D a17 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( a17,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("k31",Parameter {name = "position4", ty = V4F}),("l31",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 k31 ;\nin vec2 l31 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = l31;\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 ) ) ) * ( k31 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s15 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s15,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("r34",Parameter {name = "position4", ty = V4F}),("s34",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 r34 ;\nin vec2 s34 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = s34;\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 ) ) ) * ( r34 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D k14 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( k14,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("y37",Parameter {name = "position4", ty = V4F}),("z37",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 y37 ;\nin vec2 z37 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = z37;\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 ) ) ) * ( y37 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D c13 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( c13,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("f41",Parameter {name = "position4", ty = V4F}),("g41",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 f41 ;\nin vec2 g41 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = g41;\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 ) ) ) * ( f41 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D u11 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( u11,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("m44",Parameter {name = "position4", ty = V4F}),("n44",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 m44 ;\nin vec2 n44 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = n44;\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 ) ) ) * ( m44 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D m10 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( m10,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("t47",Parameter {name = "position4", ty = V4F}),("u47",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 t47 ;\nin vec2 u47 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = u47;\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 ) ) ) * ( t47 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D e9 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( e9,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("a51",Parameter {name = "position4", ty = V4F}),("b51",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 a51 ;\nin vec2 b51 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = b51;\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 ) ) ) * ( a51 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D w7 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( w7,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("h54",Parameter {name = "position4", ty = V4F}),("i54",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 h54 ;\nin vec2 i54 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = i54;\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 ) ) ) * ( h54 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D o6 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( o6,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("o57",Parameter {name = "position4", ty = V4F}),("p57",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 o57 ;\nin vec2 p57 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = p57;\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 ) ) ) * ( o57 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D g5 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( g5,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("v60",Parameter {name = "position4", ty = V4F}),("w60",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 v60 ;\nin vec2 w60 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = w60;\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 ) ) ) * ( v60 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D y3 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( y3,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("c64",Parameter {name = "position4", ty = V4F}),("d64",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 c64 ;\nin vec2 d64 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = d64;\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 ) ) ) * ( c64 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q2 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( q2,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("j67",Parameter {name = "position4", ty = V4F}),("k67",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 j67 ;\nin vec2 k67 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = k67;\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 ) ) ) * ( j67 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D i1 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( i1,vv0 ) ) ) * ( 0.7 ) ) * ( vec4 ( 1.0,1.0,1.0,0.0 ) ) ) + ( vec4 ( 0.0,0.0,0.0,1.0 ) );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("MVP",M44F)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]}], streams = [], commands = [SetRenderTarget 15,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 1.0)}],SetRenderTarget 14,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.5 0.5 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/editor-examples/Stripes.out b/testdata/editor-examples/Stripes.out index c5682309..a439a7f0 100644 --- a/testdata/editor-examples/Stripes.out +++ b/testdata/editor-examples/Stripes.out | |||
@@ -1 +1 @@ | |||
Pipeline {backend = OpenGL33, textures = fromList [], samplers = fromList [], targets = fromList [RenderTarget {renderTargets = fromList [TargetItem {targetSemantic = Depth, targetRef = Just (Framebuffer Depth)},TargetItem {targetSemantic = Color, targetRef = Just (Framebuffer Color)}]}], programs = fromList [Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("m4",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 m4 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = m4;\ngl_Position = ( m4 ) * ( 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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( 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 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.0,0.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("e9",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 e9 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = e9;\ngl_Position = ( e9 ) * ( vec4 ( 0.9,0.9,0.9,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.9 ) ),sin ( ( Time ) * ( 0.9 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.9 ) ) ),cos ( ( Time ) * ( 0.9 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 9.999999999999998e-2,9.999999999999998e-2,9.999999999999998e-2,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("w13",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 w13 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = w13;\ngl_Position = ( w13 ) * ( vec4 ( 0.8,0.8,0.8,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.8 ) ),sin ( ( Time ) * ( 0.8 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.8 ) ) ),cos ( ( Time ) * ( 0.8 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.19999999999999996,0.19999999999999996,0.19999999999999996,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("o18",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 o18 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = o18;\ngl_Position = ( o18 ) * ( vec4 ( 0.7,0.7,0.7,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.7 ) ),sin ( ( Time ) * ( 0.7 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.7 ) ) ),cos ( ( Time ) * ( 0.7 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.30000000000000004,0.30000000000000004,0.30000000000000004,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("g23",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 g23 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = g23;\ngl_Position = ( g23 ) * ( vec4 ( 0.6,0.6,0.6,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.6 ) ),sin ( ( Time ) * ( 0.6 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.6 ) ) ),cos ( ( Time ) * ( 0.6 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.4,0.4,0.4,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("y27",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 y27 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = y27;\ngl_Position = ( y27 ) * ( 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 float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( 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 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.5,0.5,0.5,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("q32",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 q32 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = q32;\ngl_Position = ( q32 ) * ( vec4 ( 0.4,0.4,0.4,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.4 ) ),sin ( ( Time ) * ( 0.4 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.4 ) ) ),cos ( ( Time ) * ( 0.4 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.6,0.6,0.6,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("i37",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 i37 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = i37;\ngl_Position = ( i37 ) * ( vec4 ( 0.3,0.3,0.3,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( 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 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.7,0.7,0.7,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("a42",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 a42 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = a42;\ngl_Position = ( a42 ) * ( vec4 ( 0.2,0.2,0.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);}\nuniform float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.2 ) ),sin ( ( Time ) * ( 0.2 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.2 ) ) ),cos ( ( Time ) * ( 0.2 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.8,0.8,0.8,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("s46",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [], programOutput = fromList [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 s46 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = s46;\ngl_Position = ( s46 ) * ( 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);}\nuniform float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.1 ) ),sin ( ( Time ) * ( 0.1 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.1 ) ) ),cos ( ( Time ) * ( 0.1 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.9,0.9,0.9,1.0 );\n}\n"}], slots = fromList [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("Time",Float)], slotPrimitive = Triangles, slotPrograms = fromList [0,1,2,3,4,5,6,7,8,9]}], streams = fromList [], commands = fromList [SetRenderTarget 0,ClearRenderTarget (fromList [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}]),SetProgram 9,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 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 [("Time",Float)], programStreams = fromList [("m4",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 m4 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = m4;\ngl_Position = ( m4 ) * ( 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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( 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 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.0,0.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("e9",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 e9 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = e9;\ngl_Position = ( e9 ) * ( vec4 ( 0.9,0.9,0.9,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.9 ) ),sin ( ( Time ) * ( 0.9 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.9 ) ) ),cos ( ( Time ) * ( 0.9 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 9.999999999999998e-2,9.999999999999998e-2,9.999999999999998e-2,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("w13",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 w13 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = w13;\ngl_Position = ( w13 ) * ( vec4 ( 0.8,0.8,0.8,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.8 ) ),sin ( ( Time ) * ( 0.8 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.8 ) ) ),cos ( ( Time ) * ( 0.8 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.19999999999999996,0.19999999999999996,0.19999999999999996,1.0 );\n}\n"},Program {programUniforms = fromList [("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);}\nin vec4 o18 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = o18;\ngl_Position = ( o18 ) * ( vec4 ( 0.7,0.7,0.7,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.7 ) ),sin ( ( Time ) * ( 0.7 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.7 ) ) ),cos ( ( Time ) * ( 0.7 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.30000000000000004,0.30000000000000004,0.30000000000000004,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("g23",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 g23 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = g23;\ngl_Position = ( g23 ) * ( vec4 ( 0.6,0.6,0.6,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.6 ) ),sin ( ( Time ) * ( 0.6 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.6 ) ) ),cos ( ( Time ) * ( 0.6 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.4,0.4,0.4,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("y27",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 y27 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = y27;\ngl_Position = ( y27 ) * ( 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 float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( 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 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.5,0.5,0.5,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("q32",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 q32 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = q32;\ngl_Position = ( q32 ) * ( vec4 ( 0.4,0.4,0.4,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.4 ) ),sin ( ( Time ) * ( 0.4 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.4 ) ) ),cos ( ( Time ) * ( 0.4 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.6,0.6,0.6,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("i37",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 i37 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = i37;\ngl_Position = ( i37 ) * ( vec4 ( 0.3,0.3,0.3,1.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 vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( 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 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.7,0.7,0.7,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("a42",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 a42 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = a42;\ngl_Position = ( a42 ) * ( vec4 ( 0.2,0.2,0.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);}\nuniform float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.2 ) ),sin ( ( Time ) * ( 0.2 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.2 ) ) ),cos ( ( Time ) * ( 0.2 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.8,0.8,0.8,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("s46",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 s46 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = s46;\ngl_Position = ( s46 ) * ( 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);}\nuniform float Time ;\nsmooth in vec4 vv0 ;\nout vec4 f0 ;\nvoid main() {\nif (!(( sin ( ( 10.0 ) * ( ( ( mat4 ( vec4 ( cos ( Time ),0.0,( 0.0 ) - ( sin ( Time ) ),0.0 ),vec4 ( 0.0,1.0,0.0,0.0 ),vec4 ( sin ( Time ),0.0,cos ( Time ),0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( ( mat4 ( vec4 ( cos ( ( Time ) * ( 0.1 ) ),sin ( ( Time ) * ( 0.1 ) ),0.0,0.0 ),vec4 ( ( 0.0 ) - ( sin ( ( Time ) * ( 0.1 ) ) ),cos ( ( Time ) * ( 0.1 ) ),0.0,0.0 ),vec4 ( 0.0,0.0,1.0,0.0 ),vec4 ( 0.0,0.0,0.0,1.0 ) ) ) * ( vv0 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.9,0.9,0.9,1.0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F)], slotUniforms = fromList [("Time",Float)], slotPrimitive = Triangles, slotPrograms = [0,1,2,3,4,5,6,7,8,9]}], streams = [], commands = [SetRenderTarget 0,ClearRenderTarget [ClearImage {imageSemantic = Depth, clearValue = VFloat 1.0},ClearImage {imageSemantic = Color, clearValue = VV4F (V4 0.0 0.0 0.5 1.0)}],SetProgram 9,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 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/language-features/basic-values/where03.reject.wip.out b/testdata/language-features/basic-values/where03.reject.wip.out new file mode 100644 index 00000000..772389b6 --- /dev/null +++ b/testdata/language-features/basic-values/where03.reject.wip.out | |||
@@ -0,0 +1,3 @@ | |||
1 | "testdata/language-features/basic-values/where03.reject.wip.lc" (line 4, column 5): | ||
2 | unexpected reserved operator "=" | ||
3 | expecting symbols or lambda \ No newline at end of file | ||