-1

私は次のようなファイル構造を持っています

  • display_list.hpp
  • display_list.cpp
  • file1.cpp

ここで、file1.cpp の表示リストの 1 つを使用したいと考えています。

私のようにdisplay_list.hpp見える

extern GLuint index;
void genDisplayList();

その後、次のようにdisplay_list.cpp見えます

GLuint index = glGenLists(1);
void genDisplayList(){
    glNewList(index, GL_COMPILE);
    glBegin(GL_POLYGON);
    /*..vertex for polygon...*/
    glEnd();
    glEndList();
}

しかしglCallList(index)、file1.cpp に使用しようとすると、画面に何も描画されません。

4

1 に答える 1

1

a) 表示リストは使用しないでください。表示リストは OpenGL-2 で廃止され (OpenGL-2 の最初のドラフトでは完全に削除されました)、OpenGL-3 以降から削除されました。

b) 表示リストを作成するには、有効な OpenGL コンテキストが現在のスレッドでアクティブになっている必要があります。genDisplayListsたとえば、グローバルスコープオブジェクトインスタンスのコンストラクターによって呼び出された場合など、OpenGL コンテキストが存在する前に呼び出していると思います。

于 2014-10-03T12:11:19.717 に答える