OpenGL でのネストされた表示リストの削除に関して質問があります。表示リストは、次の方法で簡単に作成できます。
GLuint myList = glGenLists(1);
glNewList(myList, GL_COMPILE);
// ...code for objects in list...
glEndList();
私が間違っていなければ、そのようなリストは次の方法で簡単に削除できます。
glDeleteLists(myList, 1);
各リストに別の表示リストや複数の表示リストが含まれるように、表示リストをネストすることもできるようになりました。コードは次の形式になります。
GLuint parentList = glGenLists(1); // ID = 1
glNewList(parentList , GL_COMPILE);
GLuint childList1 = glGenLists(1); // ID = 2
glNewList(childList1 , GL_COMPILE);
// .. code for some objects here
glEndList();
GLuint childList2 = glGenLists(1); // ID = 3
glNewList(childList2, GL_COMPILE);
// .. code for more objects here
glEndList();
glEndList();
しかし、私の質問は、そのようなネストされたリストを削除するにはどうすればよいですか? 親だけを glDeleteList(.) するだけで十分ですか、それともその子も個別に削除する必要がありますか? 後者の場合: 順序は重要ですか?