0

openglコンテキストのサイズを取得する方法はありますか?または、少なくともそのサイズを見積もるには?はいの場合、どのように?


私は、いくつかのウィンドウを作成する過剰なアプリケーションを持っています。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 に答える