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 vec4 texture2D(sampler2D s,vec2 uv) { return texture(s,uv); } uniform float Time; in vec4 vi1; smooth out vec4 vo1; float time = Time; float phase = fract ((time) * (0.2)); mat4 rotMatrixY(float z0) { return mat4 (vec4 (cos (z0),0.0,(0.0) - (sin (z0)),0.0) ,vec4 (0.0,1.0,0.0,0.0) ,vec4 (sin (z0),0.0,cos (z0),0.0) ,vec4 (0.0,0.0,0.0,1.0)); } mat4 rotMatrixZ(float z0) { return mat4 (vec4 (cos (z0),sin (z0),0.0,0.0) ,vec4 ((0.0) - (sin (z0)),cos (z0),0.0,0.0) ,vec4 (0.0,0.0,1.0,0.0) ,vec4 (0.0,0.0,0.0,1.0)); } vec4 scale(float z0,vec4 z1) { return (z1) * (vec4 (z0,z0,z0,1.0)); } float smoothPhase = ((phase) * (phase)) * ((3.0) - ((2.0) * (phase))); void main() { gl_Position = scale ((0.2) + ((abs ((0.5) - (smoothPhase))) * (0.6)) ,(rotMatrixY ((4.1) + ((smoothPhase) * (6.28318530718)))) * ((rotMatrixZ (2.35619449017)) * (vi1))); vo1 = vi1; } """ , geometryShader = Nothing , fragmentShader = """ #version 330 core vec4 texture2D(sampler2D s,vec2 uv) { return texture(s,uv); } smooth in vec4 vo1; out vec4 f0; vec4 rgb(float z0,float z1,float z2) { return vec4 (z0,z1,z2,1.0); } vec4 black = rgb (0.0,0.0,0.0); vec4 leftSide(vec2 z0) { return vec4 (0.0 ,1.0 ,(dot (z0,vec2 (0.5,-0.5))) + (0.4) ,((z0).y) > (0.75) ? 0.0 : 1.0); } vec4 rightSide(vec2 z0) { return vec4 (((z0).x) * ((z0).x) ,1.0 ,((1.0) - ((z0).x)) * ((1.0) - ((z0).x)) ,((z0).y) > (0.75) ? 0.0 : 1.0); } vec4 topSide(vec2 z0) { return vec4 ((dot (z0,vec2 (-0.5,0.5))) + (0.4) ,1.0 ,0.0 ,((dot (z0,vec2 (1.0,-1.0))) > (-0.25)) && ((dot (z0,vec2 (1.0,-1.0))) < (0.0)) ? 0.0 : 1.0); } void main() { f0 = (abs ((vo1).x)) > (0.99999) ? rightSide (((((vo1).yz) * (sign ((vo1).x))) * (0.5)) + (0.5)) : (abs ((vo1).y)) > (0.99999) ? topSide (((((vo1).zx) * (sign ((vo1).y))) * (0.5)) + (0.5)) : (abs ((vo1).z)) > (0.99999) ? leftSide (((((vo1).xy) * (sign ((vo1).z))) * (0.5)) + (0.5)) : black; } """ } ] , 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 ] }