Go上的極簡OpenGL開發筆記(三)

2021-10-24 15:40:28 字數 1671 閱讀 2041

我寫文章做教程看部落格找慕課什麼的都喜歡短而多的,基本一篇就一兩個知識點

庫和常量

600)main函式

func

main()

}

initglfw 初始化gl執行環境

func

initglfw()

*glfw.window

glfw.

windowhint

(glfw.resizable, glfw.false)

glfw.

windowhint

(glfw.contextversionmajor,4)

// or 2

glfw.

windowhint

(glfw.contextversionminor,0)

glfw.

windowhint

(glfw.openglprofile, glfw.openglcoreprofile)

glfw.

windowhint

(glfw.openglforwardcompatible, glfw.true)

window, err := glfw.

createwindow

(width, height,

"conway's game of life"

,nil

,nil

)if err !=

nil window.

makecontextcurrent()

return window

}

initopengl

// initopengl 初始化 opengl 並且返回乙個初始化了的程式。

func

initopengl()

uint32

version := gl.

gostr

(gl.

getstring

(gl.version)

) log.

println

("opengl version"

, version)

prog := gl.

createprogram()

gl.linkprogram

(prog)

return prog

}

draw 使用 program在 window上畫圖

func

draw

(window *glfw.window, program uint32

)

之後的畫圖操作大多新增到 draw函式中

to be continued…

Go上的極簡OpenGL開發筆記(二)

之後的學習過程預設在原有 上修改完成 新增初始化 opengl的函式,列印 version initopengl 初始化 opengl 並且返回乙個初始化了的程式。func initopengl uint32 version gl.gostr gl.getstring gl.version log....

Go上的極簡OpenGL開發筆記(六)

啊這,opengl 這麼不火的麼 加上 go 在中國是不是屬於雙重小眾屬性 首先修改視窗為正方形 const width 800 height 800 資料點更改為正方形四個角 var float32 drawarrays函式更改繪製方式引數 gl.drawarrays gl.fan,0,int32...

簡書專案開發筆記5 immutable的使用

immutable是facebook團隊歷時三年開發的乙個庫,利用immutable生成的物件,內容不可更改,它是不可直接賦值的物件,它可以有效的避免錯誤賦值的問題 設定屬性 import from immutable const initialstate fromjs const reducer ...