summaryrefslogtreecommitdiff
path: root/testdata/editor-examples
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-02-10 03:06:13 +0100
committerPéter Diviánszky <divipp@gmail.com>2016-02-10 03:06:13 +0100
commit2cb8ecf11a03018dd34ee7179fd745ca7aae6066 (patch)
treef9529028d9f14df0e816e236262cdb5123c74226 /testdata/editor-examples
parenta08cf5398076f8b8bbae962d41ff230bd1f1e226 (diff)
simplification
Diffstat (limited to 'testdata/editor-examples')
-rw-r--r--testdata/editor-examples/Cube.out2
-rw-r--r--testdata/editor-examples/Heartbeat.out2
-rw-r--r--testdata/editor-examples/LambdaCube.out2
-rw-r--r--testdata/editor-examples/LambdaCube2.out2
-rw-r--r--testdata/editor-examples/MagicCube.out2
-rw-r--r--testdata/editor-examples/RecLC.out2
-rw-r--r--testdata/editor-examples/RecursiveTexture.out2
-rw-r--r--testdata/editor-examples/Stripes.out2
-rw-r--r--testdata/editor-examples/Tetrahedron.out2
-rw-r--r--testdata/editor-examples/Texturing.out2
10 files changed, 10 insertions, 10 deletions
diff --git a/testdata/editor-examples/Cube.out b/testdata/editor-examples/Cube.out
index 1c51be0e..a659ea9f 100644
--- a/testdata/editor-examples/Cube.out
+++ b/testdata/editor-examples/Cube.out
@@ -1 +1 @@
Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("t16",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 t16 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = t16;\ngl_Position = ( ( MVP ) * ( t16 ) ) * ( 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 Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("t16",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 t16 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( t16 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvv0 = t16;\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
index a23e7030..04a2dfdd 100644
--- a/testdata/editor-examples/Heartbeat.out
+++ b/testdata/editor-examples/Heartbeat.out
@@ -1 +1 @@
Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("i59",Parameter {name = "position4", ty = V4F}),("p59",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 i59 ;\nin vec2 p59 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = p59;\ngl_Position = ( i59 ) * ( 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 [("e81",Parameter {name = "position4", ty = V4F}),("l81",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("n8",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 e81 ;\nin vec2 l81 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = l81;\ngl_Position = ( ( MVP ) * ( e81 ) ) * ( 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 n8 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( n8,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 "n8" 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 {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("i59",Parameter {name = "position4", ty = V4F}),("p59",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nin vec4 i59 ;\nin vec2 p59 ;\nsmooth out vec2 vv0 ;\nvoid main() {\ngl_Position = ( i59 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\nvv0 = p59;\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 [("e81",Parameter {name = "position4", ty = V4F}),("l81",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("n8",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 e81 ;\nin vec2 l81 ;\nsmooth out vec2 vv0 ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( e81 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvv0 = l81;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D n8 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( n8,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 "n8" 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 99bf0408..2f8f857f 100644
--- a/testdata/editor-examples/LambdaCube.out
+++ b/testdata/editor-examples/LambdaCube.out
@@ -1 +1 @@
Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("w73",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 w73 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = w73;\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 ) ) ) * ( w73 ) ) ) * ( 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 Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("w73",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 w73 ;\nsmooth out vec4 vv0 ;\nvoid main() {\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 ) ) ) * ( w73 ) ) ) * ( 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 ) );\nvv0 = w73;\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
index de4a126f..72dbc9e8 100644
--- a/testdata/editor-examples/LambdaCube2.out
+++ b/testdata/editor-examples/LambdaCube2.out
@@ -1 +1 @@
Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("h56",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 h56 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = h56;\ngl_Position = ( ( MVP ) * ( h56 ) ) * ( 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 Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("h56",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 h56 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( h56 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvv0 = h56;\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 124b646b..b4f102b1 100644
--- a/testdata/editor-examples/MagicCube.out
+++ b/testdata/editor-examples/MagicCube.out
@@ -1 +1 @@
Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("q353",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 q353 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = q353;\ngl_Position = ( ( MVP ) * ( q353 ) ) * ( 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 Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("q353",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 q353 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( q353 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvv0 = q353;\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
index f36013fb..c8995d9a 100644
--- a/testdata/editor-examples/RecLC.out
+++ b/testdata/editor-examples/RecLC.out
@@ -1 +1 @@
Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("l83",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 l83 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = l83;\ngl_Position = ( ( MVP ) * ( l83 ) ) * ( 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 [("f106",Parameter {name = "position4", ty = V4F}),("m106",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w25",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 f106 ;\nin vec2 m106 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = m106;\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 ) ) ) * ( f106 ) ) * ( 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 w25 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( w25,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 [("e136",Parameter {name = "vertexUV", ty = V2F}),("x135",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [("h12",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 x135 ;\nin vec2 e136 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = e136;\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 ) ) ) * ( x135 ) ) * ( 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 h12 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( h12,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 "w25" 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 "h12" 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 {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("l83",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 l83 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( l83 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvv0 = l83;\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 [("f106",Parameter {name = "position4", ty = V4F}),("m106",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w25",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 f106 ;\nin vec2 m106 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( f106 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = m106;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D w25 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( w25,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 [("e136",Parameter {name = "vertexUV", ty = V2F}),("x135",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [("h12",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 x135 ;\nin vec2 e136 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( x135 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = e136;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D h12 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( h12,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 "w25" 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 "h12" 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 c1dd12fa..6518acf3 100644
--- a/testdata/editor-examples/RecursiveTexture.out
+++ b/testdata/editor-examples/RecursiveTexture.out
@@ -1 +1 @@
Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("o223",Parameter {name = "position4", ty = V4F}),("v223",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("j202",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 o223 ;\nin vec2 v223 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = v223;\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 ) ) ) * ( o223 ) ) * ( 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 j202 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( j202,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 [("g253",Parameter {name = "position4", ty = V4F}),("n253",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("u188",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 g253 ;\nin vec2 n253 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = n253;\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 ) ) ) * ( g253 ) ) * ( 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 u188 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( u188,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 [("f283",Parameter {name = "vertexUV", ty = V2F}),("y282",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [("f175",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 y282 ;\nin vec2 f283 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = f283;\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 ) ) ) * ( y282 ) ) * ( 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 f175 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( f175,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 [("q312",Parameter {name = "position4", ty = V4F}),("x312",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q161",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 q312 ;\nin vec2 x312 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = x312;\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 ) ) ) * ( q312 ) ) * ( 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 q161 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( q161,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 [("i342",Parameter {name = "position4", ty = V4F}),("p342",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("b148",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 i342 ;\nin vec2 p342 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = p342;\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 ) ) ) * ( i342 ) ) * ( 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 b148 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( b148,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 [("a372",Parameter {name = "position4", ty = V4F}),("h372",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("m134",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 a372 ;\nin vec2 h372 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = h372;\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 ) ) ) * ( a372 ) ) * ( 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 m134 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( m134,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 [("s401",Parameter {name = "position4", ty = V4F}),("z401",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("x120",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 s401 ;\nin vec2 z401 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = z401;\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 ) ) ) * ( s401 ) ) * ( 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 x120 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( x120,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 [("k431",Parameter {name = "position4", ty = V4F}),("r431",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("i107",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 k431 ;\nin vec2 r431 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = r431;\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 ) ) ) * ( k431 ) ) * ( 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 i107 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( i107,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 [("c461",Parameter {name = "position4", ty = V4F}),("j461",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("t93",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 c461 ;\nin vec2 j461 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = j461;\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 ) ) ) * ( c461 ) ) * ( 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 t93 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( t93,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 [("b491",Parameter {name = "vertexUV", ty = V2F}),("u490",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [("e80",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 u490 ;\nin vec2 b491 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = b491;\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 ) ) ) * ( u490 ) ) * ( 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 e80 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( e80,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 [("m520",Parameter {name = "position4", ty = V4F}),("t520",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("p66",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 m520 ;\nin vec2 t520 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = t520;\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 ) ) ) * ( m520 ) ) * ( 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 p66 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( p66,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 [("e550",Parameter {name = "position4", ty = V4F}),("l550",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a53",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 e550 ;\nin vec2 l550 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = l550;\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 ) ) ) * ( e550 ) ) * ( 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 a53 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( a53,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 [("d580",Parameter {name = "vertexUV", ty = V2F}),("w579",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [("l39",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 w579 ;\nin vec2 d580 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = d580;\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 ) ) ) * ( w579 ) ) * ( 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 l39 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( l39,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 [("o609",Parameter {name = "position4", ty = V4F}),("v609",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w25",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 o609 ;\nin vec2 v609 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = v609;\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 ) ) ) * ( o609 ) ) * ( 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 w25 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( w25,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 [("g639",Parameter {name = "position4", ty = V4F}),("n639",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("h12",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 g639 ;\nin vec2 n639 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = n639;\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 ) ) ) * ( g639 ) ) * ( 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 h12 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( h12,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 "j202" 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 "u188" 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 "f175" 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 "q161" 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 "b148" 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 "m134" 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 "x120" 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 "i107" 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 "t93" 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 "e80" 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 "p66" 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 "a53" 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 "l39" 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 "w25" 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 "h12" 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 {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("o223",Parameter {name = "position4", ty = V4F}),("v223",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("j202",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 o223 ;\nin vec2 v223 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( o223 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = v223;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D j202 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( j202,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 [("g253",Parameter {name = "position4", ty = V4F}),("n253",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("u188",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 g253 ;\nin vec2 n253 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( g253 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = n253;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D u188 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( u188,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 [("f283",Parameter {name = "vertexUV", ty = V2F}),("y282",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [("f175",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 y282 ;\nin vec2 f283 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( y282 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = f283;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D f175 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( f175,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 [("q312",Parameter {name = "position4", ty = V4F}),("x312",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("q161",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 q312 ;\nin vec2 x312 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( q312 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = x312;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D q161 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( q161,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 [("i342",Parameter {name = "position4", ty = V4F}),("p342",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("b148",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 i342 ;\nin vec2 p342 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( i342 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = p342;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D b148 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( b148,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 [("a372",Parameter {name = "position4", ty = V4F}),("h372",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("m134",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 a372 ;\nin vec2 h372 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( a372 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = h372;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D m134 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( m134,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 [("s401",Parameter {name = "position4", ty = V4F}),("z401",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("x120",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 s401 ;\nin vec2 z401 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( s401 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = z401;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D x120 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( x120,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 [("k431",Parameter {name = "position4", ty = V4F}),("r431",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("i107",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 k431 ;\nin vec2 r431 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( k431 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = r431;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D i107 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( i107,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 [("c461",Parameter {name = "position4", ty = V4F}),("j461",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("t93",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 c461 ;\nin vec2 j461 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( c461 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = j461;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D t93 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( t93,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 [("b491",Parameter {name = "vertexUV", ty = V2F}),("u490",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [("e80",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 u490 ;\nin vec2 b491 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( u490 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = b491;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D e80 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( e80,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 [("m520",Parameter {name = "position4", ty = V4F}),("t520",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("p66",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 m520 ;\nin vec2 t520 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( m520 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = t520;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D p66 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( p66,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 [("e550",Parameter {name = "position4", ty = V4F}),("l550",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("a53",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 e550 ;\nin vec2 l550 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( e550 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = l550;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D a53 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( a53,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 [("d580",Parameter {name = "vertexUV", ty = V2F}),("w579",Parameter {name = "position4", ty = V4F})], programInTextures = fromList [("l39",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 w579 ;\nin vec2 d580 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( w579 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = d580;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D l39 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( l39,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 [("o609",Parameter {name = "position4", ty = V4F}),("v609",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("w25",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 o609 ;\nin vec2 v609 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( o609 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = v609;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D w25 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( w25,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 [("g639",Parameter {name = "position4", ty = V4F}),("n639",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("h12",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 g639 ;\nin vec2 n639 ;\nsmooth out vec2 vv0 ;\nvoid main() {\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 ) ) ) * ( g639 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvv0 = n639;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D h12 ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vv0 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( h12,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 "j202" 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 "u188" 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 "f175" 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 "q161" 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 "b148" 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 "m134" 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 "x120" 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 "i107" 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 "t93" 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 "e80" 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 "p66" 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 "a53" 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 "l39" 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 "w25" 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 "h12" 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 1ecc8364..0c3eb4aa 100644
--- a/testdata/editor-examples/Stripes.out
+++ b/testdata/editor-examples/Stripes.out
@@ -1 +1 @@
Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("m37",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 m37 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = m37;\ngl_Position = ( m37 ) * ( 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 [("o76",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 o76 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = o76;\ngl_Position = ( o76 ) * ( 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 [("q115",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 q115 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = q115;\ngl_Position = ( q115 ) * ( 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 [("s154",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 s154 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = s154;\ngl_Position = ( s154 ) * ( 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 [("u193",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 u193 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = u193;\ngl_Position = ( u193 ) * ( 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 [("w232",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 w232 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = w232;\ngl_Position = ( w232 ) * ( 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 [("y271",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 y271 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = y271;\ngl_Position = ( y271 ) * ( 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 [("a311",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 a311 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = a311;\ngl_Position = ( a311 ) * ( 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 [("c350",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 c350 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = c350;\ngl_Position = ( c350 ) * ( 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 [("e389",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 e389 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = e389;\ngl_Position = ( e389 ) * ( 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 Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("m37",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 m37 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( m37 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\nvv0 = m37;\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 [("o76",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 o76 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( o76 ) * ( vec4 ( 0.9,0.9,0.9,1.0 ) );\nvv0 = o76;\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 [("q115",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 q115 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( q115 ) * ( vec4 ( 0.8,0.8,0.8,1.0 ) );\nvv0 = q115;\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 [("s154",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 s154 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( s154 ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\nvv0 = s154;\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 [("u193",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 u193 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( u193 ) * ( vec4 ( 0.6,0.6,0.6,1.0 ) );\nvv0 = u193;\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 [("w232",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 w232 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( w232 ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvv0 = w232;\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 [("y271",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 y271 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( y271 ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) );\nvv0 = y271;\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 [("a311",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 a311 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( a311 ) * ( vec4 ( 0.3,0.3,0.3,1.0 ) );\nvv0 = a311;\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 [("c350",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 c350 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( c350 ) * ( vec4 ( 0.2,0.2,0.2,1.0 ) );\nvv0 = c350;\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 [("e389",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 e389 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( e389 ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\nvv0 = e389;\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/editor-examples/Tetrahedron.out b/testdata/editor-examples/Tetrahedron.out
index ee55ad82..c7dd6980 100644
--- a/testdata/editor-examples/Tetrahedron.out
+++ b/testdata/editor-examples/Tetrahedron.out
@@ -1 +1 @@
Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("l37",Parameter {name = "attribute_0", 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 l37 ;\nsmooth out vec4 vv0 ;\nvoid main() {\nvv0 = l37;\ngl_Position = ( ( MVP ) * ( l37 ) ) * ( 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 (!(true)) discard;\nf0 = ( ( 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 ) ) ) * ( vv0 ) ) ) * ( ( mod ( ( ( Time ) + ( sin ( Time ) ) ) + ( sin ( ( 1.1 ) * ( Time ) ) ),4.0 ) ) * ( 2.0 ) );\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [0.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,0.0,1.0,0.0,1.0,1.0,0.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,1.0])], streamType = fromList [("attribute_0",V4F)], streamPrimitive = Triangles, streamPrograms = [0]}], 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))]}),RenderStream 0]} \ No newline at end of file Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("l37",Parameter {name = "attribute_0", 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 l37 ;\nsmooth out vec4 vv0 ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( l37 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvv0 = l37;\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 (!(true)) discard;\nf0 = ( ( 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 ) ) ) * ( vv0 ) ) ) * ( ( mod ( ( ( Time ) + ( sin ( Time ) ) ) + ( sin ( ( 1.1 ) * ( Time ) ) ),4.0 ) ) * ( 2.0 ) );\n}\n"}], slots = [], streams = [StreamData {streamData = fromList [("attribute_0",VFloatArray [0.0,0.0,0.0,1.0,1.0,0.0,0.0,1.0,0.0,1.0,0.0,1.0,1.0,0.0,0.0,1.0,0.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,1.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,1.0,0.0,0.0,0.0,1.0,0.0,0.0,1.0,1.0])], streamType = fromList [("attribute_0",V4F)], streamPrimitive = Triangles, streamPrograms = [0]}], 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))]}),RenderStream 0]} \ No newline at end of file
diff --git a/testdata/editor-examples/Texturing.out b/testdata/editor-examples/Texturing.out
index 6d3224bc..062aa821 100644
--- a/testdata/editor-examples/Texturing.out
+++ b/testdata/editor-examples/Texturing.out
@@ -1 +1 @@
Pipeline {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("Diffuse",FTexture2D),("MVP",M44F)], programStreams = fromList [("b22",Parameter {name = "position4", ty = V4F}),("i22",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("Diffuse",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 b22 ;\nin vec2 i22 ;\nsmooth out vec2 vv0 ;\nvoid main() {\nvv0 = i22;\ngl_Position = ( ( MVP ) * ( b22 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Diffuse ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( Diffuse,vv0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("Diffuse",FTexture2D),("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,SetSamplerUniform "Diffuse" 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 {info = "generated by lambdcube-compiler 0.5.0.0", 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 [("Diffuse",FTexture2D),("MVP",M44F)], programStreams = fromList [("b22",Parameter {name = "position4", ty = V4F}),("i22",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("Diffuse",FTexture2D)], programOutput = [Parameter {name = "f0", ty = V4F}], vertexShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform mat4 MVP ;\nin vec4 b22 ;\nin vec2 i22 ;\nsmooth out vec2 vv0 ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( b22 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvv0 = i22;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Diffuse ;\nsmooth in vec2 vv0 ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( Diffuse,vv0 );\n}\n"}], slots = [Slot {slotName = "stream4", slotStreams = fromList [("position4",V4F),("vertexUV",V2F)], slotUniforms = fromList [("Diffuse",FTexture2D),("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,SetSamplerUniform "Diffuse" 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