Exemple #1
0
        public void LoadDDS(string FileName, byte[] FileData = null, TextureData tree = null)
        {
            TexName = Path.GetFileNameWithoutExtension(FileName);

            Console.WriteLine(TexName);

            DDS dds = new DDS();

            if (FileData != null)
            {
                dds.Load(new FileReader(new MemoryStream(FileData)));
            }
            else
            {
                dds.Load(new FileReader(FileName));
            }
            MipCount    = dds.header.mipmapCount;
            TexWidth    = dds.header.width;
            TexHeight   = dds.header.height;
            arrayLength = 1;
            if (dds.header.caps2 == (uint)DDS.DDSCAPS2.CUBEMAP_ALLFACES)
            {
                arrayLength = 6;
            }

            foreach (var array in DDS.GetArrayFacesBytes(dds, (int)arrayLength))
            {
                DataBlockOutput.Add(array);
            }


            Format = LoadDDSFormat(dds.header.ddspf.fourCC, dds, IsSRGB);
        }