public static int LoadTexture(string filename)
{
var bitmap = new Bitmap (filename);
int id = GL.GenTexture ();
BitmapData bmpData = bitmap.LockBits (
new Rectangle (0, 0, bitmap.Width, bitmap.Height),
ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
GL.BindTexture (TextureTarget.Texture2D, id);
GL.TexImage2D (TextureTarget.Texture2D, 0,
PixelInternalFormat.Rgba,
bitmap.Width, bitmap.Height, 0,
OpenTK.Graphics.OpenGL.PixelFormat.Bgra,
PixelType.UnsignedByte,
bmpData.Scan0);
bitmap.UnlockBits (bmpData);
GL.TexParameter (TextureTarget.Texture2D,
TextureParameterName.TextureMinFilter,
(int)TextureMinFilter.Linear);
GL.TexParameter (TextureTarget.Texture2D,
TextureParameterName.TextureMagFilter,
(int)TextureMagFilter.Linear);
return id;
}