GLFW的使用

  • Post author:
  • Post category:其他


  • GLFW是一个专门针对OpenGL的C语言库,它提供了一些渲染物体所需的最低限度的接口。它允许用户创建OpenGL上下文,定义窗口参数以及处理用户输入。
  • GLFW的下载地址:

    http://www.glfw.org/download.html
  • 如果要使用预编译的二进制版本的话,请下载32位的版本而不是64位的。
  • 从源代码编译库可以保证生成的库是兼容你的操作系统和CPU的,而预编译的二进制文件可能会出现兼容问题。


CMake

  • CMake是一个工程文件生成工具。用户可以使用预定义好的CMake脚本,根据自己的选择生成不同IDE的工程文件。
  • 这允许我们从GLFW源码里创建一个Visual Studio 2015工程文件,之后进行编译。
  • CMake的下载网址:

  • CMake需要一个源代码目录和一个存放编译结果的目标文件目录。
  • 在设置完源代码目录和目标目录之后,点击

    Configure(设置)

    按钮,让CMake读取设置和源代码。
  • CMake会显示可选的编译选项用来配置最终生成的库。这里我们使用默认设置,并再次点击

    Configure(设置)

    按钮保存设置。保存之后,点击

    Generate(生成)

    按钮,生成的工程文件会在你的

    build

    文件夹中。


  • build

    文件夹里可以找到

    GLFW.sln

    文件,用Visual Studio 2015打开。因为CMake已经配置好了项目,所以我们直接点击

    Build Solution(生成解决方案)

    按钮,然后编译的库

    glfw3.lib

    (注意我们用的是第3版)就会出现在

    src/Debug

    文件夹内。
  • 库生成完毕之后,我们需要让IDE知道库和头文件的位置。有两种方法:
  • (1)找到IDE或者编译器的

    /lib



    /include

    文件夹,添加GLFW的

    include

    文件夹里的文件到IDE的

    /include

    文件夹里去。用类似的方法,将

    glfw3.lib

    添加到

    /lib

    文件夹里去。
  • (2)推荐的方式是建立一个新的目录包含所有的第三方库文件和头文件,并且在你的IDE或编译器中指定这些文件夹。我个人会使用一个单独的文件夹,里面包含

    Libs



    Include

    文件夹,在这里存放OpenGL工程用到的所有第三方库和头文件。


创建一个工程

  • 打开Visual Studio,创建一个新的项目,选择Visual C++,然后选择

    Empty Project(空项目)。
  • 我们需要把GLFW库链接(Link)进工程。这可以通过在链接器的设置里指定我们要使用

    glfw3.lib

    来完成。
  • 要添加这些目录(需要VS搜索库和include文件的地方),我们首先进入Project Properties(工程属性,在解决方案窗口里右键项目),然后选择

    VC++ Directories(VC++ 目录)

    选项卡(如下图)。在下面的两栏添加目录:
  • 只要你将GLFW的

    Include

    文件夹加进路径中,你就可以使用

    <GLFW/..>

    来引用头文件。
  • 最后需要在

    Linker(链接器)

    选项卡里的

    Input(输入)

    选项卡里添加

    glfw3.lib

    这个文件:
  • 库名字是

    glfw3.lib

    ,我们把它加到

    Additional Dependencies(附加依赖项)

    字段中(手动或者使用选项都可以)。


Windows上的OpenGL库

  • 如果你是Windows平台,

    opengl32.lib

    已经包含在Microsoft SDK里了,它在Visual Studio安装的时候就默认安装了。由于这篇教程用的是VS编译器,并且是在Windows操作系统上,我们只需将

    opengl32.lib

    添加进连接器设置里就行了。


Linux上的OpenGL库

  • 在Linux下你需要链接

    libGL.so

    库文件,这需要添加

    -lGL

    到你的链接器设置中。


GLAD

  • 开发者需要在运行时获取函数地址并将其保存在一个函数指针中供以后使用。取得地址的方法

    因平台而异

    ,在Windows上会是类似这样。
  • GLAD的配置与大多数的开源库有些许的不同,GLAD使用了一个

    在线服务

    。在这里我们能够告诉GLAD需要定义的OpenGL版本,并且根据这个版本加载所有相关的OpenGL函数。
  • 打开GLAD的

    在线服务

    ,将语言(Language)设置为

    C/C++

    ,在API选项中,选择

    3.3

    以上的OpenGL(gl)版本(我们的教程中将使用3.3版本,但更新的版本也能正常工作)。之后将模式(Profile)设置为

    Core

    ,并且保证

    生成加载器

    (Generate a loader)的选项是选中的。现在可以先(暂时)忽略拓展(Extensions)中的内容。都选择完之后,点击

    生成

    (Generate)按钮来生成库文件。
  • GLAD现在应该提供给你了一个zip压缩文件,包含两个头文件目录,和一个

    glad.c

    文件。将两个头文件目录(

    glad



    KHR

    )复制到你的

    Include

    文件夹中(或者增加一个额外的项目指向这些目录),并添加

    glad.c

    文件到你的工程中。


参考网址:

GLFW官方的配置GLFW窗口的指南:

http://www.glfw.org/docs/latest/window_guide.html

提供了很多编译或链接相关的信息和一大列错误及对应的解决方案:

http://www.opengl-tutorial.org/miscellaneous/building-your-own-c-application/

使用Code::Blocks IDE编译GLFW:

http://wiki.codeblocks.org/index.php?title=Using_GLFW_with_Code::Blocks

简要的介绍如何在Windows和Linux上使用CMake:



版权声明:本文为LYKymy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。