Ebitengine - A dead simple 2D game engine for Go
Go to file
Hajime Hoshi acc933b7c3 graphicsdriver/opengl: Experimental PBO implementation
This change is an experimental implementation to use Pixel Buffer
Objects. This reduces calls of glTexSubImage2D.

This works only on desktops. Unfortunately WebGL does not have
this features. Mobiles can have PBO as of OpenGL ES 3.

Updates #976
2019-11-17 05:01:43 +09:00
audio Revert "audio: Bug fix: Fill empty data even when audio is suspended" 2019-11-09 15:24:56 +09:00
cmd/ebitenmobile cmd/ebitenmobile: Refactoring 2019-10-19 02:28:55 +09:00
docs docs: Remove unused contents 2019-03-22 03:23:48 +09:00
ebitenutil graphics: Use 1x1 image for empty images 2019-07-30 23:11:06 +09:00
event Fix misspellings 2019-10-12 01:10:53 +09:00
examples examples/audio: Switchable to MP3 from Ogg 2019-10-30 00:33:29 +09:00
inpututil inpututil: Package inpututil is no longer experimental 2018-05-14 01:32:55 +09:00
internal graphicsdriver/opengl: Experimental PBO implementation 2019-11-17 05:01:43 +09:00
mobile mobile/ebitenmobileview: Bug fix: Use Math.floor to shrink the size a little bit 2019-10-17 12:21:06 +09:00
text Make go vet a little happier on macOS 2019-07-22 20:16:22 +09:00
vector graphics: Fix wrong comments 2019-07-31 01:58:54 +09:00
.gitignore Add new example: squirals (#952) 2019-10-09 00:54:23 +09:00
.travis.yml Update Go versions in .travis.yml 2019-10-22 14:32:34 +09:00
AUTHORS Add David Linus Briemann to AUTHORS 2019-10-09 00:56:48 +09:00
colorm_test.go affine: Bug fix: ColorM.Apply was wrong when alpha is 0 2018-02-27 12:16:16 +09:00
colorm.go graphics: Marks ColorM as non-comparable explicitly 2019-10-31 01:55:59 +09:00
CONTRIBUTING.md docs: Update CONTRIBUTING.md 2019-11-03 15:23:45 +09:00
copy_test.go graphics: Move functions to the package ebiten 2019-06-26 22:23:09 +09:00
copy.go graphics: Move functions to the package ebiten 2019-06-26 22:23:09 +09:00
debug_ebitendebug.go Add 'ebitendebug' build tag 2018-06-25 23:59:32 +09:00
debug_notebitendebug.go Add 'ebitendebug' build tag 2018-06-25 23:59:32 +09:00
doc.go Update documents 2019-10-13 17:33:10 +09:00
export_test.go graphics: Use 'negative' mipmap when enlarging a too small image 2019-07-30 23:03:55 +09:00
gamepad.go input: Move MouseButton and GamepadButton to driver package 2019-03-30 23:19:52 +09:00
generate.go event: Auto-generate event definitions (#935) 2019-09-12 11:32:20 +09:00
genevents.go Fix misspellings 2019-10-12 01:10:53 +09:00
genkeys.go event: Add a converting function from driver.Event to event.Event 2019-09-12 21:59:13 +09:00
geom_test.go affine: Add TestGeoMEquals 2019-06-09 06:56:25 +09:00
geom.go affine: Add Skew function to GeoM 2018-08-01 14:15:30 +09:00
go.mod audio: Bug fix: Delay on macOS/iOS 2019-11-10 20:26:07 +09:00
go.sum audio: Bug fix: Delay on macOS/iOS 2019-11-10 20:26:07 +09:00
goversion.go Force to use Go 1.12 or later 2019-05-01 17:43:38 +09:00
graphics.go graphics: Move const definitions to driver package 2019-06-26 01:05:13 +09:00
graphicsdriver_ios.go Add 'ebitengl' build tag to force to use GL 2019-10-13 16:58:33 +09:00
graphicsdriver_mac.go Add 'ebitengl' build tag to force to use GL 2019-10-13 16:58:33 +09:00
graphicsdriver_opengl.go Add 'ebitengl' build tag to force to use GL 2019-10-13 16:58:33 +09:00
image_test.go Revert "graphics: Avoid all copying pixels" 2019-11-16 02:04:46 +09:00
image.go Revert "graphics: Avoid all copying pixels" 2019-11-16 02:04:46 +09:00
imagedumper_desktop.go graphics: Refactoring: Remove imports 2019-09-19 02:17:35 +09:00
imagedumper_notdesktop.go Remove dependency on internal/png on mobiles and browsers 2018-11-14 00:37:51 +09:00
imageparts.go graphics: Experimental: (*image.Image).SubImage 2018-10-28 02:19:14 +09:00
input.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +09:00
keys.go input: driver.Key now distinguishes left/right modifier keys 2019-09-01 23:49:00 +09:00
LICENSE Adjust LICENSE file 2017-01-30 18:57:49 +09:00
mipmap_test.go graphics: Use 'negative' mipmap when enlarging a too small image 2019-07-30 23:03:55 +09:00
mipmap.go buffered: Allow Set before the game runs 2019-10-12 03:13:29 +09:00
mousebuttons.go input: Move MouseButton and GamepadButton to driver package 2019-03-30 23:19:52 +09:00
README.md docs: Remove the Flappy image from README 2019-11-03 18:31:28 +09:00
run.go uidriver/js: Bug fix: Needed to initialize pseudoScale with the given scale 2019-10-27 17:16:49 +09:00
uicontext.go graphics: Add buffered package 2019-09-21 22:34:37 +09:00
uidriver_glfw.go Remove driver getters for the playground 2019-09-03 01:47:48 +09:00
uidriver_js.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +09:00
uidriver_mobile.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +09:00
vertex.go Reland: graphics: Reuse vertices backend and reduce allocating 2019-09-29 01:36:00 +09:00

Ebiten

Build Status GoDoc Go Report Card

A dead simple 2D game library in Go

Ebiten is an open-source game library, with which you can develop 2D games with simple API for multi platforms in the Go programming language.

Overview

Platforms

  • Windows (No Cgo!)
  • macOS
  • Linux
  • FreeBSD
  • Android
  • iOS
  • Web browsers (Chrome, Firefox, Safari and Edge)

Note: Gamepad and keyboard are not available on Android/iOS.

For installation on desktops, see the installation instruction.

Features

  • 2D Graphics (Geometry/Color matrix transformation, Various composition modes, Offscreen rendering, Fullscreen, Text rendering, Automatic batches, Automatic texture atlas)
  • Input (Mouse, Keyboard, Gamepads, Touches)
  • Audio (Ogg/Vorbis, MP3, WAV, PCM)

Packages

Community

Slack

#ebiten channel in Gophers Slack

License

Ebiten is licensed under Apache license version 2.0. See LICENSE file.