Ebitengine - A dead simple 2D game engine for Go
Go to file
Hajime Hoshi 0c70823f27 graphics: Delay draw commands and execute them only when needed
This change introduces a queue for delayed graphics commands.
When an image's pixels are retrieved or the screen is rendered,
Ebiten calculates the set of the necessary draw commands and
execute them.

This reduces the number of draw calls especially for the launching
phase.

Fixes #921
2019-09-19 01:09:48 +09:00
audio vorbis: Embed files for tests 2019-09-15 19:50:56 +09:00
cmd/ebitenmobile cmd/ebitenmobile: Rename onPause/onResume to suspendGame/resumeGame 2019-09-14 15:36:40 +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 event: Bug fix: Add chan.go 2019-09-12 22:01:09 +09:00
examples input: driver.Key now distinguishes left/right modifier keys 2019-09-01 23:49:00 +09:00
inpututil inpututil: Package inpututil is no longer experimental 2018-05-14 01:32:55 +09:00
internal graphics: Delay draw commands and execute them only when needed 2019-09-19 01:09:48 +09:00
mobile mobile/ebitenmobileview: Fix build errors 2019-09-18 11:01:58 +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 Clean up .gitignore 2018-05-30 03:13:01 +09:00
.travis.yml Add build directories for tests especially for Windows 2019-09-18 11:12:23 +09:00
AUTHORS Add Beoran to AUTHORS 2019-08-31 01:04:43 +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 affine: Misspelling 2018-10-13 00:07:48 +09:00
CONTRIBUTING.md Add CONTRIBUTING.md 2019-02-08 16:23:48 -10: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 Fix comments 2019-01-19 02:30:06 +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 event: Add a converting function from driver.Event to event.Event 2019-09-12 21:59:13 +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 Revert gomobile version 2019-09-02 03:00:17 +09:00
go.sum Revert gomobile version 2019-09-02 03:00:17 +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_mac.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +09:00
graphicsdriver_opengl.go Remove driver getters for the playground 2019-09-03 01:47:48 +09:00
image_test.go graphics: Add TestImageDrawTrianglesAndMutateArgs 2019-09-18 23:52:11 +09:00
image.go graphics: Delay draw commands and execute them only when needed 2019-09-19 01:09:48 +09:00
imagedumper_desktop.go graphics: Unify dumping logic 2019-07-20 01:46:33 +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 graphics: Remove 'resetRestoringState' 2019-08-25 02:18:51 +09:00
mousebuttons.go input: Move MouseButton and GamepadButton to driver package 2019-03-30 23:19:52 +09:00
README.md Fix documentations 2019-08-18 18:33:51 +09:00
run.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +09:00
uicontext.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +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 graphics: Move the vertices backend to ebiten package 2019-06-22 00:02:22 +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.

flappy

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.