1

在游戏开始时我正在加载模型和东西,这需要一些时间,因此在加载时会有一个空白的黑屏。

所以我想做的是将所有模型加载和显示列表创建放在一个线程中,并在另一个线程中进行(渲染)一些加载。现在我了解到 OpenGL 不能很好地处理多线程,并且只能从一个线程调用 OpenGL 命令,我的原始线程解决方案不起作用。两个线程都应该能够调用 OpenGL 命令:渲染和显示列表创建。

有谁知道(熟悉)一个简单的解决方案?与示例的良好链接就可以了。

4

1 回答 1

2

您必须记住解释 GL 命令的模型是客户端-服务器。也就是说,程序(客户端)发出命令,这些命令由 GL(服务器)解释和处理 - (取自规范)。

因此,您可以轻松地从两个线程发送命令 - 这没问题。但是,如果您不知道自己在做什么,那么通过使用多线程,您将打开一个巨大的潜在蠕虫罐。

加载时,我会制作一个加载屏幕并在加载一些资源时对其进行更新。并非所有事情都需要一个超级完美的解决方案——尤其是这样的小事:)

于 2012-04-18T21:54:24.923 回答