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)); }
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); }