]> git.tdb.fi Git - libs/gl.git/blobdiff - source/glsl/output.cpp
Implement the ternary operator in GLSL
[libs/gl.git] / source / glsl / output.cpp
index 718b1a8bcde406ec124f7959f314b606361c1d2a..364e5e4b23c02356a2c72743103ba212a32abd91 100644 (file)
@@ -167,6 +167,16 @@ void Formatter::visit(Assignment &assign)
        assign.right->visit(*this);
 }
 
+void Formatter::visit(TernaryExpression &ternary)
+{
+       ternary.condition->visit(*this);
+       append(ternary.oper->token);
+       ternary.true_expr->visit(*this);
+       if(ternary.oper->token[0]=='?')
+               append(':');
+       ternary.false_expr->visit(*this);
+}
+
 void Formatter::visit(FunctionCall &call)
 {
        append(format("%s(", call.name));