summaryrefslogtreecommitdiff
path: root/testdata/editor-examples/MagicCube.out
blob: ca7234f57f2b6176d9903ecedef0ec2fb38bfa0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
Pipeline
  { info = "generated by lambdacube-compiler 0.6.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;
              vec4 ext0_Float_3(vec3 z0) {
                  return vec4 ((z0).x,(z0).y,(z0).z,0.0);
              }
              vec3 neg_VecSFloat3(vec3 z0) {
                  return - (z0);
              }
              mat4 translateBefore4(vec3 z0) {
                  return mat4 (vec4 (1.0,0.0,0.0,0.0)
                              ,vec4 (0.0,1.0,0.0,0.0)
                              ,vec4 (0.0,0.0,1.0,0.0)
                              ,vec4 ((z0).x,(z0).y,(z0).z,1.0));
              }
              mat4 lookat(vec3 z0,vec3 z1,vec3 z2) {
                  return (transpose (mat4 (ext0_Float_3 (normalize (cross (z2
                                                                          ,normalize ((z0) - (z1)))))
                                          ,ext0_Float_3 (cross (normalize ((z0) - (z1))
                                                               ,normalize (cross (z2,normalize ((z0) - (z1))))))
                                          ,ext0_Float_3 (normalize ((z0) - (z1)))
                                          ,vec4 (0.0,0.0,0.0,1.0)))) * (translateBefore4 (neg_VecSFloat3 (z0)));
              }
              mat4 perspective(float z0,float z1,float z2,float z3) {
                  return mat4 (vec4 (((2.0) * (z0)) / (((z3) * ((z0) * (tan
                                    ((z2) / (2.0))))) - ((0.0) - ((z3) * ((z0) * (tan ((z2) / (2.0)))))))
                                    ,0.0
                                    ,0.0
                                    ,0.0)
                              ,vec4 (0.0
                                    ,((2.0) * (z0)) / (((z0) * (tan ((z2) / (2.0)))) - ((0.0) - ((z0) * (tan
                                    ((z2) / (2.0))))))
                                    ,0.0
                                    ,0.0)
                              ,vec4 ((((z3) * ((z0) * (tan ((z2) / (2.0))))) + ((0.0) - ((z3) * ((z0) * (tan
                                    ((z2) / (2.0))))))) / (((z3) * ((z0) * (tan
                                    ((z2) / (2.0))))) - ((0.0) - ((z3) * ((z0) * (tan ((z2) / (2.0)))))))
                                    ,(((z0) * (tan ((z2) / (2.0)))) + ((0.0) - ((z0) * (tan
                                    ((z2) / (2.0)))))) / (((z0) * (tan ((z2) / (2.0)))) - ((0.0) - ((z0) * (tan
                                    ((z2) / (2.0))))))
                                    ,(0.0) - (((z1) + (z0)) / ((z1) - (z0)))
                                    ,-1.0)
                              ,vec4 (0.0,0.0,(0.0) - ((((2.0) * (z1)) * (z0)) / ((z1) - (z0))),0.0));
              }
              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));
              }
              vec4 scale(float z0,vec4 z1) {
                  return (z1) * (vec4 (z0,z0,z0,1.0));
              }
              void main() {
                  gl_Position = scale (0.5
                                      ,(((perspective (0.1,100.0,0.5235987755982988,1.0)) * (lookat (vec3 (3.0
                                                                                                          ,1.3
                                                                                                          ,0.3)
                                                                                                    ,vec3 (0.0,0.0,0.0)
                                                                                                    ,vec3 (0.0,1.0,0.0)))) * (rotMatrixY ((0.1308996938995747) * (Time)))) * (vi1));
                  vo1 = vi1;
              }
              """
          , geometryShader = Nothing
          , fragmentShader =
              """
              #version 330 core
              vec4 texture2D(sampler2D s,vec2 uv) {
                  return texture(s,uv);
              }
              uniform float Time;
              smooth in vec4 vo1;
              out vec4 f0;
              float f(float z0) {
                  return (mod (((z0) + (sin (z0))) + (sin ((1.1) * (z0))),4.0)) * (2.0);
              }
              mat4 rotMatrixX(float z0) {
                  return mat4 (vec4 (1.0,0.0,0.0,0.0)
                              ,vec4 (0.0,cos (z0),sin (z0),0.0)
                              ,vec4 (0.0,(0.0) - (sin (z0)),cos (z0),0.0)
                              ,vec4 (0.0,0.0,0.0,1.0));
              }
              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));
              }
              void main() {
                  if (!((((((vo1).y) * ((vo1).y)) + (((vo1).x) * ((vo1).x))) + (((vo1).z) * ((vo1).z))) > (1.5))) discard;
                  f0 = (vec4 (((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixZ (Time)) * ((rotMatrixY
                             (Time)) * ((vec4 (((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX
                                              (Time)) * ((rotMatrixY (Time)) * (vo1))).xyz) + (vec3 (0.0
                                                                                                    ,0.1
                                                                                                    ,0.2))) * (6.28318))) * (0.5))).x
                                              ,((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX (Time)) * ((rotMatrixY
                                              (Time)) * (vo1))).xyz) + (vec3 (0.0,0.1,0.2))) * (6.28318))) * (0.5))).y
                                              ,((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX (Time)) * ((rotMatrixY
                                              (Time)) * (vo1))).xyz) + (vec3 (0.0,0.1,0.2))) * (6.28318))) * (0.5))).z
                                              ,((rotMatrixX (Time)) * ((rotMatrixY
                                              (Time)) * (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 (((((rotMatrixZ (Time)) * ((rotMatrixY
                             (Time)) * ((vec4 (((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX
                                              (Time)) * ((rotMatrixY (Time)) * (vo1))).xyz) + (vec3 (0.0
                                                                                                    ,0.1
                                                                                                    ,0.2))) * (6.28318))) * (0.5))).x
                                              ,((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX (Time)) * ((rotMatrixY
                                              (Time)) * (vo1))).xyz) + (vec3 (0.0,0.1,0.2))) * (6.28318))) * (0.5))).y
                                              ,((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX (Time)) * ((rotMatrixY
                                              (Time)) * (vo1))).xyz) + (vec3 (0.0,0.1,0.2))) * (6.28318))) * (0.5))).z
                                              ,((rotMatrixX (Time)) * ((rotMatrixY
                                              (Time)) * (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 (((((rotMatrixZ (Time)) * ((rotMatrixY
                             (Time)) * ((vec4 (((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX
                                              (Time)) * ((rotMatrixY (Time)) * (vo1))).xyz) + (vec3 (0.0
                                                                                                    ,0.1
                                                                                                    ,0.2))) * (6.28318))) * (0.5))).x
                                              ,((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX (Time)) * ((rotMatrixY
                                              (Time)) * (vo1))).xyz) + (vec3 (0.0,0.1,0.2))) * (6.28318))) * (0.5))).y
                                              ,((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX (Time)) * ((rotMatrixY
                                              (Time)) * (vo1))).xyz) + (vec3 (0.0,0.1,0.2))) * (6.28318))) * (0.5))).z
                                              ,((rotMatrixX (Time)) * ((rotMatrixY
                                              (Time)) * (vo1))).w)) * ((1.0) + ((0.5) * (sin (Time))))))).xyz) + (vec3 (0.0
                                                                                                                       ,0.1
                                                                                                                       ,0.2))) * (6.28318))) * (0.5))).z
                             ,((rotMatrixZ (Time)) * ((rotMatrixY (Time)) * ((vec4 (((vec3 (0.5
                                                                                           ,0.5
                                                                                           ,0.5)) + ((cos (((((rotMatrixX (Time)) * ((rotMatrixY
                                                                                   (Time)) * (vo1))).xyz) + (vec3 (0.0,0.1,0.2))) * (6.28318))) * (0.5))).x
                                                                                   ,((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX (Time)) * ((rotMatrixY
                                                                                   (Time)) * (vo1))).xyz) + (vec3 (0.0,0.1,0.2))) * (6.28318))) * (0.5))).y
                                                                                   ,((vec3 (0.5,0.5,0.5)) + ((cos (((((rotMatrixX (Time)) * ((rotMatrixY
                                                                                   (Time)) * (vo1))).xyz) + (vec3 (0.0,0.1,0.2))) * (6.28318))) * (0.5))).z
                                                                                   ,((rotMatrixX (Time)) * ((rotMatrixY
                                                                                   (Time)) * (vo1))).w)) * ((1.0) + ((0.5) * (sin (Time))))))).w)) * (f (Time));
              }
              """
          }
      ]
  , 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
      ]
  }