0

有没有办法获得opengl上下文的大小?或者至少估计它的大小?如果是,如何?


我在 glut 中有一个应用程序,它创建了几个窗口。由于 glut 不在窗口之间共享 opengl 上下文,所以每个窗口都会创建新的。现在,我正在尝试减少所需的内存,因为它是针对嵌入式系统的。但是如果 opengl 上下文小到可以忽略它,那么我不会看到内存使用量大幅减少。


我发现这个补丁可以使用共享的 opengl 上下文创建窗口:

给 Windows 用户的一个小附录(作者 Misbah Qidwai):我将此子例程添加到 glut_win.c。我使用这个例程来调用 wglSharedLists()

//MQ
/* CENTRY */
GLXContext APIENTRY
glutGetWindowRenderContext(int win)
{
  GLUTwindow *window;

  if (win < 1 || win > __glutWindowListSize) {
    __glutWarning("glutSetWindow attempted on bogus window.");
    return NULL;                                              
  }
  window = __glutWindowList[win - 1];
  if (!window) {
    __glutWarning("glutSetWindow attempted on bogus window.");
    return NULL;                                              
  }
  return window->renderCtx;
}
4

1 回答 1

2

OpenGL 上下文是一个抽象的东西。支持特定上下文的数据量可以小到一个指针,也可以大到几兆字节。上下文本身不是某种数据结构,它只是您的程序和图形系统共享的句柄,以便彼此“知道”对方在说什么。

了解特定配置的唯一方法是对其进行测量。

于 2013-02-11T10:02:50.547 回答