将参数传递给OpenGL显示列表

| 我想知道是否有任何方法(标准或巧妙的技巧)将参数传递给OpenGL显示列表。让我举一个例子来阐明我的意思。 假设我们有以下代码:
GLuint l = glGenLists(1);
glNewList(l, GL_COMPILE);
  // ...some OpenGL function calls
  glBindTexture(GL_TEXTURE_2D, some_texture); // <-- here, I want `some_texture\' to be a parameter that I can set when calling the display list
  //...some more stuff...
glEndList();
有没有办法实现我想要的?     
已邀请:
好吧,是的,绑定纹理是全局状态,如果您绑定纹理然后调用显示列表,则在执行列表时仍应绑定纹理。 但是最好停止使用显示列表,而使用VA / VBO,我推荐他们!     
那行不通。请务必仔细阅读规范和FAQ,尤其是:   可以指示GL处理   特定的显示列表(可能   重复)通过提供一个数字   唯一地指定它。这样做的原因   列表中的命令是   就像被给予一样执行   一般。唯一的例外是   依赖于客户端的命令   州。当这样的命令是   累积到显示列表中   (即发布时,而不是发布时   执行),客户端状态有效   当时适用于该命令。      16.010为什么显示列表占用这么多内存? OpenGL显示清单   必须复制所有数据   需要重新创建通话顺序   创造了它。 换句话说,如果您计划以后更改纹理的数据存储,则不会有任何区别,因为OpenGL会保留自己的副本以确保它可以精确地复制当前状态。 使显示列表具有某种可变性的唯一方法是通过嵌套显示技巧,但是正如Matias Valdenegro所建议的那样,如果可以帮助,则根本不要使用显示列表。其他功能(例如VBO)更灵活,并且具有相同或更好的性能。     

要回复问题请先登录注册