【发布时间】:2011-09-14 10:31:24
【问题描述】:
我有这行代码:
renderableObject.renderObject(gl, glu);
这会导致 openGL 渲染大量对象,但它仅在如下使用时才有效:
@Override
public void display(GLAutoDrawable drawable)
{
renderableObject.renderObject(gl, glu);
}
如果我在覆盖的显示方法之外调用该行,我会得到一个异常,说当前线程上没有 glContext,实际上如果我在这个方法之外调用任何 gl draw 命令,我会得到相同的异常
现在理想情况下,我想一次创建很多显示列表,然后在每一帧渲染它们,并定期重新创建奇数显示列表。但是我必须通过这个单一的 display() 方法,这意味着如果显示列表已创建,或者需要更改等,我必须测试每一帧......每秒 60 次!当我可以在需要时单独处理一次时,这是多么浪费处理能力。
所以无论调用 display() 方法做什么,我都希望能够复制它,允许我创建大量我自己的自定义显示方法,而无需通过这个方法来处理所有事情!
那么我可以自己做一个简单的 gl 调用吗?
【问题讨论】: