本文整理汇总了Golang中github.com/go-gl/glfw/v3/1/glfw.WindowHint函数的典型用法代码示例。如果您正苦于以下问题:Golang WindowHint函数的具体用法?Golang WindowHint怎么用?Golang WindowHint使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了WindowHint函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
if err := glfw.Init(); err != nil {
log.Fatalln("failed to initialize glfw:", err)
}
defer glfw.Terminate()
glfw.WindowHint(glfw.Resizable, glfw.False)
glfw.WindowHint(glfw.ContextVersionMajor, 2)
glfw.WindowHint(glfw.ContextVersionMinor, 1)
window, err := glfw.CreateWindow(640, 480, "tut03", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
if err := gl.Init(); err != nil {
panic(err)
}
t0 := time.Now()
program := initResources()
for {
curFade = float32(math.Sin(time.Now().Sub(t0).Seconds()*2*math.Pi/5)/2 + 0.5)
onDisplay(program)
window.SwapBuffers()
glfw.PollEvents()
}
gl.DeleteProgram(program)
gl.DeleteBuffers(1, &vboTriangle)
}
示例2: main
func main() {
if err := glfw.Init(); err != nil {
log.Fatalln("failed to inifitialize glfw:", err)
}
defer glfw.Terminate()
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(windowWidth, windowHeight, "basic shaders", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
// Initialize Glow (go function bindings)
if err := gl.Init(); err != nil {
panic(err)
}
window.SetKeyCallback(keyCallback)
err = programLoop(window)
if err != nil {
log.Fatal(err)
}
}
示例3: CreateContext
func CreateContext(width int, height int) (*Context, error) {
if err := glfw.Init(); err != nil {
fmt.Println("failed to initialize glfw:", 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, "flamingo", nil, nil)
if err != nil {
glfw.Terminate()
return nil, err
}
window.MakeContextCurrent()
// Initialize Glow
if err = gl.Init(); err != nil {
glfw.Terminate()
return nil, err
}
version := gl.GoStr(gl.GetString(gl.VERSION))
fmt.Println("OpenGL version", version)
return &Context{window}, nil
}
示例4: checkMon
func checkMon() {
monitors = glfw.GetMonitors()
glfw.WindowHint(glfw.ContextVersionMajor, 2)
glfw.WindowHint(glfw.ContextVersionMinor, 1)
glfw.WindowHint(glfw.AutoIconify, glfw.False)
glfw.WindowHint(glfw.Decorated, glfw.False)
if i := len(monitors); i < 2 {
fmt.Println("You only have 1 monitor!!!!!!!!!!! :-P")
monWidth = 800
monHeight = 600
win, err = glfw.CreateWindow(monWidth, monHeight, "Cube", nil, nil)
if err != nil {
panic(err)
}
projMonitor = monitors[0]
} else {
fmt.Printf("You have %d monitors\n", i)
monWidth = monitors[1].GetVideoMode().Width
monHeight = monitors[1].GetVideoMode().Height
win, err = glfw.CreateWindow(monWidth, monHeight, "Cube", nil, nil)
win.SetPos(monitors[1].GetPos())
fmt.Printf("Width: %d Height: %d \n", monWidth, monHeight)
if err != nil {
panic(err)
}
projMonitor = monitors[1]
}
monitorInfo()
}
示例5: main
func main() {
if err := glfw.Init(); err != nil {
log.Fatalln("failed to initialize glfw:", err)
}
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()
}
}
示例6: SetResizable
func (c *Context) SetResizable(val bool) {
if val {
glfw.WindowHint(glfw.Resizable, 1)
} else {
glfw.WindowHint(glfw.Resizable, 0)
}
}
示例7: main
func main() {
width := 1024
height := 768
title := "Simple Triangle"
if err := glfw.Init(); err != nil {
log.Fatalln("failed to initialize glfw:", err)
}
defer glfw.Terminate()
glfw.WindowHint(glfw.Samples, 4) // 4x antialiasing
glfw.WindowHint(glfw.ContextVersionMajor, 3) // We want OpenGL 3.3
glfw.WindowHint(glfw.ContextVersionMinor, 3)
glfw.WindowHint(glfw.OpenGLForwardCompatible, glfw.True) // To make MacOS happy; should not be needed
glfw.WindowHint(glfw.OpenGLProfile, glfw.OpenGLCoreProfile) //We don't want the old OpenGL
window, err := glfw.CreateWindow(width, height, title, nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
if err := gl.Init(); err != nil {
panic(err)
}
window.SetKeyCallback(keypress)
window.SetMouseButtonCallback(mousepress)
gl.Viewport(0, 0, 1024, 768)
for !window.ShouldClose() {
draw()
window.SwapBuffers()
glfw.PollEvents()
}
}
示例8: main
func main() {
if err := glfw.Init(); err != nil {
log.Fatalln("failed to initialize glfw:", err)
}
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, "Create Window Example", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
if err := gl.Init(); err != nil {
panic(err)
}
window.SetKeyCallback(keypress)
window.SetMouseButtonCallback(mousepress)
gl.Viewport(0, 0, 800, 600)
for !window.ShouldClose() {
draw()
window.SwapBuffers()
glfw.PollEvents()
}
}
示例9: initSystem
func (glr *GlRenderer) initSystem() {
// Lock goroutine to main thread - required for GL
runtime.LockOSThread()
var err error
if err = glfw.Init(); err != nil {
panic(err)
}
glfw.WindowHint(glfw.Resizable, glfw.False)
glfw.WindowHint(glfw.ContextVersionMajor, 3)
glfw.WindowHint(glfw.ContextVersionMinor, 3)
glfw.WindowHint(glfw.OpenGLProfile, glfw.OpenGLCoreProfile)
glfw.WindowHint(glfw.OpenGLForwardCompatible, glfw.True)
glr.window, err = glfw.CreateWindow(glr.width, glr.height, "rt", nil, nil)
if err != nil {
panic(err)
}
glr.window.MakeContextCurrent()
if err = gl.Init(); err != nil {
panic(err)
}
version := gl.GoStr(gl.GetString(gl.VERSION))
fmt.Println("OpenGL version", version)
}
示例10: main
func main() {
flag.Parse()
go func() {
http.ListenAndServe("localhost:6060", nil)
}()
if err := glfw.Init(); err != nil {
log.Fatalln("failed to initialize glfw:", err)
}
defer glfw.Terminate()
glfw.WindowHint(glfw.Resizable, glfw.True)
glfw.WindowHint(glfw.Visible, glfw.False) // do not steal focus
glfw.WindowHint(glfw.ContextVersionMajor, 2)
glfw.WindowHint(glfw.ContextVersionMinor, 1)
window, err := glfw.CreateWindow(800, 600, "Spector", nil, nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
window.Restore()
window.SetPos(32, 64)
if err := gl.Init(); err != nil {
panic(err)
}
state := NewState()
for !window.ShouldClose() {
if window.GetKey(glfw.KeyEscape) == glfw.Press {
return
}
if window.GetKey(glfw.KeyR) == glfw.Press {
state.Stop()
state = NewState()
}
start := time.Now()
state.Update(1.0 / 60.0)
updateTime := time.Since(start)
start = time.Now()
state.Render(window)
renderTime := time.Since(start)
text := fmt.Sprintf("update: %.2fms render: %.2fms",
float32(updateTime)/float32(time.Millisecond),
float32(renderTime)/float32(time.Millisecond))
w, h := window.GetSize()
state.Backend.SetFontColor(ui.ColorHex(0xFF0000FF))
size := state.Backend.Measure(text)
state.Backend.Text(text, ui.Block(float32(w)-size.X, float32(h)-size.Y, size.X, size.Y))
window.SwapBuffers()
glfw.PollEvents()
}
}
示例11: 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)
}
示例12: setupWindowOptions
func setupWindowOptions() {
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)
}
示例13: run
func (self *Application) run() error {
if err := glfw.Init(); err != nil {
return err
}
defer glfw.Terminate()
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(512, 512, "GL", nil, nil)
if err != nil {
return err
}
window.MakeContextCurrent()
if err := gl.Init(); err != nil {
return err
}
if err := self.setup(); err != nil {
return err
}
for !window.ShouldClose() {
self.display()
window.SwapBuffers()
glfw.PollEvents()
}
return nil
}
示例14: 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
}
示例15: CreateRenderer
func CreateRenderer(windowWidth, windowHeight int) *Renderer {
if err := glfw.Init(); err != nil {
log.Fatalln("failed to initialize glfw:", err)
}
// defer glfw.Terminate()
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)
if windowWidth == 0 && windowHeight == 0 {
windowWidth, windowHeight = glfw.GetPrimaryMonitor().GetPhysicalSize()
}
fmt.Println("Window Width -", windowWidth, "Window Height -", windowHeight)
window, err := glfw.CreateWindow(windowWidth, windowHeight, "Karma", glfw.GetPrimaryMonitor(), nil)
if err != nil {
panic(err)
}
window.MakeContextCurrent()
window.SetKeyCallback(testCallback)
// Initialize Glow
if err := gl.Init(); err != nil {
panic(err)
}
version := gl.GoStr(gl.GetString(gl.VERSION))
fmt.Println("OpenGL version", version)
shaders := Shaders{}
textureFlatUniforms := []string{"projection", "camera", "modelView", "tex"}
textureFlatAttributes := []string{"vert", "vertTexCoord"}
fmt.Println(textureFlatUniforms)
fmt.Println(textureFlatAttributes)
shader, err := createProgram("./assets/shaders/texture_flat.vs", "./assets/shaders/texture_flat.fs", textureFlatUniforms, textureFlatAttributes)
if err != nil {
panic(err)
}
shaders.textureFlat = shader
meshes := []*Mesh{}
previousTime := glfw.GetTime()
return &Renderer{
PreviousTime: previousTime,
Window: window,
Shaders: &shaders,
Meshes: meshes,
}
}