Esempio n. 1
0
def sub_CC_C(gen,t,srcs):
    dst = ColorArg(
        gen.emit_binop('-',parts(0,srcs), Float),
        gen.emit_binop('-',parts(1,srcs), Float),
        gen.emit_binop('-',parts(2,srcs), Float),
        gen.emit_binop('-',parts(3,srcs), Float))
    return dst
Esempio n. 2
0
def mergemultiply_CC_C(gen,t,srcs):
    (a,b) = (srcs[0],srcs[1])
    return ColorArg(
        gen.emit_binop('*', [ a.parts[0], b.parts[0]], Float),
        gen.emit_binop('*', [ a.parts[1], b.parts[1]], Float),
        gen.emit_binop('*', [ a.parts[2], b.parts[2]], Float),
        b.parts[3])
Esempio n. 3
0
def add_CC_C(gen,t,srcs):
    # add 2 colors, piecewise
    dst = ColorArg(
        gen.emit_binop('+',parts(0,srcs), Float),
        gen.emit_binop('+',parts(1,srcs), Float),
        gen.emit_binop('+',parts(2,srcs), Float),
        gen.emit_binop('+',parts(3,srcs), Float))
    return dst
Esempio n. 4
0
def clamp_C_C(gen,t,srcs):
    # ensure color C is in the range [0.0,1.0]
    dst = ColorArg(
        clamp_f_f(gen,t,parts(0,srcs)),
        clamp_f_f(gen,t,parts(1,srcs)),
        clamp_f_f(gen,t,parts(2,srcs)),
        clamp_f_f(gen,t,parts(3,srcs)))
    return dst
Esempio n. 5
0
def gradient_Gf_C(gen,t,srcs):
    [d1,d2,d3] = gen.emit_func2_3("gradient", srcs, Float)
    # fixme get alpha from gradient
    return ColorArg(d1,d2,d3,ConstFloatArg(1.0)) 
Esempio n. 6
0
def rgba_ffff_C(gen,t,srcs):
    return ColorArg(srcs[0], srcs[1], srcs[2], srcs[3])
Esempio n. 7
0
def hsv_fff_C(gen,t,srcs):
    [d1,d2,d3] = gen.emit_func3_3("hsv_to_rgb", srcs, Float)
    return ColorArg(d1,d2,d3,ConstFloatArg(1.0))
Esempio n. 8
0
def hsla_ffff_C(gen,t,srcs):
    [d1,d2,d3] = gen.emit_func3_3("hsl_to_rgb", srcs, Float)
    return ColorArg(d1,d2,d3,srcs[3])
Esempio n. 9
0
def rgb_fff_C(gen,t,srcs):
    return ColorArg(srcs[0], srcs[1], srcs[2], ConstFloatArg(1.0))
Esempio n. 10
0
def _image_Ic_C(gen,t,srcs):
    c = srcs[1]
    [d1,d2,d3] = gen.emit_func3_3("image_lookup", [srcs[0], c.re, c.im], Float)
    return ColorArg(d1,d2,d3,ConstFloatArg(1.0))