Пример #1
0
        public static void SaveTextures(TextureSet textures, string outputDirectory)
        {
            Directory.CreateDirectory(outputDirectory);

            foreach (var texture in textures.Textures)
            {
                if (!TextureFormatUtilities.IsCompressed(texture.Format) || texture.IsYCbCr)
                {
                    TextureDecoder.DecodeToPNG(texture, Path.Combine(outputDirectory, texture.Name + ".png"));
                }
                else
                {
                    TextureDecoder.DecodeToDDS(texture, Path.Combine(outputDirectory, texture.Name + ".dds"));
                }
            }
        }
Пример #2
0
        public static void RenameTexture(Texture texture, TextureSet textures, TextureDatabase textureDatabase = null)
        {
            bool empty = string.IsNullOrEmpty(texture.Name);

            if (textureDatabase == null)
            {
                if (empty)
                {
                    texture.Name = string.Format("Texture_{0}", textures.Textures.IndexOf(texture));
                }
            }
            else
            {
                var entry = textureDatabase.Textures.FirstOrDefault(x => x.Id == texture.Id);
                if (entry != null)
                {
                    texture.Name = entry.Name;
                }
                else if (empty)
                {
                    texture.Name = string.Format("Texture_{0}", textures.Textures.IndexOf(texture));
                }
            }
        }