glassful icon indicating copy to clipboard operation
glassful copied to clipboard

Syntax error, unexpected IF

Open gsingh93 opened this issue 9 years ago • 2 comments

Am I doing something wrong here:

let fragment_shader_src = glassful! {
    #![version="140"]

    #[varying] static v_coord: vec3 = UNINIT;

    fn main() {
        if (abs(v_coord.z) == 0.25) {
            gl_FragColor = vec4(0., 1., 0., 1.);
        } else if (abs(v_coord.x) == 0.25) {
            gl_FragColor = vec4(0., 0., 1., 1.);
        } else if (abs(v_coord.y) == 0.25) {
            gl_FragColor = vec4(1., 0., 0., 1.);
        }
    }
};

I get:

thread '<main>' panicked at 'called `Result::unwrap()` on an `Err` value: CompilationError("0:5(8): error: syntax error, unexpected IF\n")', ../src/libcore/result.rs:731```

gsingh93 avatar Jun 27 '15 01:06 gsingh93

For reference, here's the original shader:

#version 140

in vec3 v_coord;
out vec4 color;

void main() {
    if (abs(v_coord.z) == 0.25) {
        color = vec4(0., 1., 0., 1.);
    } else if (abs(v_coord.x) == 0.25) {
        color = vec4(0., 0., 1., 1.);
    } else if (abs(v_coord.y) == 0.25) {
        color = vec4(1., 0., 0., 1.);
    }
}

gsingh93 avatar Jun 27 '15 01:06 gsingh93

To be clear, this happens at runtime when creating a Program and unwrapping the result.

gsingh93 avatar Jun 27 '15 01:06 gsingh93