上篇 已经介绍了如何配置OpenGL,但缺点是每次新建一个项目时,都应重新安装 “nupengl.core.redist” 与 “nupengl.core” 这两个文件,这在有网的情况下还是可以实现的,但不是一个长久之计。现在介绍另一种方法,用Glut库的一个开源替代品:Freeglut,它是由Pawel W. Olszta在1999年12月创建,最新版本为2015年3月的3.0版本。

1. FreeGlut的获取

    以VS 2017为编程环境,在freeglut Windows Development Libraries上下载MSVC包,点击下载地址Download freeglut 3.0.0 for MSVC进行下载3.0版本,并解压缩。

2. FreeGlut的配置

(1)头文件

    将“E:\下载\freeglut-MSVC-3.0.0-2.mp\freeglut\include\GL”文件夹复制到VS 2017的安装目录“D:\VS2017\VC\Tools\MSVC\14.16.27023\include”下;

(2)库文件

    将“E:\下载\freeglut-MSVC-3.0.0-2.mp\freeglut\lib\freeglut.lib”文件复制到“D:\VS2017\VC\Tools\MSVC\14.16.27023\lib\x86”目录下;

    将“E:\下载\freeglut-MSVC-3.0.0-2.mp\freeglut\lib\x64\freeglut.lib”文件复制到“D:\VS2017\VC\Tools\MSVC\14.16.27023\lib\x64”目录下;

(3)DLL文件

64位Windows系统:
  将“E:\下载\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\freeglut.dll”文件复制到“C:\Windows\SysWOW64”目录下;
  将freeglut\bin\x64\freeglut.dll文件复制到c:\Windows\System32目录下;
32位Windows系统:
  将“E:\下载\freeglut-MSVC-3.0.0-2.mp\freeglut\bin\freeglut.dll”文件复制到“C:\Windows\System32”目录下;

以64位Windows系统为例:

3. 测试案例

#include <GL/glut.h>
void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
    glFlush();
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("第一个OpenGL程序");
    glutDisplayFunc(&myDisplay);
    glutMainLoop();
    return 0;
}

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐