tl;dr go-gl は Go の OpenGL バインディングです。 Windows などのデスクトップ環境に対応しています。実装は単純に C の関数を Cgo を使って呼ぶだけです。が、 Cgo には後述するような問題があり、現在のところ必要悪とみなされています。 ところで Windows では、 DLL からの関数ポインタ取得および syscall.Syscall などの関数を使うことで、一切 Cgo を使わずに C 関数を利用することができます。自分はこの修正を提案し、無事アクセプトされました。現在 PR がレビュー中です。 提案の詳細は Design Doc にまとめています。本記事はこの提案のざっくりとした和訳および補足説明です。 背景 OpenGL は C の関数セットであるため、 Go と OpenGL のバインドに Cgo が使われています。しかしながら Cgo には以