Exemplo n.º 1
0
 private static object _parseUniformValue(YamlNode node, ShaderDataType dataType)
 {
     switch (dataType)
     {
         case ShaderDataType.Bool:
             return node.AsBool();
         case ShaderDataType.Int:
             return node.AsInt();
         case ShaderDataType.IVec2:
             return node.AsVector2i();
         case ShaderDataType.Float:
             return node.AsFloat();
         case ShaderDataType.Vec2:
             return node.AsVector2();
         case ShaderDataType.Vec3:
             return node.AsVector3();
         case ShaderDataType.Vec4:
             try
             {
                 return node.AsColor();
             }
             catch
             {
                 return node.AsVector4();
             }
         default:
             throw new NotSupportedException("Unsupported uniform type.");
     }
 }