问题描述
所以我想要一个 OpenTK 实现,它只在 2D 窗口上绘制一些图像。我尝试使用 this answer 提供的内容,但它只绘制了蓝屏。我想补充一点,我对 OpenTK 的理解基本上是不存在的,我只是对 windows 窗体感到生气,因为它甚至将简单的图形应用程序带到了崩溃的边缘。到目前为止,我得到了一个覆盖 OnLoad、OnResize、OnRenderFrame 和 OnUpdateFrame 的 GameWindow 扩展,以及一个完美大小的 NativeWindowSetting 和 GameWindowSetting。
有人可以提供使用或替换函数的注释代码(最好是 using OpenTK.Graphics.OpenGL4;
)吗:
public int LoadTexture(string file)
{
Bitmap bitmap = new Bitmap(file);
int image;
GL.Hint(HintTarget.PerspectiveCorrectionHint,HintMode.Nicest);
GL.GenTextures(1,out image);
GL.BindTexture(TextureTarget.Texture2D,image);
BitmapData data = bitmap.LockBits(new Rectangle(0,bitmap.Width,bitmap.Height),ImageLockMode.ReadOnly,System.Drawing.Imaging.PixelFormat.Format32bppArgb);
GL.TexImage2D(TextureTarget.Texture2D,PixelInternalFormat.Rgba,data.Width,data.Height,OpenTK.Graphics.OpenGL.PixelFormat.Bgra,PixelType.UnsignedByte,data.Scan0);
bitmap.UnlockBits(data);
GL.TexParameter(TextureTarget.Texture2D,TextureParameterName.TextureMinFilter,(int)TextureMinFilter.Linear);
GL.TexParameter(TextureTarget.Texture2D,TextureParameterName.TextureMagFilter,(int)TextureMagFilter.Linear);
GL.TexParameter(TextureTarget.Texture2D,TextureParameterName.TextureWrapS,(int)TextureWrapMode.Repeat);
GL.TexParameter(TextureTarget.Texture2D,TextureParameterName.TextureWrapT,(int)TextureWrapMode.Repeat);
return image;
}
我知道 SOF 通常用于在提供代码时提出问题,但我不知道从哪里开始,因为我发现的所有教程在绘制图形之前都需要三角形等,但我的应用程序不需要任何几何图形。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)