OpenGL Viewer Control&渲染上下文

时间:2010-03-31 17:43:04

标签: opengl rendering openglcontext

我已经构建了一个OpenGL Viewer控件,可以简单地将其拖放到Windows窗体上(在设计时)并分配一个OpenGL显示列表(在运行时)。

查看器控件处理导航,显示选项(例如背景颜色)等。它还负责根据需要创建和销毁渲染和设备上下文。

显然,每个查看器控件实例都有自己的设备上下文,即绘制图像的“窗口”。

问题:

  • 每个查看器控件实例应该如何管理渲染上下文?
  • 每个实例应该拥有自己的上下文还是共享全局渲染上下文?

我特别关注这会影响WGL字体创建(wglUseFontBitmaps and wglUseFontOutlines),这需要渲染上下文(无论当前上下文是什么)和设备上下文。

  • 我是否需要为每个渲染/设备上下文组合创建每个WGL字体?

也许我的方法存在缺陷。

1 个答案:

答案 0 :(得分:1)

我会采用每种控制方法的上下文。你必须记住扩展是基于上下文的,所以你必须为你制作的每个扩展绑定它们(我使用glew_MX来处理它)。

此外,您可以跨上下文共享显示列表(只要它们位于相同的gpu上),并且wgl字体创建会创建显示列表,因此您应该没问题。