说明如下:
这个书就是著名的opengl蓝宝书,中文第四版,英文已经出到第五版,但是第五版的中文翻译版还没有。
运行环境是Mac系统的10.7,就是狮子版本,Xcode是4.2。
本书的支持网站:http://www.starstonesoftware.com/OpenGL/fourthEdition.htm
在上面的网址下载为Mac准备的源代码。
解开。在目录SB-MacwBin\examples\projects\apple\下面可以看到各个章节的源代码,我们第一个分析的代码是在第二章下面的simple下面。第一章的例子对于刚学的人太深了,不建议先看。
打开simple下面的工程,首先做更改如下:
不然不能编译
然后我们需要分析的代码在simple.cpp中,
代码如下:
///////////////////////////////////////////////////////////
// Called to draw scene
void RenderScene(void)
{
// Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT);
// Flush drawing commands
glFlush();
}
///////////////////////////////////////////////////////////
// Setup the rendering state
void SetupRC(void)
{
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
}
///////////////////////////////////////////////////////////
// Main program entry point
int main(int argc,
char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE
| GLUT_RGBA);
glutCreateWindow("Simple");
glutDisplayFunc(RenderScene);
SetupRC();
glutMainLoop();
return 0;
}
首先要做的是调用函数glutInit()。
VoidglutInit(int*argc,char**argv);
参数:
Argc:一个指针,指向从main()函数传递过来的没更改的argc变量。
Argv:一个指针,指向从main()函数传递过来的没更改的argv变量。
glut开头的函数是输入和窗口函数,并不是OpenGL核心库一部分,由于OpenGL是跨平台的API,只是图像硬件的软件接口,所以任何系统相关的东西,比如窗口,菜单等等都不是OpenGL的核心部分,它们都被放在OpenGL实用工具集(OpenGl Utility ToolKit,GLUT)中。
glutInit应该在所有glut和OpenGL函数之前调用,进行初始化的工作。
glutInitDisplayMode函数功能:设置初始显示模式。
函数原型:void glutInitDisplayMode(unsigned int mode);
这里对这个不过多分析。
glutCreateWindow创建一个缺省大小的窗口300*300;
glutDisplayFunc是用来注册回调函数的。
glClear(GL_COLOR_BUFFER_BIT);用来设置一种颜色,用来刷新窗口。
glFlush函数用来执行所有已经设定的opengl命令。
glClearColor用来刷新的颜色。
glutMainLoop使程序一直运行,知道进程退出。
分享到:
相关推荐
opengl 超级宝典 第五版 源代码 opengl 超级宝典 第五版 源代码 opengl 超级宝典 第五版 源代码
OpenGL超级宝典示例代码,都是自己打的,比较详细。只做了前面13章,可以执行,是初学OpenGL的好资料。
openGL超级宝典(第四版)及代码 电子书
OpenGL超级宝典 笔记21 相关代码 用存储区块来传递变换矩阵
opengl 超级宝典 第二版的 源代码
OpenGL超级宝典第五版的源码。没错是源码啊啊啊啊啊啊啊。
经典OpenGL图形学入门书籍《OpenGL超级宝典英文第五版》及所附完整源码。物有所指!
OPENGL超级宝典 代码 chap1
OpenGL超级宝典第四版源代码及库文件,及工程文件。用于配置OpenGL环境或学习
这个资源在超级宝典源码的的基础上添加了一些中文注释,方便理解每一步的目的与作用
《openGL超级宝典(第四版)及代码》 Comprehensive Tutorial and Reference Richard S. Wright, Jr. Benjamin Lipchak Nicholas Haemel
《OpenGL超级宝典(第4版)》开篇详细讲解OpenGL图形编程的核心技术,覆盖了从空间中进行绘制到几何变换,从光照到纹理贴图等内容。书中讲解了新的OpenGL功能,包括OpenGL 2.1的强大可编程管线、定点和片段着色和...
《openGL超级宝典(第四版)及代码》(OpenGL SuperBible (4th Edition))
由于文件过大,分两次上传,该部分为opengl超级宝典第二版chapter1-10的源码,opengl学习必备材料
openGL超级宝典代码.rar OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。...
VS2010编译可通过,如果有报错查找下环境配置就可以了
OpenGL超级宝典的随书光盘,里面所有例子的代码
《OpenGL超级宝典》各章源代码,可以进行三维场景建模等,有实例
OpenGL 超级宝典(第五版)源代码,从作者主页下载,并分离出C++源代码。