From 602222207f6df52324e68abe3b6afb30d18e2ec2 Mon Sep 17 00:00:00 2001 From: Péter Diviánszky Date: Wed, 10 Feb 2016 05:55:32 +0100 Subject: don't generate dead code --- testdata/editor-examples/Cube.out | 2 +- testdata/editor-examples/Heartbeat.out | 2 +- testdata/editor-examples/LambdaCube.out | 2 +- testdata/editor-examples/LambdaCube2.out | 2 +- testdata/editor-examples/MagicCube.out | 2 +- testdata/editor-examples/RecLC.out | 2 +- testdata/editor-examples/RecursiveTexture.out | 2 +- testdata/editor-examples/Stripes.out | 2 +- testdata/editor-examples/Tetrahedron.out | 2 +- testdata/editor-examples/Texturing.out | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) (limited to 'testdata/editor-examples') diff --git a/testdata/editor-examples/Cube.out b/testdata/editor-examples/Cube.out index 864708c0..0d0e6e12 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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = vo1;\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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 gl_Position ;\nout vec4 f0 ;\nvoid main() {\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 562d0ca3..5525f041 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\nvo1 = vi2;\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 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).x ) - ( 0.85 ) ) * ( ( ( vo1 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vo1 ).y ) - ( 0.85 ) ) * ( ( ( vo1 ).y ) - ( 0.85 ) ) ) ) + ( ( 5.0e-4 ) * ( sin ( ( ( 3.0 ) * ( atan ( ( ( vo1 ).x ) - ( 0.85 ),( ( vo1 ).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 ) : ( ( ( ( ( ( vo1 ).x ) - ( 0.85 ) ) * ( ( ( vo1 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vo1 ).y ) - ( 0.85 ) ) * ( ( ( vo1 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 5.0 ) * ( atan ( ( ( vo1 ).x ) - ( 0.85 ),( ( vo1 ).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 ) : ( ( ( ( ( ( vo1 ).x ) - ( 0.85 ) ) * ( ( ( vo1 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vo1 ).y ) - ( 0.85 ) ) * ( ( ( vo1 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 7.0 ) * ( atan ( ( ( vo1 ).x ) - ( 0.85 ),( ( vo1 ).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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( s0,vo1 );\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 "s0" 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).x ) - ( 0.85 ) ) * ( ( ( vo1 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vo1 ).y ) - ( 0.85 ) ) * ( ( ( vo1 ).y ) - ( 0.85 ) ) ) ) + ( ( 5.0e-4 ) * ( sin ( ( ( 3.0 ) * ( atan ( ( ( vo1 ).x ) - ( 0.85 ),( ( vo1 ).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 ) : ( ( ( ( ( ( vo1 ).x ) - ( 0.85 ) ) * ( ( ( vo1 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vo1 ).y ) - ( 0.85 ) ) * ( ( ( vo1 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 5.0 ) * ( atan ( ( ( vo1 ).x ) - ( 0.85 ),( ( vo1 ).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 ) : ( ( ( ( ( ( vo1 ).x ) - ( 0.85 ) ) * ( ( ( vo1 ).x ) - ( 0.85 ) ) ) + ( ( ( ( vo1 ).y ) - ( 0.85 ) ) * ( ( ( vo1 ).y ) - ( 0.85 ) ) ) ) + ( ( 2.0e-3 ) * ( sin ( ( ( 7.0 ) * ( atan ( ( ( vo1 ).x ) - ( 0.85 ),( ( vo1 ).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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( s0,vo1 );\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 "s0" 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 eab13253..a385d90d 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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\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 ) ) ) * ( vi1 ) ) ) * ( 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 ) );\nvo1 = vi1;\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 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( abs ( ( vo1 ).x ) ) > ( 0.99999 ) ? vec4 ( ( ( ( ( ( ( vo1 ).yz ) * ( sign ( ( vo1 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) * ( ( ( ( ( ( vo1 ).yz ) * ( sign ( ( vo1 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ),1.0,( ( 1.0 ) - ( ( ( ( ( ( vo1 ).yz ) * ( sign ( ( vo1 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) ) * ( ( 1.0 ) - ( ( ( ( ( ( vo1 ).yz ) * ( sign ( ( vo1 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) ),( ( ( ( ( ( vo1 ).yz ) * ( sign ( ( vo1 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).y ) > ( 0.75 ) ? 0.0 : 1.0 ) : ( abs ( ( vo1 ).y ) ) > ( 0.99999 ) ? vec4 ( ( dot ( ( ( ( ( vo1 ).zx ) * ( sign ( ( vo1 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( -0.5,0.5 ) ) ) + ( 0.4 ),1.0,0.0,( ( dot ( ( ( ( ( vo1 ).zx ) * ( sign ( ( vo1 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 1.0,-1.0 ) ) ) > ( -0.25 ) ) && ( ( dot ( ( ( ( ( vo1 ).zx ) * ( sign ( ( vo1 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 1.0,-1.0 ) ) ) < ( 0.0 ) ) ? 0.0 : 1.0 ) : ( abs ( ( vo1 ).z ) ) > ( 0.99999 ) ? vec4 ( 0.0,1.0,( dot ( ( ( ( ( vo1 ).xy ) * ( sign ( ( vo1 ).z ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 0.5,-0.5 ) ) ) + ( 0.4 ),( ( ( ( ( ( vo1 ).xy ) * ( sign ( ( vo1 ).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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\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 ) ) ) * ( vi1 ) ) ) * ( 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 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nsmooth in vec4 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( abs ( ( vo1 ).x ) ) > ( 0.99999 ) ? vec4 ( ( ( ( ( ( ( vo1 ).yz ) * ( sign ( ( vo1 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) * ( ( ( ( ( ( vo1 ).yz ) * ( sign ( ( vo1 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ),1.0,( ( 1.0 ) - ( ( ( ( ( ( vo1 ).yz ) * ( sign ( ( vo1 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) ) * ( ( 1.0 ) - ( ( ( ( ( ( vo1 ).yz ) * ( sign ( ( vo1 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).x ) ),( ( ( ( ( ( vo1 ).yz ) * ( sign ( ( vo1 ).x ) ) ) * ( 0.5 ) ) + ( 0.5 ) ).y ) > ( 0.75 ) ? 0.0 : 1.0 ) : ( abs ( ( vo1 ).y ) ) > ( 0.99999 ) ? vec4 ( ( dot ( ( ( ( ( vo1 ).zx ) * ( sign ( ( vo1 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( -0.5,0.5 ) ) ) + ( 0.4 ),1.0,0.0,( ( dot ( ( ( ( ( vo1 ).zx ) * ( sign ( ( vo1 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 1.0,-1.0 ) ) ) > ( -0.25 ) ) && ( ( dot ( ( ( ( ( vo1 ).zx ) * ( sign ( ( vo1 ).y ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 1.0,-1.0 ) ) ) < ( 0.0 ) ) ? 0.0 : 1.0 ) : ( abs ( ( vo1 ).z ) ) > ( 0.99999 ) ? vec4 ( 0.0,1.0,( dot ( ( ( ( ( vo1 ).xy ) * ( sign ( ( vo1 ).z ) ) ) * ( 0.5 ) ) + ( 0.5 ),vec2 ( 0.5,-0.5 ) ) ) + ( 0.4 ),( ( ( ( ( ( vo1 ).xy ) * ( sign ( ( vo1 ).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 ea0c3fa6..551a552e 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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nif (!(( ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).x ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).x ) ) + ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).y ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).y ) ) ) + ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).z ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).z ) ) ) > ( abs ( ( 3.0 ) * ( sin ( ( 1.0 ) * ( Time ) ) ) ) ) ) ) ) ))) discard;\nf0 = vo1;\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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nif (!(( ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).x ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).x ) ) + ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).y ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).y ) ) ) + ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).z ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).z ) ) ) > ( abs ( ( 3.0 ) * ( sin ( ( 1.0 ) * ( Time ) ) ) ) ) ) ) ) ))) discard;\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 27bae90f..11e0d049 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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nif (!(( ( ( ( ( vo1 ).y ) * ( ( vo1 ).y ) ) + ( ( ( vo1 ).x ) * ( ( vo1 ).x ) ) ) + ( ( ( vo1 ).z ) * ( ( vo1 ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nif (!(( ( ( ( ( vo1 ).y ) * ( ( vo1 ).y ) ) + ( ( ( vo1 ).x ) * ( ( vo1 ).x ) ) ) + ( ( ( vo1 ).z ) * ( ( vo1 ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 ) ) ) * ( vo1 ) ) ).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 1ae33756..3b738dd2 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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nif (!(( ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).x ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).x ) ) + ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).y ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).y ) ) ) + ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).z ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).z ) ) ) > ( abs ( ( 3.0 ) * ( sin ( ( 1.0 ) * ( Time ) ) ) ) ) ) ) ) ))) discard;\nf0 = vo1;\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 "s0" 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 "s0" 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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nif (!(( ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) + ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) + ( ( vo1 ).z ) ) > ( 1.0 ) ) || ( ( abs ( ( ( ( ( vo1 ).y ) - ( ( vo1 ).x ) ) - ( ( vo1 ).z ) ) - ( 1.0 ) ) ) > ( 0.25 ) ) ) && ( ( ( ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).x ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).x ) ) + ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).y ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).y ) ) ) + ( ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).z ) * ( ( sin ( ( vo1 ) * ( 20.0 ) ) ).z ) ) ) > ( abs ( ( 3.0 ) * ( sin ( ( 1.0 ) * ( Time ) ) ) ) ) ) ) ) ))) discard;\n}\n"},Program {programUniforms = fromList [("MVP",M44F)], programStreams = fromList [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 "s0" 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 "s0" 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 9e3d0d98..77ac45a3 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\ngl_PointSize = 1.0;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",Parameter {name = "vertexUV", ty = V2F})], programInTextures = fromList [("s0",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\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 ) ) ) * ( vi1 ) ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D s0 ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = ( ( ( ( ( ( vo1 ).yyyx ) * ( 0.5 ) ) + ( texture2D ( s0,vo1 ) ) ) * ( 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 "s0" 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 ed33c94c..c3979ea6 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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.0,0.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.9,0.9,0.9,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.8,0.8,0.8,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.19999999999999996,0.19999999999999996,0.19999999999999996,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.30000000000000004,0.30000000000000004,0.30000000000000004,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.6,0.6,0.6,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.4,0.4,0.4,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.5,0.5,0.5,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.6,0.6,0.6,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.3,0.3,0.3,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.7,0.7,0.7,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.2,0.2,0.2,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.8,0.8,0.8,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 1.0,1.0,1.0,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.0,0.0,0.0,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.9,0.9,0.9,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.8,0.8,0.8,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.19999999999999996,0.19999999999999996,0.19999999999999996,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.7,0.7,0.7,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.30000000000000004,0.30000000000000004,0.30000000000000004,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.6,0.6,0.6,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.4,0.4,0.4,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.5,0.5,0.5,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.4,0.4,0.4,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.6,0.6,0.6,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.3,0.3,0.3,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.7,0.7,0.7,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.2,0.2,0.2,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).x ) ) ) > ( 0.5 ))) discard;\nf0 = vec4 ( 0.8,0.8,0.8,1.0 );\n}\n"},Program {programUniforms = fromList [("Time",Float)], programStreams = fromList [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( vi1 ) * ( vec4 ( 0.1,0.1,0.1,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ).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 bcd602d1..7fd61799 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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\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 gl_Position ;\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 ) ) ) * ( vo1 ) ) ) * ( ( 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 [("vi1",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 vi1 ;\nsmooth out vec4 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi1;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform float Time ;\nsmooth in vec4 gl_Position ;\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 ) ) ) * ( vo1 ) ) ) * ( ( 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 79897e64..f96210b0 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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi2;\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 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( Diffuse,vo1 );\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 [("vi1",Parameter {name = "position4", ty = V4F}),("vi2",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 vi1 ;\nin vec2 vi2 ;\nsmooth out vec2 gl_Position ;\nvoid main() {\ngl_Position = ( ( MVP ) * ( vi1 ) ) * ( vec4 ( 0.5,0.5,0.5,1.0 ) );\nvo1 = vi2;\n}\n", geometryShader = Nothing, fragmentShader = "#version 330 core\nvec4 texture2D(sampler2D s, vec2 uv){return texture(s,uv);}\nuniform sampler2D Diffuse ;\nsmooth in vec2 gl_Position ;\nout vec4 f0 ;\nvoid main() {\nf0 = texture2D ( Diffuse,vo1 );\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 -- cgit v1.2.3