将参数传递到OpenGL显示列表
我想知道是否有任何方法(标准或巧妙的技巧)将参数传递到OpenGL显示列表。让我举个例子来说明我的意思 假设我们有以下代码:将参数传递到OpenGL显示列表,opengl,graphics,displaylist,Opengl,Graphics,Displaylist,我想知道是否有任何方法(标准或巧妙的技巧)将参数传递到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 paramete
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();
GLuint l=glgenlist(1);
glNewList(l,GL_编译);
//…一些OpenGL函数调用
glBindTexture(GL_纹理_2D,一些_纹理);// 是的,绑定的纹理是全局状态,如果绑定一个纹理,然后调用一个显示列表,那么当列表执行时,纹理仍然应该被绑定
但最好停止使用显示列表,使用VAs/VBOs,我推荐它们 是的,绑定的纹理是全局状态,如果绑定一个纹理,然后调用一个显示列表,则在执行列表时纹理仍应绑定
但最好停止使用显示列表,使用VAs/VBOs,我推荐它们 那不行。请务必仔细阅读规范和常见问题解答,尤其是:
德国劳埃德船级社可能被指示处理
特定显示列表(可能
重复)通过提供一个
唯一地指定它。这样做会导致
要删除的列表中的命令
就好像他们被杀了一样
正常地唯一的例外是
到依赖于客户端的命令
国家当执行此命令时
累积到显示列表中
(即在发布时,而不是在发布时)
已执行),有效的客户端状态
此时应用于命令。
16.010为什么显示列表占用这么多内存?OpenGL显示列表
必须将所有数据复制到它
需要重新创建调用序列
这就创造了它
换句话说,如果您计划稍后更改纹理的数据存储,它将不会有任何区别,因为OpenGL保留自己的副本,以确保它可以准确地再现当前状态
让显示列表具有某种可变性的唯一方法是通过嵌套显示技巧,但正如Matias Valdenegro已经建议的那样,如果可以的话,根本不应该使用显示列表。其他功能(如VBO)更灵活,并具有相同或更好的性能。这不起作用。请务必仔细阅读规范和常见问题解答,尤其是:
德国劳埃德船级社可能被指示处理
特定显示列表(可能
重复)通过提供一个
唯一地指定它。这样做会导致
要删除的列表中的命令
就好像他们被杀了一样
正常地唯一的例外是
到依赖于客户端的命令
国家当执行此命令时
累积到显示列表中
(即在发布时,而不是在发布时)
已执行),有效的客户端状态
此时应用于命令。
16.010为什么显示列表占用这么多内存?OpenGL显示列表
必须将所有数据复制到它
需要重新创建调用序列
这就创造了它
换句话说,如果您计划稍后更改纹理的数据存储,它将不会有任何区别,因为OpenGL保留自己的副本,以确保它可以准确地再现当前状态
让显示列表具有某种可变性的唯一方法是通过嵌套显示技巧,但正如Matias Valdenegro已经建议的那样,如果可以的话,根本不应该使用显示列表。其他功能(如VBO)更灵活,具有相同或更好的性能。现在没有人在新代码中使用显示列表。太麻烦了,不能有效地使用。您刚刚遇到了一个特殊的问题。现在没有人在新代码中使用显示列表。太麻烦了,不能有效地使用。你刚刚经历了一个特别的问题。