OpenGL开发环境配置:VS2015+glew+glfw

折腾了一段时间,也在网上找了很多资料(有些真的不想吐槽),还是简单小结一下Win8上面,OpenGL的开发环境搭建方法,其实并没有那么复杂。

1. 我的目标环境

环境:VS2015+glew+glfw

2. 下载glew和glfw源码

2.1 下载源码

首先,需要准备glew和glfw库,这样可以直接拿使用;也可以下载glew和glfw的源码,自己编译。这里我选择自己下载编译。

下载地址:

glfw:https://www.glfw.org/download.html (这个太慢了),备份:https://sourceforge.net/projects/glfw/

glew:http://glew.sourceforge.net/ (我是打不开这个),备份:http://sourceforge.mirrorservice.org/g/gl/glew/glew/2.1.0/

2.2 编译

2.2.1 编译glew-2.1.0

下载下来的glew源码如下图所示

使用vs2015打开build/vc12目录下面解决方案文件glew.sln,此时会提示要升级一些项目配置文件,直接确认升级即可。然后直接build即可(可选类型debug或release),一般不会出错,直接就ok了。此时,我们得到了两个lib文件,注意debug模式和release模式得到的文件名不同,这个没有关系,只要后面配置的时候,配置对应名字即可。build成功后,结果如下图所示。

    

2.2.2 编译glfw-3.2.1

glfw-3.2.1的编译分两步,首先需要先使用cmake生成vs2015项目的sln文件,然后再使用vs2015编译出所需的lib文件。

(1)打开cmake,在source code栏选择glfw的源码目录,然后在陈泽民ries栏选择存放编译结果的输出目录,然后点击左下角的configure按钮,选择对应的vs2015版本并确认,最后点击Generate按钮,即可生成对应的vs2015项目相关文件。使用vs2015打开GLFW.sln文件,直接进行编译,即可在src目录下得到所需的glfw3.lib文件(同样分为debug和release版本)。

     

3. 创建第一个OpenGL项目

使用VS2015先创建一个最简单的控制台项目(最经典的Hello World即可),先确保基本运行环境没有问题。

我的项目目录如下,include目录用于存在头文件,libs目录用来存放lib库文件,source用于存在源码目录。接下来,要做两个准备工作:

(1) 把2.2.1中编译好的glew的include目录下面的文件(夹)和2.2.2中glfw源码目录中的include下面的内容拷贝到我们这里的include目录下面;

(2.)把2.21中编译好的lib库文件(以debug为例:glew32d.lib和glew32sd.lib)和2.2.2编译出来的glfw3.lib(同样也是debug类型)拷贝到这里的libs目录下面;

做好了上面的准备工作后,需要在项目里面进行一些配置,把这些头文件和库文件包含进来:

(1)添加头文件包含目录:Configureation Properties → C/C++ → General → Additional Include Directories,在这里添加我们自己他们的include目录的位置

(2)添加依赖库文件的位置

(3)添加依赖库文件的名字,注意,这里不仅添加刚才我们自己编译出来的3个lib库文件,而且还额外添加了一个opengl32.lib,这个库文件已经存在存在于系统的lib库目录中,因此直接在这里添加名字即可。如果不添加这个opengl32.lib文件,在编译时会出现一些找不到符号的错误,网上很多博客只是简单地说明加这个库,并没有把这个关系说清楚,对于完全不懂的人来讲,很难理解这个具体的原因是什么。

此时,所有的准备和配置操作都已经完成。

4. 运行第一个OpenGL程序

这里我直接从其他地方找了一个demo代码:

#include <iostream>  

// GLEW
#define GLEW_STATIC
#include <GL/glew.h>  

// GLFW
#include <GLFW/glfw3.h>  

// Function prototypes
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode);

// Window dimensions
const GLuint WIDTH = 800, HEIGHT = 600;

// The MAIN function, from here we start the application and run the game loop
int main()
{
    std::cout << "Starting GLFW context, OpenGL 3.3" << std::endl;
    // Init GLFW
    glfwInit();
    // Set all the required options for GLFW
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
    glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);

    // Create a GLFWwindow object that we can use for GLFW‘s functions
    GLFWwindow* window = glfwCreateWindow(WIDTH, HEIGHT, "LearnOpenGL", nullptr, nullptr);
    if (window == nullptr)
    {
        std::cout << "Failed to create GLFW window" << std::endl;
        glfwTerminate();
        return -1;
    }
    glfwMakeContextCurrent(window);
    // Set the required callback functions
    glfwSetKeyCallback(window, key_callback);

    // Set this to true so GLEW knows to use a modern approach to retrieving function pointers and extensions
    glewExperimental = GL_TRUE;
    // Initialize GLEW to setup the OpenGL Function pointers
    if (glewInit() != GLEW_OK)
    {
        std::cout << "Failed to initialize GLEW" << std::endl;
        return -1;
    }

    // Define the viewport dimensions
    glViewport(0, 0, WIDTH, HEIGHT);

    // Game loop
    while (!glfwWindowShouldClose(window))
    {
        // Check if any events have been activiated (key pressed, mouse moved etc.) and call corresponding response functions
        glfwPollEvents();

        // Render
        // Clear the colorbuffer
        glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);

        // Swap the screen buffers
        glfwSwapBuffers(window);
    }

    // Terminate GLFW, clearing any resources allocated by GLFW.
    glfwTerminate();
    return 0;
}

// Is called whenever a key is pressed/released via GLFW
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
{
    std::cout << key << std::endl;
    if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
        glfwSetWindowShouldClose(window, GL_TRUE);
}

顺利的话,就可以看到运行结果如下:

原文地址:https://www.cnblogs.com/tsts/p/10508174.html

时间: 2024-11-14 13:01:28

OpenGL开发环境配置:VS2015+glew+glfw的相关文章

(转)VC6.0中OpenGL开发环境配置

首先简单介绍一下OpenGL: OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性.       OpenGL官方网站(英文)    http://www.opengl.org 然后设置编程的一些环境,及其安装必备文件的步骤如下: 第一步:选择一个编译环境 现在Windows系统的主流编译环境有Visual Studio,Broland C++ Builder,Dev-C++等,它们都是支持OpenGL的.但这里我们选择VC++ 6.0作为学习OpenGL的环

计算机图形学-mac系统下Xcode中OpenGL开发环境配置。

mac系统下Xcode中OpenGL开发环境配置. 这学期有计算机图形学的课程,需要用到OpenGL,最近着手开始配置开发环境了,老师上课给的安装包都是基于windows系统的.网上也是windows上配置的教程比较多,Mac版的比较少.我综合了几个教程并自己总结,实践成功.特来分享配置过程.希望能帮到大家! 介绍 OpenGL(Open Graphics Library)是定义了一个跨编程语言,跨平台的编程接口规格的专业的图形程序接口.它用于三维图像(二维亦可),是一个功能强大,与硬件无关,调

OpenGL 开发环境配置:Visual Studio 2017 + GLFW + GLEW

Step1:Visual Studio 2017 Why 开发环境,后面编译GLFW 和 GLEW也要用 How 这里使用的是Visual Studio 2017的 Community 版本,直接官网下载,注册,就可以免费用. 2017版本在安装界面里注意要勾选c++相关选项,否则默认不安装c++组件. 当然,较早版本(2015,2013,2010什么的)也是可以的. Step2:CMake Why 后面几步要用到的东西需要手动编译(用Visual Studio编译),但是下载下来的都是源码,并

OpenGL开发环境配置-Windows/MinGW/Clion/CMake

因为某些原因,不想用过于臃肿的VS了,转而使用常用的jetbrains的CLion,Clion沿袭了jetbrans的优良传统,基本代码提示功能还是比较好的,不过就是对于windows不熟悉cmake(像我这样)的朋友可能不是太友好,经过了2个小时的查资料,终于正常运行了一个简单示例. 下面谈谈如何在Windows下配置这个开发环境. 起始,我是参考了我的前一篇OpenGL+VS开发环境的搭建,实际上除了freeglut重新下载的是MinGW版本之外,其他的文件并无区别,当然为了方便引用,我把所

OpenGL学习进程(2)OpenGL开发环境的搭建

    通过本节,我们来学习一下在Win10 64.VS1013环境下搭建OpenGL的开发环境.     (1)选择一个编译环境: 现在在windows中OpenGL的主流编译工具有Visual Studio,Broland C++ Builder,Dev C++等,我们选择Visual Studio2013作为开发环境.     (2)用到的资源: 我们使用了GLEW,freeglut以及GLTools这三个库.下面是它们的简介: 1)GLEW:   The OpenGL Extension

踏入OpenGL大门 —— VS2015开发环境配置 (详细图文)

转自: https://www.jianshu.com/p/68c314fa9fea?from=groupmessage 眼睛熊 ---------------- 本文 --------------- 注意:笔者是以 Win10 + VS2015 为例 内容:安装CMake.配置freeglut .配置glew 版本:Window10.VS2015.CMake 3.8.0-rc-1.freeglut 3.0.0.glew 2.0.0 目标:使初学者不再为配置OpenGL相关环境苦恼 预热 需要说

VS2015配置OpenGL开发环境

笔者是参照http://in2gpu.com/2014/11/29/setting-opengl-visual-studio-using-nuget/完成的配置.有一点英语基础读者可自行食用. 1.确保自己的电脑连上了网 2.打开VS,新建一个空项目 注意项目路径要有效且不含空格. 3.按下ctrl+shift+A创建一个源文件 4.写上主函数,F5跑一下看有没有问题. 5.没有问题的话,用VS带的NuGet完成openGL的配置. 6.在下方出现的程序包管理器控制台中输入:Install-Pa

VS2010配置OpenGL开发环境

OpenGL(Open Graphics Library)是一个跨编程语言.跨平台的专业图形程序接口.OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应用程序无须考虑其运行环境所在平台与操作系统,在任何一个遵循OpenGL标准的环境下都会产生相同的可视效果. 基于OpenGL标准开发的应用程序运行时需有动态链接库OpenGL32.DLL.Glu32.DLL,这两个文件在安装Windows NT时已自动装载到C:\WINDOWS\SYSTEM32目录

VC 6中配置OpenGL开发环境

2010,2012中配置类似 http://hi.baidu.com/yanzi52351/item/f9a600dffa4caa4ddcf9be1d VC 6中配置OpenGL开发环境 这里,我习惯使用VC 6,就使用它作为开发OpenGL应用的IDE吧. 要在Windows下学习OpenGL,首先就是要配置开发环境,我在这里详细的说明整个配置过程,希望对初学的朋友有所帮助. 第一步:下载OpenGL库 Windows环境下的GLUT下载地址:(大小约为150k) http://downloa