2013-03-05 56 views
1

我正在学习OpenGL,但我对如何使用变量的方式有些困惑。在用C++编写的许多示例代码中,变量被用作全局变量。但我认为我们不希望在程序中使用太多的全局变量。所以我想知道如何在不违反封装的情况下使用变量?或者我应该使用单例记录所有变量,例如模型?我应该如何在OpenGL中使用变量而不违反封装

+2

示例代码的意思就是:例子。除非它们是良好编程实践的例子,否则示例通常不会花费时间来展示良好的编程实践,特别是如果这样做只会使代码复杂化。所以,请举例说明它们的功能:显示功能如何工作。这是您作为程序员的工作,以了解该功能如何工作,然后将其整合到您正在编写的任何应用程序中,并以任何您认为是良好实践的方式提供服务。 – 2013-03-05 03:21:41

+0

谢谢你的建议。 @NicolBolas – Timothy 2013-03-05 07:39:37

回答

1

在用C++编写大量的实例代码,变量作为全局变量

这听起来像你正在阅读使用GLUT框架编写的例子。变量是全局性的,GLUTs设计是一个简约框架的直接结果,这个框架适用于简单的测试和techdemos。您不应该将GLUT用于严重的应用程序。

GLUT不是OpenGL的一部分。这是一个第三方库,当涉及到OpenGL时,不需要以任何方式使用它。实际上,强烈建议您不要使用它。

OpenGL本身可以从封装代码中使用就好。查找使用Qt框架的OpenGL示例。恕我直言,Qt实现OpenGL小部件和上下文封装的方式并不理想(最近我遇到了严重的限制),但如果您是初学者,您几乎不会注意到这一点。

+0

我明白了。这些天我正在阅读使用GLUT的示例,并且我曾认为GLUT是库OpenGL的一部分。在大多数例子中,变量是全局变量,而其他变量是硬编码的。非常感谢您的帮助。我将尝试使用opengl阅读一些示例。 – Timothy 2013-03-06 02:01:53

相关问题