Esempio n. 1
0
 public Texture(opengl::PixelFormat format, int width, int height, IntPtr pixels)
 {
     glID = GL.GenTexture();
     GL.BindTexture(TextureTarget.Texture2D, glID);
     GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgb, width, height, 0, format, PixelType.UnsignedByte, pixels);
     GL.GenerateMipmap(GenerateMipmapTarget.Texture2D);
     //Cleanup
     GL.BindTexture(TextureTarget.Texture2D, 0);
 }
Esempio n. 2
0
        public Texture(String fileName, imaging::PixelFormat imageFormat, opengl::PixelFormat format)
        {
            glID = GL.GenTexture();
            using (Bitmap bitmap = new Bitmap(fileName))
            {
                bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);
                BitmapData imageData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, imageFormat);

                GL.BindTexture(TextureTarget.Texture2D, glID);

                GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgb, bitmap.Width, bitmap.Height, 0, format, PixelType.UnsignedByte, imageData.Scan0);
                GL.GenerateMipmap(GenerateMipmapTarget.Texture2D);

                //Cleanup
                GL.BindTexture(TextureTarget.Texture2D, 0);
                bitmap.UnlockBits(imageData);
            }
        }
Esempio n. 3
0
        public static Texture CreateTextureFromFile(String filePath, imaging::PixelFormat imageFormat, opengl::PixelFormat pixelFormat)
        {
            using (Bitmap bitmap = new Bitmap(filePath))
            {
                bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);
                BitmapData imageData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, imageFormat);
                var        texture   = new Texture(pixelFormat, bitmap.Width, bitmap.Height, imageData.Scan0);
                bitmap.UnlockBits(imageData);

                return(texture);
            }
        }