Example #1
0
        public static BaseTexture FromBuffer(BaseDevice device, string identifier, uint[] buffer, int width, int height, bool hasMipMap, bool hasAlpha, string filter = "GL_LINEAR_MIPMAP_NEAREST", string blendMode = "", bool isLightMap = false)
        {
            if (BaseTexture.ExistsInPool(identifier))
            {
                return(BaseTexture.TexturePool[identifier]);
            }

            var desc = ( BaseTextureDesc )Activator.CreateInstance(device.TextureDescType);

            desc.Name       = identifier;
            desc.HasAlpha   = hasAlpha;
            desc.Width      = width;
            desc.Height     = height;
            desc.HasMipMap  = hasMipMap;
            desc.Filter     = filter;
            desc.BlendMode  = blendMode;
            desc.IsLightMap = isLightMap;

            return(BaseTexture.FromBuffer(device, desc, buffer));
        }
Example #2
0
        public static BasePicture FromBuffer(BaseDevice device, ByteArraySegment buffer, int width, int height, string identifier = null, string filter = "GL_LINEAR_MIPMAP_NEAREST", bool ignoreAtlas = false)
        {
            if (BasePicture.PicturePool.ContainsKey(identifier))
            {
                return(BasePicture.PicturePool[identifier]);
            }

            var picture = new BasePicture( );

            picture.Width      = width;
            picture.Height     = height;
            picture.Identifier = identifier;

            if (!ignoreAtlas && picture.Width < 64 && picture.Height < 64)
            {
                picture.Texture = device.TextureAtlas.Add(buffer, picture);
            }
            else
            {
                picture.Texture = BaseTexture.FromBuffer(device, picture, buffer, filter);
            }

            return(picture);
        }