我正在学习OpenGL,但我对变量的使用方式感到有些困惑。在用C ++编写的许多示例代码中,变量用作全局变量。但我认为我们不希望在程序中使用太多的全局变量。所以我想知道如何在不违反封装的情况下使用变量?或者我应该使用单例来记录所有变量,例如模型?
答案 0 :(得分:1)
在许多用C ++编写的示例代码中,变量用作全局变量
这听起来像是在阅读使用GLUT框架编写的示例。变量是全局变量是GLUT设计成为简约框架的直接结果,这意味着简单的测试和技术设计。您不应该将GLUT用于严肃的应用程序。
GLUT不是OpenGL的一部分。它是第三方库,在OpenGL方面没有任何要求以任何方式使用它。事实上,强烈建议您不要使用它。
OpenGL本身可以从封装代码中使用就好了。查找使用Qt框架的OpenGL示例。恕我直言,Qt实现OpenGL小部件和上下文封装的方式不是最理想的(直到最近我才遇到严重的限制),但如果你是初学者,你几乎不会注意到这一点。