本文整理汇总了Golang中github.com/go-gl/gl.Disable函数的典型用法代码示例。如果您正苦于以下问题:Golang Disable函数的具体用法?Golang Disable怎么用?Golang Disable使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Disable函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: initGL
// initGL initializes GLFW and OpenGL.
func initGL() error {
err := glfw.Init()
if err != nil {
return err
}
err = glfw.OpenWindow(AtlasSize, AtlasSize, 8, 8, 8, 8, 0, 0, glfw.Windowed)
if err != nil {
glfw.Terminate()
return err
}
glfw.SetWindowTitle("Texture atlas example")
glfw.SetSwapInterval(1)
glfw.SetWindowSizeCallback(onResize)
glfw.SetKeyCallback(onKey)
gl.Init()
if err = glh.CheckGLError(); err != nil {
return err
}
gl.Disable(gl.DEPTH_TEST)
gl.Disable(gl.LIGHTING)
gl.Enable(gl.TEXTURE_2D)
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.ClearColor(0.2, 0.2, 0.23, 1.0)
return nil
}
示例2: initGL
// initGL initializes GLFW and OpenGL.
func initGL(c *cpu.CPU, width, height int) error {
err := glfw.Init()
if err != nil {
return err
}
glfw.OpenWindowHint(glfw.WindowNoResize, 1)
err = glfw.OpenWindow(width, height, 8, 8, 8, 8, 8, 0, glfw.Windowed)
if err != nil {
glfw.Terminate()
return err
}
glfw.SetWindowTitle("DCPU")
glfw.SetSwapInterval(1)
glfw.SetWindowSizeCallback(onResize)
gl.Init()
err = glh.CheckGLError()
if err != nil {
return err
}
gl.Disable(gl.LIGHTING)
gl.Disable(gl.DEPTH_TEST)
gl.Enable(gl.TEXTURE_2D)
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.ClearColor(0, 0, 0, 1)
return err
}
示例3: resetGlStates
func (r *RenderTarget) resetGlStates() {
// Define the default OpenGL states
gl.Disable(gl.CULL_FACE)
gl.Disable(gl.LIGHTING)
gl.Disable(gl.DEPTH_TEST)
gl.Disable(gl.ALPHA_TEST)
gl.Enable(gl.TEXTURE_2D)
gl.Enable(gl.BLEND)
gl.MatrixMode(gl.MODELVIEW)
gl.EnableClientState(gl.VERTEX_ARRAY)
gl.EnableClientState(gl.COLOR_ARRAY)
gl.EnableClientState(gl.TEXTURE_COORD_ARRAY)
r.glStatesSet = true
// Apply the default SFML states
r.applyBlendMode(BlendAlpha)
r.applyTransform(IdentityTransform())
r.applyTexture(nil)
/*if (Shader::isAvailable()){
r.applyShader(nil)
}*/
r.useVertexCache = false
// Set the default view
r.SetView(r.View())
}
示例4: initGL
// initGL initializes GLFW and OpenGL.
func initGL() error {
err := glfw.Init()
if err != nil {
return err
}
err = glfw.OpenWindow(640, 480, 8, 8, 8, 8, 0, 0, glfw.Windowed)
if err != nil {
glfw.Terminate()
return err
}
glfw.SetWindowTitle("go-gl/gltext: Bitmap font example")
glfw.SetSwapInterval(1)
glfw.SetWindowSizeCallback(onResize)
glfw.SetKeyCallback(onKey)
errno := gl.Init()
if errno != gl.NO_ERROR {
str, err := glu.ErrorString(errno)
if err != nil {
return fmt.Errorf("Unknown openGL error: %d", errno)
}
return fmt.Errorf(str)
}
gl.Disable(gl.DEPTH_TEST)
gl.Disable(gl.LIGHTING)
gl.ClearColor(0.2, 0.2, 0.23, 0.0)
return nil
}
示例5: initGL
func initGL() error {
gl.Init()
if err := glh.CheckGLError(); err != nil {
return err
}
gl.Disable(gl.DEPTH_TEST)
gl.Enable(gl.MULTISAMPLE)
gl.Disable(gl.LIGHTING)
gl.Enable(gl.COLOR_MATERIAL)
gl.ClearColor(0, 0, 0, 1)
return nil
}
示例6: Reshape
func (v *Video) Reshape(width int, height int) {
x_offset := 0
y_offset := 0
r := ((float64)(height)) / ((float64)(width))
if r > 0.9375 { // Height taller than ratio
h := (int)(math.Floor((float64)(0.9375 * (float64)(width))))
y_offset = (height - h) / 2
height = h
} else if r < 0.9375 { // Width wider
var scrW, scrH float64
if ppu.OverscanEnabled {
scrW = 240.0
scrH = 224.0
} else {
scrW = 256.0
scrH = 240.0
}
w := (int)(math.Floor((float64)((scrH / scrW) * (float64)(height))))
x_offset = (width - w) / 2
width = w
}
gl.Viewport(x_offset, y_offset, width, height)
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(-1, 1, -1, 1, -1, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
gl.Disable(gl.DEPTH_TEST)
}
示例7: Draw
//Draws all the sprites in the supplied slice
func (sheet SpriteSheet) Draw(sprites []*Sprite) {
gl.Enable(gl.TEXTURE_2D)
sheet.texture.Bind(gl.TEXTURE_2D)
for _, sprite := range sprites {
gl.Begin(gl.TRIANGLE_STRIP)
{
gl.TexCoord2f(sprite.left, sprite.bottom)
gl.Vertex2f(sprite.X, sprite.Y)
gl.TexCoord2f(sprite.left, sprite.top)
gl.Vertex2f(sprite.X, sprite.Y+sprite.H)
gl.TexCoord2f(sprite.right, sprite.bottom)
gl.Vertex2f(sprite.X+sprite.W, sprite.Y)
gl.TexCoord2f(sprite.right, sprite.top)
gl.Vertex2f(sprite.X+sprite.W, sprite.Y+sprite.H)
}
gl.End()
}
sheet.texture.Unbind(gl.TEXTURE_2D)
gl.Disable(gl.TEXTURE_2D)
}
示例8: Init
func Init() {
runtime.LockOSThread()
// Initialize GLFW
var err error
if err = glfw.Init(); err != nil {
log.Fatalf("%v\n", err)
return
}
err = glfw.OpenWindow(SCREEN_WIDTH, SCREEN_HEIGHT,
0, 0, 0, 0, 0, 0, glfw.Windowed)
if err != nil {
log.Fatalf("%v\n", err)
return
}
glfw.SetWindowTitle("Mandelbrot")
glfw.SetSwapInterval(1)
glfw.SetWindowSizeCallback(onResize)
glfw.SetWindowCloseCallback(onClose)
glfw.SetMouseButtonCallback(onMouseBtn)
glfw.SetMouseWheelCallback(onMouseWheel)
glfw.SetKeyCallback(onKey)
glfw.SetCharCallback(onChar)
// Initialize OpenGL
gl.Disable(gl.DEPTH_TEST)
gl.ClearColor(0, 0, 0, 0)
}
示例9: onKey
func onKey(key, state int) {
switch key {
case glfw.KeyEsc:
running = false
case 76: // L
if state == 1 {
if light = !light; !light {
gl.Disable(gl.LIGHTING)
} else {
gl.Enable(gl.LIGHTING)
}
}
case 70: // F
if state == 1 {
if filter++; filter >= len(textures) {
filter = 0
}
}
case glfw.KeyPageup:
z -= 0.2
case glfw.KeyPagedown:
z += 0.2
case glfw.KeyUp:
speed[0] -= 0.1
case glfw.KeyDown:
speed[0] += 0.1
case glfw.KeyLeft:
speed[1] -= 0.1
case glfw.KeyRight:
speed[1] += 0.1
}
}
示例10: DrawElementsInArea
//DrawElementsInArea is used for redrawing
func (b *Backend) DrawElementsInArea(l gs.DrawPriorityList, area image.Rectangle) {
gl.Enable(gl.SCISSOR_TEST)
gl.Scissor(area.Min.X, area.Min.Y, area.Dx(), area.Dy())
for _, o := range l {
o.Draw(b)
}
gl.Disable(gl.SCISSOR_TEST)
}
示例11: Bind
// Binds the framebuffer for drawing.
func (fb *Framebuffer) Bind() {
fb.Buffer.Bind()
gl.Viewport(0, 0, fb.Width, fb.Height)
gl.Enable(gl.TEXTURE_2D)
gl.Disable(gl.DEPTH_TEST)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.Enable(gl.BLEND)
}
示例12: main
func main() {
_ = fmt.Sprint()
if !glfw.Init() {
panic("Can't init glfw!")
}
defer glfw.Terminate()
// antialiasing
//glfw.WindowHint(glfw.Samples, 4)
window, err = glfw.CreateWindow(WindowWidth, WindowHeight, "Mozaik", nil, nil)
if err != nil {
panic(err)
}
defer window.Destroy()
// Ensure thread context
window.MakeContextCurrent()
//glfw.SwapInterval(1)
window.SetKeyCallback(keyCb)
window.SetMouseButtonCallback(mouseCb)
gl.Init()
gl.ClearColor(0.9, 0.85, 0.46, 0.0)
// useless in 2D
gl.Disable(gl.DEPTH_TEST)
// antialiasing
gl.Enable(gl.BLEND)
gl.BlendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA)
gl.Enable(gl.LINE_SMOOTH)
for i := int32(32); i < 72; i++ {
font := loadFonts(i)
defer font.Release()
fonts = append(fonts, font)
}
// Compute window radius
windowRadius = math.Sqrt(math.Pow(WindowHeight, 2) + math.Pow(WindowWidth, 2))
// Use window coordinates
gl.MatrixMode(gl.PROJECTION)
gl.LoadIdentity()
gl.Ortho(0, WindowWidth, WindowHeight, 0, 0, 1)
gl.MatrixMode(gl.MODELVIEW)
gl.LoadIdentity()
g = NewGame()
g.Start()
go eventLoop(g)
go renderLoop(g)
Main()
g.Stop()
}
示例13: main
func main() {
err := initGL()
if err != nil {
log.Printf("InitGL: %v", err)
return
}
defer glfw.Terminate()
mb := createBuffer()
defer mb.Release()
// Perform the rendering.
var angle float32
for glfw.WindowParam(glfw.Opened) > 0 {
gl.Clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT)
gl.LoadIdentity()
gl.Translatef(0, 0, -6)
gl.Rotatef(angle, 1, 1, 1)
// Render a solid cube at half the scale.
gl.Scalef(0.2, 0.2, 0.2)
gl.Enable(gl.COLOR_MATERIAL)
gl.Enable(gl.POLYGON_OFFSET_FILL)
gl.PolygonMode(gl.FRONT_AND_BACK, gl.FILL)
mb.Render(gl.QUADS)
// Render wireframe cubes, with incremental size.
gl.Disable(gl.COLOR_MATERIAL)
gl.Disable(gl.POLYGON_OFFSET_FILL)
gl.PolygonMode(gl.FRONT_AND_BACK, gl.LINE)
for i := 0; i < 50; i++ {
scale := 0.004*float32(i) + 1.0
gl.Scalef(scale, scale, scale)
mb.Render(gl.QUADS)
}
angle += 0.5
glfw.SwapBuffers()
}
}
示例14: onKey
func onKey(key, state int) {
switch key {
case glfw.KeyEsc:
running = false
case 'L':
if state == 1 {
if light = !light; !light {
gl.Disable(gl.LIGHTING)
} else {
gl.Enable(gl.LIGHTING)
}
}
case 'F':
if state == 1 {
if filter++; filter >= len(textures) {
filter = 0
}
}
case 'B': // B
if state == 1 {
if blend = !blend; blend {
gl.Enable(gl.BLEND)
gl.Disable(gl.DEPTH_TEST)
} else {
gl.Disable(gl.BLEND)
gl.Enable(gl.DEPTH_TEST)
}
}
case glfw.KeyPageup:
z -= 0.2
case glfw.KeyPagedown:
z += 0.2
case glfw.KeyUp:
speed[0] -= 0.1
case glfw.KeyDown:
speed[0] += 0.1
case glfw.KeyLeft:
speed[1] -= 0.1
case glfw.KeyRight:
speed[1] += 0.1
}
}
示例15: main
func main() {
var err error
if err = glfw.Init(); err != nil {
log.Fatalf("%v\n", err)
return
}
defer glfw.Terminate()
// Open window with FSAA samples (if possible).
glfw.OpenWindowHint(glfw.FsaaSamples, 4)
if err = glfw.OpenWindow(400, 400, 0, 0, 0, 0, 0, 0, glfw.Windowed); err != nil {
log.Fatalf("%v\n", err)
return
}
defer glfw.CloseWindow()
glfw.SetWindowTitle("Aliasing Detector")
glfw.SetSwapInterval(1)
if samples := glfw.WindowParam(glfw.FsaaSamples); samples != 0 {
fmt.Printf("Context reports FSAA is supported with %d samples\n", samples)
} else {
fmt.Printf("Context reports FSAA is unsupported\n")
}
gl.MatrixMode(gl.PROJECTION)
glu.Perspective(0, 1, 0, 1)
for glfw.WindowParam(glfw.Opened) == 1 {
time := float32(glfw.Time())
gl.Clear(gl.COLOR_BUFFER_BIT)
gl.LoadIdentity()
gl.Translatef(0.5, 0, 0)
gl.Rotatef(time, 0, 0, 1)
gl.Enable(GL_MULTISAMPLE_ARB)
gl.Color3f(1, 1, 1)
gl.Rectf(-0.25, -0.25, 0.25, 0.25)
gl.LoadIdentity()
gl.Translatef(-0.5, 0, 0)
gl.Rotatef(time, 0, 0, 1)
gl.Disable(GL_MULTISAMPLE_ARB)
gl.Color3f(1, 1, 1)
gl.Rectf(-0.25, -0.25, 0.25, 0.25)
glfw.SwapBuffers()
}
}