本文整理汇总了Golang中github.com/go-gl/glfw3.SetErrorCallback函数的典型用法代码示例。如果您正苦于以下问题:Golang SetErrorCallback函数的具体用法?Golang SetErrorCallback怎么用?Golang SetErrorCallback使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了SetErrorCallback函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
glfw.SetErrorCallback(errorCallback)
if !glfw.Init() {
panic("Can't init glfw")
}
defer glfw.Terminate()
window, err := glfw.CreateWindow(640, 480, "Testing", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
window.SetSizeCallback(copiedReshape)
window.SetKeyCallback(keyHandler)
copiedInit()
running := true
for running && !window.ShouldClose() {
//copiedDrawCube(angle)
redraw()
window.SwapBuffers()
glfw.PollEvents()
running = window.GetKey(glfw.KeyEscape) == glfw.Release
}
}
示例2: main
func main() {
glfw.SetErrorCallback(glfwErrorCallback)
if !glfw.Init() {
panic("failed to initialize glfw")
}
defer glfw.Terminate()
glfw.WindowHint(glfw.Resizable, glfw.False)
glfw.WindowHint(glfw.ContextVersionMajor, 2)
glfw.WindowHint(glfw.ContextVersionMinor, 1)
window, err := glfw.CreateWindow(800, 600, "Cube", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
if err := gl.Init(); err != nil {
panic(err)
}
texture = newTexture("square.png")
defer gl.DeleteTextures(1, &texture)
setupScene()
for !window.ShouldClose() {
drawScene()
window.SwapBuffers()
glfw.PollEvents()
}
}
示例3: main
func main() {
glfw.SetErrorCallback(glfwError)
if !glfw.Init() {
log.Printf("Unable to initializer glfw")
return
}
defer glfw.Terminate()
window, err := glfw.CreateWindow(Width, Height, Title, nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
window.SetSizeCallback(fixProjection)
err = initGL()
if err != nil {
log.Printf("Error initializing OpenGL. %v", err)
panic(err)
}
glfw.SwapInterval(1)
fixProjection(window, Width, Height)
meshBuff := createMeshBuffer()
for !window.ShouldClose() {
timeDelta.Tick()
log.Printf("Time: %v", timeDelta.Delta)
window.SwapBuffers()
glfw.PollEvents()
}
}
示例4: main
func main() {
glfw.SetErrorCallback(errorCallback)
if !glfw.Init() {
panic("Can't init glfw!")
}
defer glfw.Terminate()
window, err := glfw.CreateWindow(Width, Height, Title, nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
glfw.SwapInterval(1)
gl.Init()
if err := initScene(); err != nil {
fmt.Fprintf(os.Stderr, "init: %s\n", err)
return
}
defer destroyScene()
for !window.ShouldClose() {
drawScene()
window.SwapBuffers()
glfw.PollEvents()
}
}
示例5: Initialize
// Initialize creates new window
func (e *E) Initialize(title string, params Params, state State) error {
if !glfw3.Init() {
return fmt.Errorf("unable to initialize glfw")
}
if e.window != nil {
return fmt.Errorf("Initialize error: window is not nil")
}
glfw3.SetErrorCallback(OnError)
glfw3.WindowHint(glfw3.Resizable, glfw3.True)
glfw3.WindowHint(glfw3.ContextVersionMajor, params.Version[0])
glfw3.WindowHint(glfw3.ContextVersionMinor, params.Version[1])
glfw3.WindowHint(glfw3.OpenglProfile, glfw3.OpenglCoreProfile)
glfw3.WindowHint(glfw3.OpenglDebugContext, glfw3.True)
size := params.Size
window, err := glfw3.CreateWindow(size[0], size[1], title, nil, nil)
if err != nil {
return err
}
window.MakeContextCurrent()
window.SetKeyCallback(e.OnKey)
window.SetFramebufferSizeCallback(e.OnFramebufferResize)
e.window = window
e.state = state
return nil
}
示例6: New
// Returns a new `CtxProvider` for GLFW 3.x.
func New() ngctx.CtxProvider {
me := &context{}
me.lastErr.code = -1
glfw.SetErrorCallback(func(err glfw.ErrorCode, desc string) {
me.lastErr.code, me.lastErr.msg = err, desc
})
return me
}
示例7: Open
func (self *OpenGLWindow) Open() {
var err error
if !glfw.Init() {
panic(errors.New("Unable to initialize GLFW"))
}
glfw.SetErrorCallback(func(code glfw.ErrorCode, desc string) {
log.Printf("[GLFW Error] (%d) %s", code, desc)
})
var monitor *glfw.Monitor
if self.config.Fullscreen {
monitor, err = glfw.GetPrimaryMonitor()
if err != nil {
panic(err)
}
}
glfw.WindowHint(glfw.ContextVersionMajor, 4)
glfw.WindowHint(glfw.ContextVersionMinor, 1)
glfw.WindowHint(glfw.OpenglProfile, glfw.OpenglCoreProfile)
glfw.WindowHint(glfw.OpenglForwardCompatible, glfw.True)
// Default buffer sizes
glfw.WindowHint(glfw.DepthBits, 32)
glfw.WindowHint(glfw.StencilBits, 0)
// Toggle VSync. Turning VSync off aparently doesn't work via glfw through
// some ATI cards and drivers
if self.config.VSync {
glfw.SwapInterval(1)
} else {
glfw.SwapInterval(0)
}
self.window, err = glfw.CreateWindow(
int(self.config.Width), int(self.config.Height),
"Project Slartibartfast",
monitor,
nil)
if err != nil {
panic(err)
}
self.window.MakeContextCurrent()
if glewError := gl.Init(); glewError != 0 {
panic(errors.New("Unable to initialize OpenGL"))
}
}
示例8: setupGlfw
func setupGlfw() {
glfw.SetErrorCallback(onGlfwError)
glfw.WindowHint(glfw.Resizable, 1)
glfw.WindowHint(glfw.Visible, 1)
glfw.WindowHint(glfw.ClientApi, glfw.OpenglApi)
glfw.WindowHint(glfw.OpenglForwardCompatible, 1)
glfw.WindowHint(glfw.ContextVersionMajor, 3)
glfw.WindowHint(glfw.ContextVersionMinor, 2)
glfw.WindowHint(glfw.OpenglProfile, glfw.OpenglCoreProfile)
glfw.WindowHint(glfw.OpenglDebugContext, 1)
}
示例9: main
func main() {
runtime.LockOSThread()
glfw.SetErrorCallback(errorCallback)
if !glfw.Init() {
panic("can't init glfw!")
}
defer glfw.Terminate()
var window *glfw.Window = initGame()
runGameLoop(window)
fmt.Printf("Your highscore was %d points!\n", highscore)
}
示例10: Init
// Init initializes a glfw.Window to be used in a xorg Gorgasm
// application. It has to be called after the GLFW initialization
// boilerplate. See
// https://github.com/remogatto/gorgasm-examples/triangle/src/triangle/main.go
// for an example.
func Init(window *glfw.Window) {
glfw.SetErrorCallback(errorCallback)
// Set callbacks associated with window events
window.SetCloseCallback(exitCallback)
window.SetMouseButtonCallback(mouseButtonCallback)
window.SetCursorPositionCallback(cursorPositionCallback)
// Begin sending events related to the creation process
event <- CreateEvent{}
event <- StartEvent{}
event <- ResumeEvent{}
event <- NativeWindowCreatedEvent{Window: window}
}
示例11: NewWindow
//NewWindow creates and return a new Window
func NewWindow(b RenderBackend, w, h int, title string) *Window {
glfw.SetErrorCallback(errorCallback)
if !glfw.Init() {
panic("Can't init glfw!")
}
window, err := glfw.CreateWindow(w, h, title, nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
b.Init(w, h)
setupGL(w, h)
return &Window{window, b, gs.NewRootElement()}
}
示例12: main
func main() {
runtime.LockOSThread()
glfw.SetErrorCallback(errorCallback)
if !glfw.Init() {
panic("Can't init glfw!")
}
defer glfw.Terminate()
// must be done in main thread or we get a nasty stderr message from glfw,
// although it does seem to 'work'
window, err := glfw.CreateWindow(Width, Height, Title, nil, nil)
if err != nil {
panic(err)
}
// separate thread for drawing so that we don't block on the event thread.
// most obvious benefit is that we continue to render during window
// resizes.
go func() {
runtime.LockOSThread()
window.MakeContextCurrent()
glfw.SwapInterval(1)
gl.Init()
if err := initScene(); err != nil {
fmt.Fprintf(os.Stderr, "init: %s\n", err)
return
}
for !window.ShouldClose() {
drawScene()
window.SwapBuffers()
}
os.Exit(0)
}()
for {
glfw.WaitEvents()
}
}
示例13: init
func (a *Application) init() {
glfw.SetErrorCallback(a.glfwError)
if !glfw.Init() {
os.Exit(1)
}
a.Width = 1280
a.Height = 720
a.Title = filepath.Base(os.Args[0])
// For now, force a fixed size window. bgfx currently breaks glfw
// events on OS X because it overrides the NSWindow's content view.
glfw.WindowHint(glfw.Resizable, 0)
var err error
a.window, err = glfw.CreateWindow(a.Width, a.Height, a.Title, nil, nil)
if err != nil {
log.Fatalln(err)
}
bgfx_glfw.SetWindow(a.window)
}
示例14: main
func main() {
glfw.SetErrorCallback(errorCallback)
if !glfw.Init() {
panic("Can't init glfw!")
}
defer glfw.Terminate()
window, err := glfw.CreateWindow(640, 480, "Testing", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
for !window.ShouldClose() {
//Do OpenGL stuff
window.SwapBuffers()
glfw.PollEvents()
}
}
示例15: main
func main() {
flag.Parse()
glfw.SetErrorCallback(errorCallback)
if !glfw.Init() {
println("glfw init failure")
}
defer glfw.Terminate()
glfw.WindowHint(glfw.ClientApi, glfw.OpenglEsApi)
glfw.WindowHint(glfw.ContextVersionMajor, 2)
glfw.WindowHint(glfw.ContextVersionMinor, 0)
window, err := glfw.CreateWindow(Width, Height, Title, nil, nil)
if err != nil {
panic(err)
}
defer window.Destroy()
window.MakeContextCurrent()
glfw.SwapInterval(1)
window.SetSizeCallback(reshape)
window.SetKeyCallback(keyEvent)
gl.Viewport(0, 0, Width, Height)
initScene()
if *debug {
go func() {
tick := time.Tick(1 * time.Second)
for {
<-tick
fmt.Printf("FPS:%v\tGOROUTINE:%v\r", atomic.LoadUint64(fps), runtime.NumGoroutine())
atomic.StoreUint64(fps, 0)
}
}()
}
for !window.ShouldClose() {
drawScene()
window.SwapBuffers()
glfw.PollEvents()
atomic.AddUint64(fps, 1)
}
}