Exemplo n.º 1
0
        //on xbox 360 these texture formats must have dimensions that are multiples of these values.
        //if the bitmap dimensions are not multiples they are rounded up and cropped when displayed.
        private static int GetTileSize(KnownTextureFormat format)
        {
            switch (format)
            {
            case KnownTextureFormat.A8:
            case KnownTextureFormat.Y8:
            case KnownTextureFormat.AY8:
            case KnownTextureFormat.A8Y8:
            case KnownTextureFormat.A8R8G8B8:
            case KnownTextureFormat.X8R8G8B8:
            case KnownTextureFormat.A4R4G4B4:
            case KnownTextureFormat.R5G6B5:
            case KnownTextureFormat.U8V8:
                return(32);

            case KnownTextureFormat.DXT5a_mono:
            case KnownTextureFormat.DXT5a_alpha:
            case KnownTextureFormat.DXT1:
            case KnownTextureFormat.CTX1:
            case KnownTextureFormat.DXT5a:
            case KnownTextureFormat.DXT3a_alpha:
            case KnownTextureFormat.DXT3a_mono:
            case KnownTextureFormat.DXT3:
            case KnownTextureFormat.DXT5:
            case KnownTextureFormat.DXN:
            case KnownTextureFormat.DXN_mono_alpha:
                return(128);

            default: return(1);
            }
        }
Exemplo n.º 2
0
        //the size in bytes of each compressed block
        private static int GetLinearTexelPitch(KnownTextureFormat format)
        {
            switch (format)
            {
            case KnownTextureFormat.DXT5a_mono:
            case KnownTextureFormat.DXT5a_alpha:
            case KnownTextureFormat.DXT1:
            case KnownTextureFormat.CTX1:
            case KnownTextureFormat.DXT5a:
            case KnownTextureFormat.DXT3a_alpha:
            case KnownTextureFormat.DXT3a_mono:
                return(8);

            case KnownTextureFormat.DXT3:
            case KnownTextureFormat.DXT5:
            case KnownTextureFormat.DXN:
            case KnownTextureFormat.DXN_mono_alpha:
                return(16);

            case KnownTextureFormat.A8:
            case KnownTextureFormat.AY8:
            case KnownTextureFormat.P8:
            case KnownTextureFormat.P8_bump:
            case KnownTextureFormat.Y8:
                return(1);

            case KnownTextureFormat.A8R8G8B8:
            case KnownTextureFormat.X8R8G8B8:
                return(4);

            default: return(2);
            }
        }
Exemplo n.º 3
0
        //the size in bytes of each read/write unit
        //ie 32bit uses ints, DXT uses shorts etc. Used for endian swaps.
        private static int GetLinearUnitSize(KnownTextureFormat format)
        {
            switch (format)
            {
            case KnownTextureFormat.A8R8G8B8:
            case KnownTextureFormat.X8R8G8B8:
                return(4);

            case KnownTextureFormat.A8:
            case KnownTextureFormat.Y8:
            case KnownTextureFormat.AY8:
            case KnownTextureFormat.P8_bump:
                return(1);

            default: return(2);
            }
        }
Exemplo n.º 4
0
        //the width and height in pixels of each compressed block
        private static int GetLinearBlockSize(KnownTextureFormat format)
        {
            switch (format)
            {
            case KnownTextureFormat.DXT5a_mono:
            case KnownTextureFormat.DXT5a_alpha:
            case KnownTextureFormat.DXT1:
            case KnownTextureFormat.CTX1:
            case KnownTextureFormat.DXT5a:
            case KnownTextureFormat.DXT3a_alpha:
            case KnownTextureFormat.DXT3a_mono:
            case KnownTextureFormat.DXT3:
            case KnownTextureFormat.DXT5:
            case KnownTextureFormat.DXN:
            case KnownTextureFormat.DXN_mono_alpha:
                return(4);

            default: return(1);
            }
        }
Exemplo n.º 5
0
        //number of bits used to store each pixel
        private static int GetBpp(KnownTextureFormat format)
        {
            switch (format)
            {
            case KnownTextureFormat.A8R8G8B8:
            case KnownTextureFormat.X8R8G8B8:
            case KnownTextureFormat.ARGBFP32:
            case KnownTextureFormat.RGBFP32:
                return(32);

            case KnownTextureFormat.A8:
            case KnownTextureFormat.Y8:
            case KnownTextureFormat.AY8:
            case KnownTextureFormat.P8_bump:
                return(8);

            case KnownTextureFormat.CTX1:
            case KnownTextureFormat.DXT1:
            case KnownTextureFormat.DXT3a_alpha:
            case KnownTextureFormat.DXT3a_mono:
            case KnownTextureFormat.DXT5a:
            case KnownTextureFormat.DXT5a_alpha:
            case KnownTextureFormat.DXT5a_mono:
            case KnownTextureFormat.BC4_unorm:
                return(4);

            case KnownTextureFormat.DXT3:
            case KnownTextureFormat.DXT5:
            case KnownTextureFormat.DXN:
            case KnownTextureFormat.DXN_mono_alpha:
            case KnownTextureFormat.BC7_unorm:
                return(8);

            default: return(16);
            }
        }