一个简短OpenGL程序的分析
为了更好的理解辅助库,让我们先来看用辅助库编写的一个可能是世界上最短的OpenGL程序吧。清单3-1列出了程序shortest.C源代码。它的输出如图3-2所示。
清单3-1: 世界上最短的OpenGL程序
控制台模式
一个Win32控制台程序运行在文本窗口模式,就像在DOS下运行程序。控制台模式的程序并不限制在文本模式。它也可以创建一个GUI窗口为辅助库的输出。(在以上的程序里试一下调用MessageBox()把窗口句柄参数设置为NULL,你也可以得到一个消息框)一个基于GUI的程序当然也可以根据需要创建一个控制台窗口。辅助库允许你编写控制台程序只需要一个main()函数就可以得到一个输出OpenGL图形的GUI窗口。为了编译这个程序,你还需要设置你的编译器的编译和连接选项为:Win32 console application。
[eryar:为了能在Visual C++中运行OpenGL程序,你需要做以下事项:
1打开VC,新建一个Win32 console application的工程;
2选择菜单上的Project->Sittings,在弹出的对话框中的选择Link选项,在Object/library modules:下面的文本框中的kernel32.lib 之前加入这几个OpenGL库文件:
opengl32.lib glu32.lib glaux.lib ;
3然后再添加一个C文件到这个工程,编译,运行就OK! J ]
S hortest.C并没有什么功能,当你运行它的时候,只创建了一个标准的GUI窗口,它的标题栏是: ” My First OpenGL Program ” 和一个蓝色的背景。然后就是控制台窗口中的 ” Press any key to close the window ” ;GUI窗口并没有对你键盘和鼠标的动作有任何回应,然后就是控制台窗口等待你按下一个键来结束程序。但是它表现并不是很好,当你移动或调整窗口的大小时,它并不重画,如果你用一个窗口盖住它然后再移开,客户区就变黑了。[eryar:我试了一下,它变成了一个白色的窗口了 J ]