44 lines
749 B
Go
44 lines
749 B
Go
package main
|
|
|
|
import (
|
|
"runtime"
|
|
|
|
"github.com/go-gl/glfw/v3.2/glfw"
|
|
)
|
|
|
|
const (
|
|
width = 500
|
|
height = 500
|
|
)
|
|
|
|
func main() {
|
|
runtime.LockOSThread()
|
|
|
|
window := initGlfw()
|
|
defer glfw.Terminate()
|
|
|
|
for !window.ShouldClose() {
|
|
// TODO
|
|
}
|
|
}
|
|
|
|
func initGlfw() *glfw.Window {
|
|
if err := glfw.Init(); err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
glfw.WindowHint(glfw.Resizable, glfw.False)
|
|
glfw.WindowHint(glfw.ContextVersionMajor, 4)
|
|
glfw.WindowHint(glfw.ContextVersionMinor, 1)
|
|
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 {
|
|
panic(err)
|
|
}
|
|
window.MakeContextCurrent()
|
|
|
|
return window
|
|
}
|