// key events are a way to get input from GLFW. // here we check for the escape key being pressed. if it is pressed, // request that the window be closed func keyCallback(w *glfw.Window, key glfw.Key, scancode int, action glfw.Action, mods glfw.ModifierKey) { if key == glfw.KeyEscape && action == glfw.Press { w.SetShouldClose(true) } else if key == glfw.KeyZ && action == glfw.Press { gZoom = 1 gOffX = 0 gOffY = 0 gBlend = 1 } else if key == glfw.KeyUp && (action == glfw.Press || action == glfw.Repeat) { gBlend += 0.05 if gBlend > 1 { gBlend = 1 } } else if key == glfw.KeyDown && (action == glfw.Press || action == glfw.Repeat) { gBlend -= 0.05 if gBlend < 0 { gBlend = 0 } } else if key == glfw.KeyLeftBracket && (action == glfw.Press || action == glfw.Repeat) { gZoom /= 2 } else if key == glfw.KeyRightBracket && (action == glfw.Press || action == glfw.Repeat) { gZoom *= 2 } else if key == glfw.Key1 && (action == glfw.Press || action == glfw.Repeat) { gBlend = 0 } else if key == glfw.Key2 && (action == glfw.Press || action == glfw.Repeat) { gBlend = 1 } else if key == glfw.Key3 && (action == glfw.Press || action == glfw.Repeat) { gBlend = 0.5 } else if key == glfw.KeyH && (action == glfw.Press || action == glfw.Repeat) { gHelp = !gHelp } }