Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "github.com/veandco/go-sdl2/sdl"
- )
- func main() {
- alive := true
- window, _ := sdl.CreateWindow("test", sdl.WINDOWPOS_UNDEFINED, sdl.WINDOWPOS_UNDEFINED, 200, 200, sdl.WINDOW_SHOWN)
- renderer, _ := sdl.CreateRenderer(window, -1, sdl.RENDERER_PRESENTVSYNC|sdl.RENDERER_TARGETTEXTURE|sdl.RENDERER_ACCELERATED)
- renderer.SetDrawColor(80, 80, 80, 255)
- renderer.Clear()
- for alive {
- // create some texture
- texture, _ := renderer.CreateTexture(sdl.PIXELFORMAT_RGBA8888, sdl.TEXTUREACCESS_TARGET, 100, 100)
- renderer.SetRenderTarget(texture) // Set texture as target
- renderer.SetDrawColor(0xDD, 0x88, 0x33, 0xFF) //
- renderer.Clear() // Set some orange as background
- renderer.SetDrawColor(0x33, 0x88, 0xFF, 0xFF) //
- renderer.FillRect(&sdl.Rect{X: 10, Y: 10, W: 80, H: 80}) // Draw some blue rect on it
- renderer.SetRenderTarget(nil) // Reset rendertarget to window
- renderer.Copy(texture, nil, &sdl.Rect{X: 50, Y: 50, W: 100, H: 100}) // draw texture on window
- //texture.Destroy() // when to destroy the texture ?
- renderer.Present() // neither of this works. If I delete the texture (even AFTER .Present)
- //texture.Destroy() // it wont work right and the blue rect disappears. The .Clear orange color stays though...
- for event := sdl.PollEvent(); event != nil; event = sdl.PollEvent() {
- switch event.GetType() {
- case sdl.QUIT:
- alive = false
- }
- }
- }
- renderer.Destroy()
- window.Destroy()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement