示例#1
0
        /// <summary>
        /// 指定されたテクスチャ ID にビットマップを割り当てます。
        /// </summary>
        /// <param name="id">テクスチャ ID。</param>
        /// <param name="bitmap">割り当てるビットマップ。</param>
        public static void Load(int id, Bitmap bitmap)
        {
            if (bitmap == null)
            {
                throw new ArgumentNullException("bitmap");
            }

            DebugText.IncrementLoadCount();
            GL.BindTexture(TextureTarget.Texture2D, id);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest);

            using (BitmapController bc = new BitmapController(bitmap, ImageLockMode.ReadOnly))
                GL.TexImage2D(TextureTarget.Texture2D, 0, PixelInternalFormat.Rgba, bitmap.Width, bitmap.Height, 0, OpenTK.Graphics.OpenGL.PixelFormat.Bgra, PixelType.UnsignedByte, bc.Scan0);
        }