`
沙舟狼客
  • 浏览: 157849 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

一、openGL在VisualStudio2010下的环境配置

1、 复制gl文件夹到 D:\vs2010\VC\include
2、 复制dll下的文件到system32下
3、 复制lib下的文件到D:\vs2010\VC\lib下
4、 在VS2010中设置:project>properties>ConfigurationProperties>linker>input>AdditionalDependencies添加opengl32.lib;glu32.lib;glut32.lib;
二、编写一个helloWorld:

//里面包含gl.h和glu.h
#include <GL/glut.h>

void myDisplay(void)
{
	//清除。GL_COLOR_BUFFER_BIT表示清除颜色,glClear函数还可以清除其它的东西,但这里不作介绍
	glClear(GL_COLOR_BUFFER_BIT);
	//glRectf,画一个矩形。四个参数分别表示了位于对角线上的两个点的横、纵坐标。
	glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
	//保证前面的OpenGL命令立即执行(而不是让它们在缓冲区中等待)。其作用跟fflush(stdout)类似。
	glFlush();
}

int main(int argc, char *argv[])
{
	//对glut进行初始化,必须
	glutInit(&argc, argv);

	/*设置显示方式,
	其中glut_rgb表示使用rgb颜色,glut_index表示使用索引颜色,
	glut_single使用单缓冲,glut_double使用双缓冲
	*/
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
	//设置窗口位置
	glutInitWindowPosition(100, 100);
	//设置窗口大小
	glutInitWindowSize(400, 400);
	//创建窗口,参数是标题,但是不被立即显示到屏幕,需要调用glutMainLoop才能看到窗口
	glutCreateWindow("第一个OpenGL程序");
	//设置一个函数,当需要进行画图时,这个函数就会被调用。(这个说法不够准确,但准确的说法可能初学者不太好理解,暂时这样说吧)
	glutDisplayFunc(&myDisplay);
	/*进行一个消息循环。
	(这个可能初学者也不太明白,现在只需要知道这个函数可以显示窗口,
	并且等待窗口关闭后才会返回,这就足够了。)*/
	glutMainLoop();
	return 0;
}
 
1
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics