本文整理汇总了Golang中github.com/go-gl/glfw/v3/1/glfw.SwapInterval函数的典型用法代码示例。如果您正苦于以下问题:Golang SwapInterval函数的具体用法?Golang SwapInterval怎么用?Golang SwapInterval使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了SwapInterval函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: SetVSync
func SetVSync(enabled bool) {
vsync = enabled
if vsync {
glfw.SwapInterval(1)
} else {
glfw.SwapInterval(0)
}
}
开发者ID:EtienneBruines,项目名称:engi,代码行数:8,代码来源:engi_glfw.go
示例2: init
func init() {
renderVSync.Callback(func() {
if glfw.GetCurrentContext() == nil {
return
}
if renderVSync.Value() {
glfw.SwapInterval(1)
} else {
glfw.SwapInterval(0)
}
})
}
开发者ID:ammaraskar,项目名称:steven,代码行数:12,代码来源:desktop.go
示例3: Init
func Init() {
runtime.LockOSThread()
err := glfw.Init()
if err != nil {
panic(fmt.Sprintf("glfw.Init() fails: %v", err))
}
glfw.WindowHint(glfw.Visible, glfw.False)
glfw.WindowHint(glfw.Resizable, glfw.False)
// As start, create an window with temporary size to create OpenGL context thread.
window, err := glfw.CreateWindow(16, 16, "", nil, nil)
if err != nil {
panic(err)
}
u := &userInterface{
window: window,
funcs: make(chan func()),
}
go func() {
runtime.LockOSThread()
u.window.MakeContextCurrent()
glfw.SwapInterval(1)
for f := range u.funcs {
f()
}
}()
currentUI = u
}
开发者ID:DrJosh9000,项目名称:ebiten,代码行数:31,代码来源:ui_glfw.go
示例4: main
func main() {
err := glfw.Init()
if err != nil {
panic(err)
}
defer glfw.Terminate()
w, err := glfw.CreateWindow(640, 480, "Testing", nil, nil)
if err != nil {
panic(err)
}
w.MakeContextCurrent()
glfw.SwapInterval(1)
w.SetCharCallback(charCallBack)
if err := gl.Init(); err != nil {
panic(err)
}
setupScene(w)
fmt.Println("Press 'q' to quit")
for !w.ShouldClose() {
// Do OpenGL stuff.
time.Sleep(10 * time.Millisecond)
drawScene(w)
w.SwapBuffers()
glfw.PollEvents()
}
}
开发者ID:rdterner,项目名称:gl,代码行数:32,代码来源:demo.go
示例5: InitGraphics
// InitGraphics creates an OpenGL window and initializes the required graphics libraries.
// It will either succeed or panic.
func (app *ExampleApp) InitGraphics(title string, w int, h int) {
err := glfw.Init()
if err != nil {
panic("Can't init glfw! " + err.Error())
}
// request a OpenGL 3.3 core context
glfw.WindowHint(glfw.Samples, 0)
glfw.WindowHint(glfw.ContextVersionMajor, 3)
glfw.WindowHint(glfw.ContextVersionMinor, 3)
glfw.WindowHint(glfw.OpenGLForwardCompatible, glfw.True)
glfw.WindowHint(glfw.OpenGLProfile, glfw.OpenGLCoreProfile)
// do the actual window creation
app.MainWindow, err = glfw.CreateWindow(w, h, title, nil, nil)
if err != nil {
panic("Failed to create the main window! " + err.Error())
}
app.MainWindow.MakeContextCurrent()
glfw.SwapInterval(0)
// make sure that all of the GL functions are initialized
err = gl.Init()
if err != nil {
panic("Failed to initialize GL! " + err.Error())
}
// set the app window dimensions
app.Width = w
app.Height = h
gl.FrontFace(gl.CCW)
gl.CullFace(gl.BACK)
gl.Enable(gl.CULL_FACE)
}
开发者ID:tbogdala,项目名称:cubez,代码行数:37,代码来源:exampleapp.go
示例6: main
func main() {
err := glfw.Init()
if err != nil {
panic(err)
}
defer glfw.Terminate()
width, height = 800, 800
window, err := glfw.CreateWindow(width, height, "Show RoundedRect", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
window.SetSizeCallback(reshape)
window.SetKeyCallback(onKey)
window.SetCharCallback(onChar)
glfw.SwapInterval(1)
err = gl.Init()
if err != nil {
panic(err)
}
reshape(window, width, height)
for !window.ShouldClose() {
if redraw {
display()
window.SwapBuffers()
redraw = false
}
glfw.PollEvents()
// time.Sleep(2 * time.Second)
}
}
开发者ID:maleck13,项目名称:jigsaws,代码行数:35,代码来源:helloworldgl.go
示例7: main
func main() {
err := glfw.Init()
if err != nil {
panic(err)
}
defer glfw.Terminate()
glfw.WindowHint(glfw.Resizable, glfw.True)
glfw.WindowHint(glfw.ContextVersionMajor, 3)
glfw.WindowHint(glfw.ContextVersionMinor, 3)
window, err := glfw.CreateWindow(640, 480, "Testing", nil, nil)
if err != nil {
panic(err)
}
defer window.Destroy()
window.MakeContextCurrent()
glfw.SwapInterval(1)
window.SetSizeCallback(func(w *glfw.Window, width int, height int) {
fmt.Printf("resize: %d, %d\n", width, height)
gl.Viewport(0, 0, int32(width), int32(height))
})
window.SetCursorPosCallback(func(w *glfw.Window, xpos float64, ypos float64) {
fmt.Printf("mouse: %f, %f\n", xpos, ypos)
})
window.SetFocusCallback(func(w *glfw.Window, focused bool) {
fmt.Printf("focus: %t\n", focused)
})
window.SetKeyCallback(func(w *glfw.Window, key glfw.Key, scancode int, action glfw.Action, mods glfw.ModifierKey) {
if key == glfw.KeyEscape {
window.SetShouldClose(true)
}
fmt.Printf("key\n")
})
window.SetMouseButtonCallback(func(w *glfw.Window, button glfw.MouseButton, action glfw.Action, mod glfw.ModifierKey) {
fmt.Printf("mouse\n")
})
window.SetCharCallback(func(w *glfw.Window, char rune) {
fmt.Printf("char: '%c'\n", char)
})
if err := gl.Init(); err != nil {
panic(err)
}
for !window.ShouldClose() {
draw()
window.SwapBuffers()
glfw.PollEvents()
}
}
开发者ID:PieterD,项目名称:crap,代码行数:54,代码来源:drawdemo.go
示例8: main
func main() {
runtime.LockOSThread()
if err := glfw.Init(); err != nil {
panic(err)
}
defer glfw.Terminate()
window, err := glfw.CreateWindow(800, 600, "fontstash example", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
glfw.SwapInterval(1)
gl.Init()
data, err := ioutil.ReadFile(filepath.Join("..", "ClearSans-Regular.ttf"))
if err != nil {
panic(err)
}
gl.Enable(gl.TEXTURE_2D)
tmpBitmap := make([]byte, 512*512)
cdata, err, _, tmpBitmap := truetype.BakeFontBitmap(data, 0, 32, tmpBitmap, 512, 512, 32, 96)
var ftex uint32
gl.GenTextures(1, &ftex)
gl.BindTexture(gl.TEXTURE_2D, ftex)
gl.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR)
gl.TexParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR)
gl.TexImage2D(gl.TEXTURE_2D, 0, gl.ALPHA, 512, 512, 0,
gl.ALPHA, gl.UNSIGNED_BYTE, unsafe.Pointer(&tmpBitmap[0]))
gl.ClearColor(0.3, 0.3, 0.32, 1.)
for !window.ShouldClose() {
gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, 800, 600, 0, 0, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.Disable(gl.DEPTH_TEST)
gl.Color4ub(255, 255, 255, 255)
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
my_print(100, 100, "The quick brown fox jumps over the fence", ftex, cdata)
window.SwapBuffers()
glfw.PollEvents()
}
}
开发者ID:shibukawa,项目名称:fontstash.go,代码行数:54,代码来源:truetype.go
示例9: createWindow
// createWindow initializes the graphics libraries and creates the main window for the game.
// it pulls the settings for the window from the options structure passed in.
func createWindow(options *Options) (*glfw.Window, error) {
// GLFW must be initialized before it's called
err := glfw.Init()
if err != nil {
return nil, fmt.Errorf("Can't init glfw! %v", err)
}
// request a OpenGL 3.3 core context
glfw.WindowHint(glfw.Samples, 0)
glfw.WindowHint(glfw.ContextVersionMajor, 3)
glfw.WindowHint(glfw.ContextVersionMinor, 3)
glfw.WindowHint(glfw.OpenGLForwardCompatible, glfw.True)
glfw.WindowHint(glfw.OpenGLProfile, glfw.OpenGLCoreProfile)
// do the actual window creation
mainWindow, err := glfw.CreateWindow(options.WindowWidth, options.WindowHeight, appWindowName, nil, nil)
if err != nil {
return nil, fmt.Errorf("Failed to create the main window! %v", err)
}
mainWindow.MakeContextCurrent()
// set vsync options
if options.VSyncEnabled {
glfw.SwapInterval(1)
} else {
glfw.SwapInterval(0)
}
// make sure that all of the GL functions are initialized
err = gl.Init()
if err != nil {
return nil, fmt.Errorf("Can't init gl! %v", err)
}
// write out the gl version for debug purposes
version := gl.GoStr(gl.GetString(gl.VERSION))
groggy.Log("INFO", "OpenGL version ", version)
return mainWindow, nil
}
开发者ID:tbogdala,项目名称:free,代码行数:43,代码来源:graphics.go
示例10: startWindow
func startWindow() {
glfw.WindowHint(glfw.ContextVersionMajor, 3)
glfw.WindowHint(glfw.ContextVersionMinor, 2)
glfw.WindowHint(glfw.OpenGLProfile, glfw.OpenGLCoreProfile)
glfw.WindowHint(glfw.OpenGLForwardCompatible, glfw.True)
glfw.WindowHint(glfw.DepthBits, 32)
glfw.WindowHint(glfw.StencilBits, 0)
if os.Getenv("STEVEN_DEBUG") == "true" {
glfw.WindowHint(glfw.OpenGLDebugContext, glfw.True)
}
var err error
window, err = glfw.CreateWindow(854, 480, "Steven", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
if renderVSync.Value() {
glfw.SwapInterval(1)
} else {
glfw.SwapInterval(0)
}
window.SetCursorPosCallback(onMouseMove)
window.SetMouseButtonCallback(onMouseClick)
window.SetKeyCallback(onKey)
window.SetCharCallback(onChar)
window.SetScrollCallback(onScroll)
window.SetFocusCallback(onFocus)
gl.Init()
start()
for !window.ShouldClose() {
draw()
window.SwapBuffers()
glfw.PollEvents()
}
}
开发者ID:ammaraskar,项目名称:steven,代码行数:40,代码来源:desktop.go
示例11: main
func main() {
runtime.LockOSThread()
// initialize glfw
if err := glfw.Init(); err != nil {
log.Fatalln("Failed to initialize GLFW: ", err)
}
defer glfw.Terminate()
// create window
window, err := glfw.CreateWindow(1280, 720, os.Args[0], nil, nil)
if err != nil {
log.Fatal(err)
}
window.SetFramebufferSizeCallback(onResize)
window.MakeContextCurrent()
if err := gl.Init(); err != nil {
log.Fatal(err)
}
// set up opengl context
onResize(window, 600, 600)
// player = createPlayer()
// addBall()
// set up physics
game = engine.NewGame()
game.Init()
game.ReadLevelFromFile("level.json")
//Init Controlls I think
// glfw.KeyCallback(window)
window.SetKeyCallback(keyCallback)
runtime.LockOSThread()
glfw.SwapInterval(1)
ticker := time.NewTicker(time.Second / 60)
for !window.ShouldClose() {
game.Update(1.0 / 60.0)
draw()
window.SwapBuffers()
glfw.PollEvents()
<-ticker.C // wait up to 1/60th of a second
}
}
开发者ID:jhautefeuille,项目名称:hellochipmunk,代码行数:51,代码来源:main.go
示例12: main
func main() {
runtime.LockOSThread()
// initialize glfw
if err := glfw.Init(); err != nil {
log.Fatalln("Failed to initialize GLFW: ", err)
}
defer glfw.Terminate()
// create window
window, err := glfw.CreateWindow(600, 600, os.Args[0], nil, nil)
if err != nil {
log.Fatal(err)
}
window.SetFramebufferSizeCallback(onResize)
window.MakeContextCurrent()
if err := gl.Init(); err != nil {
log.Fatal(err)
}
// set up opengl context
onResize(window, 600, 600)
// set up physics
createBodies()
runtime.LockOSThread()
glfw.SwapInterval(1)
ticksToNextBall := 10
ticker := time.NewTicker(time.Second / 60)
for !window.ShouldClose() {
ticksToNextBall--
if ticksToNextBall == 0 {
ticksToNextBall = rand.Intn(100) + 1
addBall()
}
draw()
step(1.0 / 60.0)
window.SwapBuffers()
glfw.PollEvents()
<-ticker.C // wait up to 1/60th of a second
}
}
开发者ID:TheZeroSlave,项目名称:chipmunk,代码行数:46,代码来源:bouncing_balls.go
示例13: initialize
func initialize() (*opengl.Context, error) {
runtime.LockOSThread()
if err := glfw.Init(); err != nil {
return nil, err
}
glfw.WindowHint(glfw.Visible, glfw.False)
glfw.WindowHint(glfw.Resizable, glfw.False)
glfw.WindowHint(glfw.ContextVersionMajor, 2)
glfw.WindowHint(glfw.ContextVersionMinor, 1)
// As start, create an window with temporary size to create OpenGL context thread.
window, err := glfw.CreateWindow(16, 16, "", nil, nil)
if err != nil {
return nil, err
}
u := &userInterface{
window: window,
funcs: make(chan func()),
sizeChanged: true,
}
ch := make(chan error)
go func() {
runtime.LockOSThread()
u.window.MakeContextCurrent()
glfw.SwapInterval(1)
var err error
u.context, err = opengl.NewContext()
if err != nil {
ch <- err
}
close(ch)
u.context.Loop()
}()
currentUI = u
if err := <-ch; err != nil {
return nil, err
}
if err := u.context.Init(); err != nil {
return nil, err
}
return u.context, nil
}
开发者ID:carriercomm,项目名称:ebiten,代码行数:45,代码来源:ui_glfw.go
示例14: main
func main() {
runtime.LockOSThread()
// initialize glfw
if err := glfw.Init(); err != nil {
log.Fatalln("Failed to initialize GLFW: ", err)
}
defer glfw.Terminate()
// create window
window, err := glfw.CreateWindow(1280, 720, os.Args[0], nil, nil)
if err != nil {
log.Fatal(err)
}
window.SetFramebufferSizeCallback(onResize)
window.MakeContextCurrent()
if err := gl.Init(); err != nil {
log.Fatal(err)
}
// set up opengl context
onResize(window, 1280, 720)
// glfw.KeyCallback(window)
window.SetKeyCallback(keyCallback)
runtime.LockOSThread()
glfw.SwapInterval(1)
player = NewBall(600, 600)
ticker := time.NewTicker(time.Second / 60)
for !window.ShouldClose() {
player.update()
//Output
draw()
window.SwapBuffers()
glfw.PollEvents()
<-ticker.C // wait up to 1/60th of a second
}
}
开发者ID:jhautefeuille,项目名称:hellochipmunk,代码行数:45,代码来源:glfwtest.go
示例15: CreateWindow
func (c *Context) CreateWindow(w, h int, name string) (err error) {
c.w = w
c.h = h
c.name = name
c.createWindow()
c.SetCursor(c.cursor)
gl.Init()
if e := gl.GetError(); e != 0 {
if e != gl.INVALID_ENUM {
err = fmt.Errorf("OpenGL glInit error: %X\n", e)
return
}
}
c.OpenGLVersion = glfw.GetVersionString()
c.ShaderVersion = gl.GoStr(gl.GetString(gl.SHADING_LANGUAGE_VERSION))
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.ClearColor(0.0, 0.0, 0.0, 1.0)
gl.Disable(gl.CULL_FACE)
glfw.SwapInterval(1)
return
}
开发者ID:kurrik,项目名称:opengl-benchmarks,代码行数:22,代码来源:context.go
示例16: CreateWindow
func (c *Context) CreateWindow(w, h int, name string) (err error) {
c.w = w
c.h = h
c.name = name
var monitor *glfw.Monitor
if c.fullscreen == true {
monitor = glfw.GetPrimaryMonitor()
}
if c.window, err = glfw.CreateWindow(c.w, c.h, c.name, monitor, nil); err != nil {
return
}
if c.cursor == false {
c.window.SetInputMode(glfw.CursorMode, glfw.CursorHidden)
}
c.window.MakeContextCurrent()
gl.Init()
if e := gl.GetError(); e != 0 {
if e == gl.INVALID_ENUM {
fmt.Printf("GL_INVALID_ENUM when calling glInit\n")
} else {
err = fmt.Errorf("OpenGL glInit error: %X\n", e)
return
}
}
c.OpenGLVersion = glfw.GetVersionString()
c.ShaderVersion = gl.GoStr(gl.GetString(gl.SHADING_LANGUAGE_VERSION))
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.ClearColor(0.0, 0.0, 0.0, 1.0)
gl.Disable(gl.CULL_FACE)
glfw.SwapInterval(1)
if c.VAO, err = CreateVAO(); err != nil {
return
}
gl.BindVertexArray(c.VAO)
c.Events = NewEventHandler(c.window)
return
}
开发者ID:pikkpoiss,项目名称:twodee,代码行数:38,代码来源:context.go
示例17: CreateWindow
func CreateWindow(title string, width int, height int) *Window {
if err := glfw.Init(); err != nil {
log.Fatalln("Failed to initialize glfw:", err)
}
/* GLFW Window settings */
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, title, nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
glfw.SwapInterval(2)
/* Initialize OpenGL */
if err := gl.Init(); err != nil {
panic(err)
}
window.SetInputMode(glfw.CursorMode, glfw.CursorDisabled)
window.SetKeyCallback(KeyCallback)
window.SetCursorPosCallback(MouseMoveCallback)
window.SetMouseButtonCallback(MouseButtonCallback)
w := &Window{
Width: width,
Height: height,
Wnd: window,
maxFrameTime: 0.0,
lastFrameTime: glfw.GetTime(),
}
w.SetMaxFps(60)
return w
}
开发者ID:johanhenriksson,项目名称:goworld,代码行数:38,代码来源:window.go
示例18: main
func main() {
src, err := os.OpenFile("tiger.ps", 0, 0)
if err != nil {
log.Println("can't find postscript file.")
return
}
defer src.Close()
bytes, err := ioutil.ReadAll(src)
postscriptContent = string(bytes)
err = glfw.Init()
if err != nil {
panic(err)
}
defer glfw.Terminate()
window, err = glfw.CreateWindow(800, 800, "Show Tiger in OpenGL", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
window.SetSizeCallback(reshape)
window.SetKeyCallback(onKey)
glfw.SwapInterval(1)
err = gl.Init()
if err != nil {
panic(err)
}
reshape(window, 800, 800)
for !window.ShouldClose() {
display()
window.SwapBuffers()
glfw.PollEvents()
// time.Sleep(2 * time.Second)
}
}
开发者ID:zzn01,项目名称:draw2d,代码行数:38,代码来源:postscriptgl.go
示例19: main
func main() {
err := glfw.Init()
if err != nil {
panic(err)
}
defer glfw.Terminate()
glfw.WindowHint(glfw.Resizable, glfw.False)
w, err := glfw.CreateWindow(400, 300, "Hello World", nil, nil)
if err != nil {
panic(err)
}
w.MakeContextCurrent()
glfw.SwapInterval(1)
w.SetCharCallback(charCallBack)
if err := gl.Init(); err != nil {
panic(err)
}
r := makeResources()
gl.ClearColor(1, 1, 1, 0)
fmt.Println("Press 'q' to quit")
for !w.ShouldClose() {
time.Sleep(10 * time.Millisecond)
updateFadeFactor(r)
render(w, r)
w.SwapBuffers()
glfw.PollEvents()
}
}
开发者ID:rdterner,项目名称:gl,代码行数:36,代码来源:hello.go
示例20: InitDisplay
func InitDisplay(title string) error {
defer tlog.FuncLog(tlog.Func("InitDisplay"))
runtime.LockOSThread()
err := glfw.Init()
if err != nil {
return err
}
monitor := glfw.GetPrimaryMonitor()
mode := monitor.GetVideoMode()
tlog.Println("monitor mode", mode)
if DEBUG {
glfw.WindowHint(glfw.OpenGLDebugContext, gl.TRUE)
}
glfw.WindowHint(glfw.ContextVersionMajor, 3)
glfw.WindowHint(glfw.ContextVersionMinor, 3)
glfw.WindowHint(glfw.OpenGLForwardCompatible, 1)
glfw.WindowHint(glfw.OpenGLProfile, glfw.OpenGLCoreProfile)
window, err = glfw.CreateWindow(mode.Width, mode.Height, title, nil, nil)
if err != nil {
return err
}
window.SetKeyCallback(onKey)
// glfw.SetMouseButtonCallback(onMouseBtn)
window.MakeContextCurrent()
glfw.SwapInterval(1)
return nil
}
开发者ID:hialin,项目名称:hialin,代码行数:36,代码来源:setup.go
注:本文中的github.com/go-gl/glfw/v3/1/glfw.SwapInterval函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论