前回の記事でなんとかOpenGLの環境を用意したものの、golangもほとんど書いたことがないこと以上にOpenGLの勉強が大変です。

現状はグーグル先生に頼りまくって何とか頑張ってる状況。とはいえ、OpenGLはOSやバージョンが違うと実装もコーディングも大きな差になるので、調べながら進めるときはそこには注意が必要。特に古い記事はあまり参考にならなかったりする。

逆にバージョンがあってればC++の記事でも、OpenGLの呼び出す関数名がほぼ同じなので、参考にできる記事はいろいろある。

現在の環境は、OpenGL: 4.1mac OS 10.13.3です。

OpenGL全般

VBOとシェーダーについて

macOSでOpenGLプログラミング
この記事がとてもわかりやすい。言語はC++だが、関数を逐次go-glの関数に読みかえればgo-langでも実装できる。

GPU本来の性能を引き出すWebGL頂点データ作成法
さらにこの記事を読むことで深掘りできます。

プリミティブ

プリミティブ-OpenGLの基本図形
基本図形の指定の仕方を毎回忘れてしまうので。

go-lang+OpenGL

go-gl

go-gl
goのOpenGLラッパー。とはいえこれを読んで役に立つことはあまりなくて結局OpenGLの使い方を調べることになる。

go-glのチュートリアルブログ

OpenGL & Go Tutorial
go-glを用いてライフゲームを作るというもの。基本的なgo-glの使い方はわかる。一方で、描画(シェーダー)は最低限のものしか用いず、これを読んで色をつけたりするのは難しい。

go-glのサンプルプログラム

opengl-samples-golang
多くのサンプルプログラムがあり、go+OpenGLでプログラミングをする際には大変参考になる。

go-colorful

go-colorful
go標準には色を扱うための構造体がなかったので、こちらを利用させてもらってます。

おまけ

花火

海外から絶賛!世界一美しい日本の花火大会
花火のパーティクルをとりあえず作りたい

とりあえず6角形を作ってみた

https://github.com/snowhork/go-opengl-experiment/tree/master/hex
https://gyazo.com/b45c90357f3f1aaaa70f2ed3148bcd1c