VS2019简单配置OpenGL环境

因为自己看了之前很多其他大佬的方法发现不是报错就是缺少文件,故写此文章,算是给刚刚接触的人一个帮助,是我的专业老师提供的方案,分享给大家。

VS2019配置OpenGL

有5个文件需要安装(glut.dll, glut32.dll, glut.lib, glut32.lib,glut.h

1)把glut.h复制到x: \Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\gl文件夹中,如果没有gl这个文件夹则可以自己新建一个。(x是你安装VS的盘符号)

2)把解压得到的glut.libglut32.lib放到静态函数库所在文件夹(即与include并排的lib文件夹下)。

3)把解压得到的glut.dllglut32.dll放到操作系统目录下面的system32文件夹内。(典型的位置为:C:\Windows\System32,如果是64位系统:C:\Windows\SysWOW64

(注:如在开发应用程序时用到OpenGL辅助库函数,则还需下载相应动态链接库,包含glaux.dll, glaux.lib, glaux.h,相应步骤同上,在glaux文件夹里面)


第一个OpenGL程序

首先创建工程,其步骤如下:

1)创建一个空项目。

2新建项目完成后,点击上方项目选择管理NuGet程序包

选择浏览,搜索nupengl2个都安装

现在你可以把下面的例子拷贝到工程中去,编译运行。你可以看到一个矩形。


#include <gl/glut.h>

void Initial(void)

{

    glClearColor(1.0f, 1.0f, 1.0f, 1.0f);      //设置窗口背景颜色为白色

    glMatrixMode(GL_PROJECTION);     //设置投影参数

    glLoadIdentity();

    gluOrtho2D(0.0, 200.0, 0.0, 200.0);

}

void Display(void)

{

    glClear(GL_COLOR_BUFFER_BIT);   //用当前背景色填充窗口

    glColor3f(1.0f, 0.0f, 0.0f);            //设置当前的绘图颜色为红色

    glRectf(50.0f, 50.0f, 150.0f, 150.0f);    //绘制一个矩形

    glFlush();                         //清空命令缓冲区,执行OpenGL程序

}

void main(int argc, char* argv[])

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);  //初始化窗口的显示模式

    glutInitWindowSize(400, 400);                  //设置窗口的尺寸

    glutInitWindowPosition(100, 120);               //设置窗口的位置

    glutCreateWindow("矩形");                    //创建一个名为矩形的窗口

    glutDisplayFunc(Display);                     //设置当前窗口的显示回调函数

    Initial();                                    //完成窗口初始化

    glutMainLoop();                             //启动主GLUT事件处理循环

                                                //      return 0;

}


代码解释:

main函数中以glut开头的函数都包含在glut.h中。GLUT库的函数主要执行如处理多窗口绘制、处理回调驱动事件、生成层叠式弹出菜单、绘制位图字体和笔画字体,以及各种窗口管理等任务。

glutInit用来初始化GLUT库并同窗口系统对话协商。

glutInitDisplayMode用来确定所创建窗口的显示模式。参数GLUT_SINGLE 指定单缓存窗口,这也是缺省模式,对应的模式为GLUT_DOUBLE 双缓存窗口。参数GLUT_RGB指定颜色RGBA模式,这也是缺省模式,对应的模式为GLUT_INDEX 颜色索引模式窗口。

glutInitWindowSize 初始化窗口的大小,第一个参数为窗口的宽度,第二个参数为窗口的高度,以像素为单位。

glutInitWindowPosition 设置初始窗口的位置,第一个参数为窗口左上角x的坐标,第二个参数为窗口左上角y的坐标,以像素为单位。屏幕的左上角的坐标为(00),横坐标向右逐渐增加,纵坐标向下逐渐增加。

glutCreateWindow 创建顶层窗口,窗口的名字为扩号中的参数。

glutDisplayFunc 注册当前窗口的显示回调函数。当一个窗口的图像层需要重新绘制时,GLUT将调用该窗口的的显示回调函数。在此例中的mydisplay就是显示回调函数,显示回调函数不带任何参数,它负责整个图像层的绘制。我们的大部分工作将集中在这个函数中。

glutMainLoop进入GLUT事件处理循环。glutMainLoop函数在GLUT程序中最多只能调用一次,它一旦被调用就不再返回,并且调用注册过的回调函数。所以这个函数必须放在注册回调函数的后面,此例中为glutDisplayFunc


  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值