Esempio n. 1
0
 def test_prt(self):
     self.eqcode(PRT, cdecorator.transpile(prt))
Esempio n. 2
0
 def test_two(self):
     self.eqcode(TWO_ARGS, cdecorator.transpile(two_args))
Esempio n. 3
0
 def test_vertex(self):
     self.eqcode(VERTEX, cdecorator.transpile(vertex))
Esempio n. 4
0
 def test_fragment(self):
     self.eqcode(FRAGMENT, cdecorator.transpile(fragment))
Esempio n. 5
0
 def test_vars(self):
     self.eqcode(VARS, cdecorator.transpile(vars_))
Esempio n. 6
0
 def test_fun(self):
     self.eqcode(FUN, cdecorator.transpile(fun))
Esempio n. 7
0
 def test_var(self):
     self.eqcode(VAR, cdecorator.transpile(var))
Esempio n. 8
0
 def test_varass(self):
     self.eqcode(VARASS, cdecorator.transpile(varass))
Esempio n. 9
0
 def test_call(self):
     self.eqcode(CALL, cdecorator.transpile(call))
Esempio n. 10
0
 def test_include(self):
     self.eqcode(INCLUDE, cdecorator.transpile(include))
Esempio n. 11
0
 def test_transformers(self):
     self.eqcode(TRANSFORMERS, cdecorator.transpile(transformers))
Esempio n. 12
0
 def test_math(self):
     self.eqcode(MATH, cdecorator.transpile(math))
Esempio n. 13
0
    v_size = 512.0 * p.x / p.w;
    gl_PointSize = v_size + 5.0;
}
"""
def transformers():
    light_position : uniform[vec3]
    position : attribute[vec3]
    color : attribute[vec3]
    radius : attribute[float]

    v_size : varying[float]
    v_color : varying[vec3]
    v_radius : varying[float]
    v_eye_position : varying[vec4]
    v_light_direction : varying[vec3]

    def main(void) -> void:
        v_color = color
        v_radius = radius
        v_eye_position = _(transform.trackball_view)  * _(transform.trackball_model) * vec4(position, 1.0)
        v_light_direction = normalize(light_position)
        gl_Position = _(transform(position))

        p : vec4 = _(transform.trackball_projection) * vec4(radius, radius, v_eye_position.z, v_eye_position.w)
        v_size = 512.0 * p.x / p.w
        gl_PointSize = v_size + 5.0



print(cdecorator.transpile(transformers))