如何解决Opentk 显示黑屏而不是三角形
我创建了一个简单的应用程序来显示一个三角形,但它只显示黑色窗口。
class Program
{
static void Main(string[] args)
{
GameWindow window = new GameWindow(800,600);
game game = new game(window);
window.Run(1.0/60.0);
}
}
class game
{
GameWindow window = new GameWindow();
public game(GameWindow window)
{
this.window = window;
window.Load += Window_Load;
window.UpdateFrame += Window_UpdateFrame;
window.RenderFrame += Window_RenderFrame;
}
private void Window_RenderFrame(object sender,FrameEventArgs e)
{
GL.ClearColor(Color.CornflowerBlue);
GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
GL.Viewport(0,800,600);
GL.Begin(PrimitiveType.Triangles);
GL.Color3(Color.OrangeRed);
GL.Vertex2(0,0);
GL.Vertex2(1,0);
GL.Vertex2(0,1);
GL.End();
window.SwapBuffers();
}
private void Window_UpdateFrame(object sender,FrameEventArgs e)
{
}
private void Window_Load(object sender,EventArgs e)
{
}
}
解决方法
您不小心创建了 2 个 GameWindow
对象。只需创建一个 GameWindow
:
class Program
{
static void Main(string[] args)
{
GameWindow window = new GameWindow(800,600);
game game = new game(window);
window.Run(1.0 / 60.0);
}
}
class game
{
GameWindow window; // <--- remove: = new GameWindow();
public game(GameWindow window)
{
this.window = window;
window.Load += Window_Load;
window.UpdateFrame += Window_UpdateFrame;
window.RenderFrame += Window_RenderFrame;
}
// [...]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。