go-gl搭建开发环境(一)

栏目: 编程工具 · 发布时间: 6年前

内容简介:Go语言(Golang)是Google在2009年推出的一种编程语言。Golang是一门开源的语言,可以从本文主要介绍使用Golang如何开发OpenGL程序,搭建go-gl的开发环境。使用Golang开发OpenGL程序时,相比较于C/C++少了很多配置的过程,整体来说非常的方便。本文配置的环境可以在

1. 简介

Go语言(Golang)是Google在2009年推出的一种编程语言。Golang是一门开源的语言,可以从 github 上找到它的源码。Golang也是一门跨平台的语言,可以运行在Windows、 Linux 、Mac OS X以及Plan9等操作系统上,更多详细的介绍可以参考Golang的 官方网站

本文主要介绍使用Golang如何开发OpenGL程序,搭建go-gl的开发环境。使用Golang开发OpenGL程序时,相比较于C/C++少了很多配置的过程,整体来说非常的方便。

2. 安装

本文配置的环境可以在 go-gl 这个站点找到,主要包括:

  1. go-glfw :渲染窗口和鼠标键盘等事件处理
  2. go-gl:OpenGL接口的Golang绑定
  3. mathgl:数学计算库
  4. gltext:文字渲染库

安装过程根据操作系统不同略有区别,Mac OS X和Linux只需要从Golang的官网下载最新的安装包安装即可。Windows下稍有不同,由于go-glfw库需要依赖于gcc编译器,但是在Windows系统下并没有,因此需要额外安装其他的工具。

在Windows系统下可以安装 MSYS2 , 经过测试发现: 目前版本的Go-GLFW在64位下编译会出现错误 ,因此只能下载msys2的32位版本,安装32位版本的gcc,同样Golang的版本也只能安装32位的版本,以目前最新版本的Golang为例(Go-1.10),在Windows下需要下载的内容有:

  1. Go 1.10 32位版本: go1.10.windows-386.msi
  2. 32位版本的msys2: msys2-i686-20161025.exe

下载安装完成之后,msys2还需要更新和安装gcc,步骤如下:

  • 打开msys2的命令行工具,输入
pacman -Syu
  • 等待安装完成后,关闭该窗口。再重新打开msys2的命令行,输入
pacman -Su
  • 等待一段时间,更新完成之后,输入
pacman -S mingw-w64-i686-gcc

安装完成后,需要将gcc设置到环境变量PATH中,gcc安装的位置在msys2的安装目录下的mingw32/bin中,配置完成后可以在CMD中查看gcc版本信息。

go-gl搭建开发环境(一)

3. 配置三方库

3.1 GLFW安装

在命令行中输入

go get -u github.com/go-gl/glfw/v3.2/glfw

安装成功之后可以在 GO 的工作目录($GOPATH\pkg\windows_386\github.com\go-gl\glfw\v3.2)下找到已经编译完成的glfw库

go-gl搭建开发环境(一)

3.2 GO-GL安装

go-gl可以选择OpenGL显卡支持的版本来安装,可以安装多个不同版本,在需要的时候引入合适的版本即可,输入

go get -u github.com/go-gl/gl/v4.5-core/gl

等待编译完成后,OpenGL 4.5的Golang库便完成了。

建议编译 v2.1和v3.3-core以及最新版本的v4.6-core三个版本, 这样既可以使用Legecy的OpenGL

API也可以使用最新的OpenGL API

3.3 MathGL安装

在命令行 工具 中输入

go get -u github.com/go-gl/mathgl/...

等待编译完成

3.4 GLTEXT安装

命令行输入

go get github.com/go-gl/gltext

4. 测试

最后通过创建一个简单的glfw的窗口,验证整个安装过程是否成功,代码如下:

新建一个helloglfw.go的文件

package main

import (
    "runtime"
    "github.com/go-gl/glfw/v3.2/glfw"
)

func init() {
    // This is needed to arrange that main() runs on main thread.
    // See documentation for functions that are only allowed to be called from the main thread.
    runtime.LockOSThread()
}

func main() {
    err := glfw.Init()
    if err != nil {
        panic(err)
    }
    defer glfw.Terminate()

    window, err := glfw.CreateWindow(640, 480, "Testing", nil, nil)
    if err != nil {
        panic(err)
    }

    window.MakeContextCurrent()

    for !window.ShouldClose() {
        // Do OpenGL stuff.
        window.SwapBuffers()
        glfw.PollEvents()
    }
}

使用命令行工具切换到该目录下,输入

go build helloglfw.go

如果可以生成一个对应的helloglfw.exe文件,说明整个配置成功了,之后便可以开始Go-gl之旅了!

go-gl搭建开发环境(一)


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

司法的过程

司法的过程

(美)亨利·J.亚伯拉罕 / 泮伟江 宦盛奎 韩阳 / 北京大学出版社 / 2009-07-28 / 58.00元

本书是以比较研究的方法来分析司法哲学的经典文本之一。作者以敏锐的眼光透视了司法过程背后的理论、实践和参与其中的人。比较了美国、英国、法国的具体法院运作,审视了“司法能动主义”和“司法克制主义”之间的争辩。本书第七版的介绍吸收了美国、英国、法国和欧洲法院体系运作中的最新和重要的发展。 目前国内非常关注司法的运作过程、法官的裁判过程,此书的翻译对于这方面的研究很有助益,对于英国和法国法院的介绍填补了国......一起来看看 《司法的过程》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具