Ejemplo n.º 1
0
 public ProxyTypeTexCompression(TypeTexCompression typeTexCompression, string text)
 {
     TypeTexCompression = typeTexCompression;
     Text = text;
 }
Ejemplo n.º 2
0
        public InformationProcess CallTexConv(string filePath, string ouputDir, int newW, int newH, int mips, string format, TypeTexCompression typeTexCompression, bool isGetOutput, bool isVerbose)
        {
            string compressionParam = string.Empty;

            switch (typeTexCompression)
            {
            case TypeTexCompression.BC7Max:
                compressionParam = " -bcmax";
                break;

            case TypeTexCompression.BC7Min:
                compressionParam = " -bcquick";
                break;

            case TypeTexCompression.BC13Dith:
                compressionParam = " -bcdither";
                break;

            case TypeTexCompression.BC13Uni:
                compressionParam = " -bcuniform";
                break;
            }
            var startInfo = new ProcessStartInfo
            {
                WindowStyle            = ProcessWindowStyle.Hidden,
                UseShellExecute        = false,
                RedirectStandardOutput = true,
                RedirectStandardError  = true,
                CreateNoWindow         = true,
                FileName  = ConfigurationPath.PathTexconv,
                Arguments = string.Format("-nologo -y -sepalpha -f {0}{1} -w {2} -h {3} -m {4} -o \"{5}\" \"{6}\"", format, compressionParam, newW, newH, mips, ouputDir, filePath)
            };
            //
            var process = new Process {
                StartInfo = startInfo
            };

            return(CheckOutput(process, isGetOutput, isVerbose));
        }