如何解决我如何在 OpenTK (C#) 中以简约的方式实现 2D 图像?
所以我想要一个 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 举报,一经查实,本站将立刻删除。