首页 > 代码库 > 【opengl 学习笔记01】HelloWorld示例
【opengl 学习笔记01】HelloWorld示例
<<OpenGL Programming Guide>>这本书是看了忘,忘了又看,赶脚还是把笔记做一做心里比较踏实,哈哈。
我的主题是,好记性不如烂笔头。
================================================================
glut全称为:OpenGL Utility Toolkit,也就是OpenGL应用工具包,它建立在OpenGL基础之上,方便开发OpenGL的某些功能,比如我们后面要创建的Windows程序,就可以用glut来方便地构建起一个初始化的Windows程序。
glut.h:头文件,复制到D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\gl目录下(需要自己来新建gl目录)
glut.lib,glut32.lib:静态链接库,复制到D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib目录下
glut.dll,glut32.dll:动态链接库,复制到C:\Windows\System32目录下,64位操作系统的,还需要复制到C:\Windows\SysWOW64目录下。
我的主题是,好记性不如烂笔头。
================================================================
1. 下载glut库
glut库地址为:www.opengl.org/resources/libraries/glut/glutdlls37beta.zipglut全称为:OpenGL Utility Toolkit,也就是OpenGL应用工具包,它建立在OpenGL基础之上,方便开发OpenGL的某些功能,比如我们后面要创建的Windows程序,就可以用glut来方便地构建起一个初始化的Windows程序。
2. 安装glut库
为了能使用glut库,我们解压开这个zip包,会发现其中包含如下几个文件,我们需要复制一下以下几个文件:glut.h:头文件,复制到D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\gl目录下(需要自己来新建gl目录)
glut.lib,glut32.lib:静态链接库,复制到D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib目录下
glut.dll,glut32.dll:动态链接库,复制到C:\Windows\System32目录下,64位操作系统的,还需要复制到C:\Windows\SysWOW64目录下。
3.创建工程
创建一个win32应用控制台工程。4.HelloWorld示例
#include <GL/glut.h> void display(void) { glClear (GL_COLOR_BUFFER_BIT); //清除颜色缓冲区 glColor3f (1.0, 1.0, 1.0); //设置绘制的颜色为白色(红,绿,蓝,) glBegin(GL_POLYGON); //标志着一个顶点数据列表的开始,GL_POLYGON表示绘制简单的凸多边形 glVertex3f (0.25, 0.25, 0.0); glVertex3f (0.75, 0.25, 0.0); glVertex3f (0.75, 0.75, 0.0); glVertex3f (0.25, 0.75, 0.0); glEnd(); //标志着一个顶点数据列表的结束 glFlush (); } void init (void) { glClearColor (0.0, 0.0, 0.0, 0.0); //设置窗口将被清除成黑色 glMatrixMode(GL_PROJECTION); //将当前矩阵指定为投影矩阵 glLoadIdentity(); //把当前矩阵设为单位矩阵 glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);//指定绘制图像时使用的坐标系统 glOrtho(Xmin,Xmax,Ymin,Ymax,Zmin,Zmax); } int main(int argc, char** argv) { //初始化gult glutInit(&argc, argv); //指定使用RGBA模式还是颜色索引模式,单缓冲还是双缓冲。 glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); //指定窗口大小(像素为单位) glutInitWindowSize (250, 250); //左上角位置 glutInitWindowPosition (100, 100); //创建窗口,glutMainLoop()之后才会显示 glutCreateWindow ("hello"); //初始化一次 init (); //显示回调函数,当glut确定窗口需要重绘时,回调函数会执行。 //因此场景重绘代码应该放在这里 glutDisplayFunc(display); //启动程序, glutMainLoop(); return 0; }
5.效果图
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。