package render import ( "context" "github.com/Zyko0/go-sdl3/sdl" "github.com/spf13/pflag" ) var ( vsync = pflag.Int("vsync", 0, "vsync value (0 disabled, 1 every, 2 double, -1 adaptive)") ) func Init() (*sdl.Window, *sdl.Renderer, context.CancelFunc, error) { if err := sdl.Init(sdl.INIT_VIDEO); err != nil { return nil, nil, nil, err } window, renderer, err := sdl.CreateWindowAndRenderer("ponger", 500, 500, 0) if err != nil { return nil, nil, nil, err } err = window.SetRelativeMouseMode(true) if err != nil { return nil, nil, nil, err } renderer.SetVSync(int32(*vsync)) return window, renderer, func() { window.Destroy() renderer.Destroy() }, nil }