Fork me on GitHub

OpenGL配置

@author: zhanjzh

由于计算机图形学课程需要,在网上查找了如何配置OpenGL的教程。由于之前配置过OpenGL的glut版本,这里配置的是带glfw、glew、glm库的OpenGL,使用环境是visual studio 2017。

如果想了解配置glut版本,请查看教程:glut

配置过程

  1. 网上下载glfw、glew、glm的预编译版本,也可以直接选择下载源码下来自己编译,windows下只需使用vs2017自带的cmake编译即可,Linux就更简单了。关于如何使用CMAKE,请自行google。

  2. 这里提供三个库的下载链接,目前链接是有效的,如果出现访问不了的情况,可能需要科学上网: glfwglewglm

    注: 这里glew与glm下载是预编译版本,无需自己编译,但glfw我使用的是下载源码后自行编译,因为下载下来的预编译版本有某些文件对不上。如果想偷懒,可以直接下载我打包完成后的文件:source 密码:6cu7

  3. 配置glut时,是将头文件和库文件直接放在Visual Studio 2017 的安装目录下 (VC\Tools\MSVC\14.13.26128\include\gl && VC\Tools\MSVC\14.13.26128\lib\x86), 但这里我打算直接放在Project下,通过命令引入,头文件可以直接include,至于lib库文件在网上查找到引入命令:

    1
    #pragma comment (lib, "path to libs")

    通过预编译处理可链接当前目录下的lib库。

  4. 在上面下载的三个库中,找出下面对应的文件:

    1. glfw:1526922099031

    2. glm:

      1526922119803

    3. glew:

      1526922170704

    4. 以及与它们相关的lib文件,这里统一列出:

      1526922268708

  5. 然后放在对应文件夹里面,便于管理:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    ├─GL
    │ eglew.h
    │ glew.h
    │ glxew.h
    │ wglew.h

    ├─GLFW
    │ glfw3.h
    │ glfw3native.h

    ├─glm
    │ │ ext.hpp
    │ │ glm.hpp
    │ │
    │ ├─core // 文件夹
    │ │
    │ ├─gtc // 文件夹
    │ │
    │ ├─gtx // 文件夹
    │ │
    │ └─virtrev //文件夹

    └─libs
    glew32.lib
    glew32s.lib
    glfw3.lib
  6. 新建你的project,找到你的源文件(.cpp) 文件目录下,将上述这几个文件夹复制进去,在我的电脑上为:

    1526922637473

  7. 新建solution.h 即上面那个头文件,将下面引用代码放进去:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #pragma once
    #ifndef _SOLUTION_H_
    #define _SOLUTION_H_

    #define GLEW_STATIC
    #include "GL/glew.h"
    #include "GLFW/glfw3.h"
    #include "glm/glm.hpp"
    #include <iostream>
    #pragma comment (lib, "opengl32.lib")
    #pragma comment (lib, "libs/glfw3.lib")
    #pragma comment (lib, "libs/glew32s.lib")

    #endif
  8. 尝试运行测试代码:

    你好,三角形

    注:在代码前面include的时候,记得将solution.h 文件include 进去,并删去多余的include,切记!

运行结果

如果输出结果 为:

1526923214110

则一切正常,配置完成。

author: zhanjzh