在Visual C++下简易OpenGL环境搭建教程

OpenGl环境搭建容易劝退新手,那就找一条最简单的路

msvc里面有管理NuGet程序包

打开后搜索nupengl,安装下面两个库,在后续编程中就可以直接使用opengl的一些库,而不用配置其他额外的东西

在源文件中创建一个新的Cpp文件

粘贴如下代码,该代码实现了一个小块在屏幕上面的移动,按方向键操控,注释我尽量已经写的详细:

​
#include<Gl/glut.h>



GLfloat xoffset = 0.0f, yoffset = 0.0f;

void display()
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	glColor3f(0, 0, 1);
	glViewport(xoffset, yoffset, 400, 400);   //前面两个变量为偏移量,后面的位置是在窗体的坐标
	glRectf(200,200,240,240);
	glutSwapBuffers(); //交换缓冲区指针或者地址
}

void SpecialKey(GLint key, GLint x, GLint y)  //GLint的原定义为int
{
	if(key==GLUT_KEY_UP)
	{
		yoffset += 10;
	}
	if (key == GLUT_KEY_DOWN)
	{
		yoffset -= 10;
	}
	if (key == GLUT_KEY_LEFT)
	{
		xoffset -= 10;
	}
	if (key == GLUT_KEY_RIGHT)
	{
		xoffset += 10;
	}
	display();
}


//glClear函数的使用

//GL_COLOR_BUFFER_BIT:当前可写的颜色缓冲
//GL_DEPTH_BUFFER_BIT:深度缓冲
//GL_ACCUM_BUFFER_BIT:累计缓冲
//GL_STENCIL_BUFFER_BIT:模板缓冲

int main(int argc,char** argv)
{
	glutInit(&argc,argv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); //第一个参数为双缓冲窗口,第二个参数为颜色模式,GLUT_SINGLE是开启单缓冲模式
		//单缓冲直接在屏幕上面绘图较慢,双缓冲开到缓冲区比较快,最后开启深度缓存,被遮挡像素也在缓存中渲染
	glutCreateWindow("MAXOpenGlTEST");
	glutInitWindowPosition(80, 80);
	glutInitWindowSize(800, 600);

	glClearColor(1, 1, 1, 1);//用白色刷新缓存区
	glMatrixMode(GL_PROJECTION);//对投影矩阵应用随后的矩阵操作
	glLoadIdentity();//重定义单位矩阵
	gluOrtho2D(0, 400, 0, 400); //绘制模型的显示范围

	glutDisplayFunc(&display);
	glutSpecialFunc(&SpecialKey);
	glutMainLoop();

}





​

然后程序直接运行,就可以看到如下画面,可用方向键操控移动:

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值