| 447 | } |
| 448 | |
| 449 | void HLSLCompiler::m_generateConvert(HLSLCompiler::ExpressionType etype, int args) |
| 450 | { |
| 451 | if (etype.Type == ag::Type::Object) { |
| 452 | // TODO: ? |
| 453 | // EXAMPLE: (VSOutput)0; -> memset data to 0 |
| 454 | } |
| 455 | else if (etype.Type == ag::Type::Void) {} |
| 456 | else { |
| 457 | if (etype.Columns * etype.Rows == 1) |
| 458 | m_gen.Function.Convert(etype.Type); |
| 459 | else |
| 460 | m_gen.Function.NewObjectByName(etype.Name, args); // example: ivec3(vec3()) |
| 461 | } |
| 462 | } |
| 463 | |
| 464 | bool HLSLCompiler::translate(M4::HLSLTree* tree) |
| 465 | { |