OpenGL上下文的大小

时间:2013-02-11 08:18:20

标签: linux opengl

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


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


我找到this patch来创建具有共享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;
}

1 个答案:

答案 0 :(得分:2)

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

在特定配置中了解的唯一方法是测量它。