private string GetTypeString(ShaderParameter.RType type, int size)
        {
            string result = "";

            switch (type)
            {
            case ShaderParameter.RType.Boolean:
                result = "bool";
                break;

            case ShaderParameter.RType.Integer:
                result = "integer";
                break;

            case ShaderParameter.RType.Vector:
                result = "float4";
                if (size > 1)
                {
                    result += $"x{size}";
                }
                break;

            case ShaderParameter.RType.Sampler:
                result = "sampler2D";
                break;
            }
            return(result);
        }
        private string GetRegisterString(ShaderParameter.RType type, int registerIndex)
        {
            string result = "";

            switch (type)
            {
            case ShaderParameter.RType.Boolean:
                result = "b";
                break;

            case ShaderParameter.RType.Integer:
            case ShaderParameter.RType.Vector:
                result = "c";
                break;

            case ShaderParameter.RType.Sampler:
                result = "s";
                break;
            }
            result += registerIndex.ToString();
            return(result);
        }