Esempio n. 1
0
        private static string GetConstantTypeName(ConstantDeclaration declaration)
        {
            switch (declaration.ParameterClass)
            {
            case ParameterClass.Scalar:
                return(declaration.ParameterType.ToString().ToLower());

            case ParameterClass.Vector:
                if (declaration.ParameterType == ParameterType.Float)
                {
                    return("float" + declaration.Columns);
                }
                else
                {
                    throw new NotImplementedException();
                }

            case ParameterClass.MatrixColumns:
            case ParameterClass.MatrixRows:
                if (declaration.ParameterType == ParameterType.Float)
                {
                    return($"float{declaration.Rows}x{declaration.Columns}");
                }
                else
                {
                    throw new NotImplementedException();
                }

            case ParameterClass.Object:
                switch (declaration.ParameterType)
                {
                case ParameterType.Sampler2D:
                case ParameterType.Sampler3D:
                    return("sampler");

                default:
                    throw new NotImplementedException();
                }
            }
            throw new NotImplementedException();
        }