Ejemplo n.º 1
0
 /// <summary>
 /// Creates a new instance of <see cref="ImageLoaderParameters"/>.
 /// </summary>
 /// <param name="flipImage">if set to <c>true</c> [flip image].</param>
 /// <param name="genMipMaps">if set to <c>true</c> [gen mip maps].</param>
 /// <param name="resizePowerTwo">if set to <c>true</c> [resize power two].</param>
 public ImageLoaderParameters(bool flipImage, bool genMipMaps, bool resizePowerTwo)
 {
     m_flip             = flipImage;
     m_genMipMaps       = genMipMaps;
     m_resizePowerOfTwo = resizePowerTwo;
     m_textureFormat    = Content.TextureConversionFormat.NoChange;
     m_colorKey         = new Color(255, 0, 255, 255);
     m_colorKeyEnabled  = false;
     m_preMultiplyAlpha = false;
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Creates a new instance of <see cref="ImageLoaderParameters"/>, with default parameters.
 /// </summary>
 public ImageLoaderParameters()
 {
     m_flip             = false;
     m_genMipMaps       = true;
     m_resizePowerOfTwo = false;
     m_textureFormat    = TextureConversionFormat.NoChange;
     m_colorKey         = new Color(255, 0, 255, 255);
     m_colorKeyEnabled  = false;
     m_preMultiplyAlpha = false;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Deserializes the object and populates it from the input.
 /// </summary>
 /// <param name="input">Savable input</param>
 public override void Read(ISavableReader input)
 {
     base.Read(input);
     m_genMipMaps       = input.ReadBoolean();
     m_genMipMaps       = input.ReadBoolean();
     m_resizePowerOfTwo = input.ReadBoolean();
     m_textureFormat    = input.ReadEnum <TextureConversionFormat>();
     m_colorKey         = input.ReadColor();
     m_colorKeyEnabled  = input.ReadBoolean();
     m_preMultiplyAlpha = input.ReadBoolean();
 }
Ejemplo n.º 4
0
        public void AssignImageToTexture(byte[] imageData, Texture2DObject targetTexture, int targetWidth, int targetHeight, int targetMips = Int32.MaxValue, TextureConversionFormat format = TextureConversionFormat.Auto)
        {
            //right now "Auto" is always RGB24.  Probably will automatically decide based on image size, but doing ETC2 sucks at the moment
            Bitmap sourceImage = null;

            using (var ms = new MemoryStream(imageData))
            {
                sourceImage = new Bitmap(ms);
            }
            int mips;

            byte[] textureBytes;
            if (format == TextureConversionFormat.ETC2_RGB)
            {
                throw new NotImplementedException();
                //textureBytes = ConvertToETC2AndMipmap(sourceImage, targetWidth, targetHeight, targetMips, out mips);
                targetTexture.TextureFormat = Texture2DObject.TextureFormatType.ETC2_RGB;
            }
            else //always fall back to RGB24
            {
                textureBytes = ConvertToRGBAndMipmap(sourceImage, targetWidth, targetHeight, targetMips, out mips);
                targetTexture.TextureFormat = Texture2DObject.TextureFormatType.RGB24;
            }

            targetTexture.ForcedFallbackFormat = 4;
            targetTexture.DownscaleFallback    = false;
            targetTexture.Width                    = targetWidth;
            targetTexture.Height                   = targetHeight;
            targetTexture.CompleteImageSize        = textureBytes.Length;
            targetTexture.MipCount                 = mips;
            targetTexture.IsReadable               = false;
            targetTexture.StreamingMipmaps         = false;
            targetTexture.StreamingMipmapsPriority = 0;
            targetTexture.ImageCount               = 1;
            targetTexture.TextureDimension         = 2;
            targetTexture.TextureSettings          = new GLTextureSettings()
            {
                FilterMode = 2,
                Aniso      = 1,
                MipBias    = -1,
                WrapU      = 1,
                WrapV      = 1,
                WrapW      = 0
            };
            targetTexture.LightmapFormat = 6;
            targetTexture.ColorSpace     = 1;
            targetTexture.ImageData      = textureBytes;
            targetTexture.StreamData     = new StreamingInfo()
            {
                offset = 0,
                size   = 0,
                path   = ""
            };
        }
Ejemplo n.º 5
0
        public void AssignImageToTexture(byte[] imageData, Texture2DObject targetTexture, int targetWidth, int targetHeight, int targetMips = int.MaxValue, TextureConversionFormat format = TextureConversionFormat.Auto)
        {
            int    actualMips;
            Bitmap bitmap = BitmapFactory.DecodeByteArray(imageData, 0, imageData.Length);

            byte[] textureBytes = MipmapToRGBBytes(bitmap, targetWidth, targetHeight, targetMips, out actualMips);
            targetTexture.TextureFormat = Texture2DObject.TextureFormatType.RGB24;

            targetTexture.ForcedFallbackFormat = 4;
            targetTexture.DownscaleFallback    = false;
            targetTexture.Width                    = targetWidth;
            targetTexture.Height                   = targetHeight;
            targetTexture.CompleteImageSize        = textureBytes.Length;
            targetTexture.MipCount                 = actualMips;
            targetTexture.IsReadable               = false;
            targetTexture.StreamingMipmaps         = false;
            targetTexture.StreamingMipmapsPriority = 0;
            targetTexture.ImageCount               = 1;
            targetTexture.TextureDimension         = 2;
            targetTexture.TextureSettings          = new GLTextureSettings()
            {
                FilterMode = 2,
                Aniso      = 1,
                MipBias    = -1,
                WrapU      = 1,
                WrapV      = 1,
                WrapW      = 0
            };
            targetTexture.LightmapFormat = 6;
            targetTexture.ColorSpace     = 1;
            targetTexture.ImageData      = textureBytes;
            targetTexture.StreamData     = new StreamingInfo()
            {
                offset = 0,
                size   = 0,
                path   = ""
            };
        }