added vec3 constructor code

This commit is contained in:
Brian
2007-01-15 16:34:33 -07:00
parent 82258b7af3
commit 0a097675f1
+14
View File
@@ -155,6 +155,7 @@ slang_simplify(slang_operation *oper,
}
}
else if (n == 4 && isFloat[0] && isFloat[1] && isFloat[2] && isFloat[3]) {
/* vec4(flt, flt, flt, flt) constructor */
if (oper->type == slang_oper_call) {
if (strcmp((char *) oper->a_id, "vec4") == 0) {
oper->literal[0] = oper->children[0].literal[0];
@@ -166,5 +167,18 @@ slang_simplify(slang_operation *oper,
}
}
}
else if (n == 3 && isFloat[0] && isFloat[1] && isFloat[2]) {
/* vec3(flt, flt, flt) constructor */
if (oper->type == slang_oper_call) {
if (strcmp((char *) oper->a_id, "vec3") == 0) {
oper->literal[0] = oper->children[0].literal[0];
oper->literal[1] = oper->children[1].literal[0];
oper->literal[2] = oper->children[2].literal[0];
oper->literal[3] = 0.0;
slang_operation_destruct(oper);
oper->type = slang_oper_literal_float;
}
}
}
}