go-gl搭建開發環境

來源:互聯網
上載者:User

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版本資訊。


  • 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庫

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 mainimport (    "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之旅了!



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.