显示列表是不可变的;创建后就无法更改它们。这就是他们的重点。
如果要将几何图形内置到可以在矩阵定义的位置渲染的显示列表中,则只需将矩阵命令不放在显示列表中即可。只需将绘图内容放入显示列表即可。当您要渲染该几何图形时,请进行设置工作(包括矩阵工作),然后执行显示列表。
您当前的代码如下所示:
//Every frame
glRotatef(...);
glTranslatef(...);
///More setup work.
glBegin(...);
glVertex/TexCoord/Color/etc(...);
...
glEnd();
Run Code Online (Sandbox Code Playgroud)
您基于显示列表的代码应如下所示:
//Initialization. Done once.
glBeginList(...);
glBegin(...);
glVertex/TexCoord/Color/etc(...);
...
glEnd();
glEndList();
//Every frame
glRotatef(...);
glTranslatef(...);
...
glCallList(...);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
631 次 |
最近记录: |