最終更新: mikk_ni3_92 2008年09月09日(火) 14:55:14履歴
現在地 >> メニュー >> 基本編09 >> ディスプレイリスト
「ディスプレイリスト」では、一連の「コマンドの呼び出し」をひとまとめて「メモリ」上に蓄える。
「再描画」の際、「メモリ」から「まとめて取り出す」ので、「描画の高速化」ができる。
(※普通の場合は、順次処理をしている)
ディプレイリストはglGenLists()関数で作成する。
そして、「glNewList()関数」と「glEndList()関数」のあいだに「描画内容」を書く
[例]
「glNewList()関数」と「glEndList()関数」の間に記述したメモリに格納する処理が「コンパイル」と呼ばれる。
glNewList()関数の第2引数は
描画には、glCallLists()関数で呼び出す。
サンプルコード >> ディスプレイリスト::まとめコード
「ディスプレイリスト」では、一連の「コマンドの呼び出し」をひとまとめて「メモリ」上に蓄える。
「再描画」の際、「メモリ」から「まとめて取り出す」ので、「描画の高速化」ができる。
(※普通の場合は、順次処理をしている)
ディプレイリストはglGenLists()関数で作成する。
そして、「glNewList()関数」と「glEndList()関数」のあいだに「描画内容」を書く
[例]
GLuint DisplayList; // DisplayList = glGenLists(1);//ディスプレイリストを1つ作成 glNewList(DisplayList,GL_COMPILE); //コンパイルのみ ... //-- 描画内容を記述 --//... glEndList();
「glNewList()関数」と「glEndList()関数」の間に記述したメモリに格納する処理が「コンパイル」と呼ばれる。
glNewList()関数の第2引数は
- GL_COMPILE:コンパイルのみ
- GL_COMPILE_AND_EXECUTE:コンパイルし、さらに実行(レンダリング)する
描画には、glCallLists()関数で呼び出す。
void display() { ... ... glCallList(DisplayList); ... ... } ... ... glDeleteLists(DisplayList, 1); //不要になったら削除可能
サンプルコード >> ディスプレイリスト::まとめコード