No Description

Hajime Hoshi 864f826b3c internal/shaderlister: bug fix: skip tests when Go is not found (e.g. Wasm) 4 days ago
.builds 5f2c02eb1a .builds: remove or replace GLU lib 1 year ago
.github 28f6d8841d .github/workflows: disable AppArmor 1 month ago
audio 7b5054ca3a audio: bug fix: (*Player).Position is not updated correctly 1 week ago
cmd d1ee7797c7 cmd/ebitenmobile: fix gomobile toolchain bug (#3129) 1 month ago
colorm ba1af60480 all: update comments 2 months ago
ebitenutil 0281ac7bd2 all: use bufio.NewWriter to improve writing speed 3 months ago
examples db04c37f26 vector: add (*Path).ApplyGeoM 5 days ago
exp 24d241f1f9 exp/textinput: typo 1 month ago
inpututil 0942fbb4d7 inpututil: add comments 2 weeks ago
internal 864f826b3c internal/shaderlister: bug fix: skip tests when Go is not found (e.g. Wasm) 4 days ago
misc 5c0935d2da misc: update README 2 years ago
mobile 07d29fa729 cmd/ebitenmobile: bug fix: consider EbitenSurfaceView recreation 2 months ago
playstation5 789388618d all: add playstation5 dummy package 2 months ago
text 48daae08ef text/v2: cache origin X positions for GoXFace 2 weeks ago
vector db04c37f26 vector: add (*Path).ApplyGeoM 5 days ago
.clang-format 6555375b06 all: add .clang-format 3 months ago
.gitignore 10d9660125 shaderprecomp: implement for Windows 6 months ago
CODE_OF_CONDUCT.md 9259951c36 update CODE_OF_CONDUCT.md 1 year ago
CONTRIBUTING.md d05afcbcfa all: fix typos (#2859) 11 months ago
LICENSE c00a4985d4 Adjust LICENSE file 7 years ago
README.md db454548be all: update README 6 months ago
blend.go 7f87ecaddc internal/graphicscommand: better debug info for blending 1 month ago
colorm.go ba1af60480 all: update comments 2 months ago
colorscale.go d23567c92e ebiten: add ColorScale.ScaleWithColorScale 1 year ago
compositemode.go b1048025d9 ebiten: separate graphics.go into compositemode.go and it 1 year ago
cursor.go 429e0d8183 ebiten: refactoring 2 months ago
doc.go a5235eea86 internal/graphicsdriver/opengl/gl: always prefer OpenGL ES to OpenGL 3 months ago
ebiten_test.go 35e29a29e7 internal/ui: bug fix: wrong property names were specified 6 months ago
export_test.go 04c9a802a7 ebiten: add BenchmarkBuiltinShader 2 weeks ago
gameforui.go 47f11a7423 ebiten: bug fix: DefaultDrawFinalScreen should take FinalScreen 2 weeks ago
gamepad.go 08ae0f4a94 ebiten: add type GamepadAxisType 10 months ago
generate.go 4d2a0287b5 Bug fix: some generators did not work due to a lacked package 4 years ago
genkeys.go 0281ac7bd2 all: use bufio.NewWriter to improve writing speed 3 months ago
geom.go b17ae6135e ebiten: update GeoM.Rotate() comment (#3106) 1 month ago
geom_test.go 57c45a13e4 Remove dot imports from tests - Remove dot imports (#1837) 3 years ago
go.mod 1d5a8bc836 all: update dependencies 4 days ago
go.sum 1d5a8bc836 all: update dependencies 4 days ago
graphics.go f98003bcd5 ebiten: add ColorSpace and RunGameOptions.ColorSpace 2 months ago
image.go 810e45c030 ebiten: skip rendering when det is 0 at DrawImage and DrawRectShader 4 weeks ago
image_test.go 4bccf9d009 all: use math/rand/v2 2 months ago
imagedumper.go 3d1df32f43 ebiten: bug fix: wrong screenshot file names 1 year ago
imagetobytes.go 02ef92f4cd ebiten: Remove copying pixels from ReplacePixels and copyImage (renamed to imageToBytes) 4 years ago
imagetobytes_test.go 57c45a13e4 Remove dot imports from tests - Remove dot imports (#1837) 3 years ago
input.go ab414558e8 ebiten: replace alias types with ints for better documentation 2 months ago
keys.go 7389f9ddb2 ebiten: add KeyIntlBackslash 8 months ago
monitor.go 9a8d6e7b41 internal/ui: implement (*Monitor).Size for mobiles 1 month ago
mousebuttons.go ab414558e8 ebiten: replace alias types with ints for better documentation 2 months ago
run.go 429e0d8183 ebiten: refactoring 2 months ago
run_mobile.go 27fd10595b internal/ui: refactoring: reduce global functions and prefer Get() 1 year ago
shader.go 2437ad8248 ebiten: improve bulitinShader by reducing locks 2 weeks ago
shader_test.go 04c9a802a7 ebiten: add BenchmarkBuiltinShader 2 weeks ago
vibrate.go ac651def3b ebiten: typo 2 years ago
window.go eb365c51d5 ebiten: add RequestAttention 1 month ago

README.md

Ebitengine (v2)

Go Reference Build Status

A dead simple 2D game engine for Go

Ebitengine (formerly known as Ebiten) is an open source game engine for the Go programming language. Ebitengine's simple API allows you to quickly and easily develop 2D games that can be deployed across multiple platforms.

Overview

Platforms

For installation on desktops, see the installation instruction.

Features

  • 2D Graphics (Geometry and color transformation by matrices, Various composition modes, Offscreen rendering, Text rendering, Automatic batches, Automatic texture atlas, Custom shaders)
  • Input (Mouse, Keyboard, Gamepads, Touches)
  • Audio (Ogg/Vorbis, MP3, WAV, PCM)

Packages

Community

License

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

The Ebitengine logo by Hajime Hoshi is licensed under the Creative Commons Attribution-NoDerivatives 4.0.

GLFW

https://github.com/glfw/glfw

Copyright (c) 2002-2006 Marcus Geelnard

Copyright (c) 2006-2019 Camilla Löwy

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not
   claim that you wrote the original software. If you use this software
   in a product, an acknowledgment in the product documentation would
   be appreciated but is not required.

2. Altered source versions must be plainly marked as such, and must not
   be misrepresented as being the original software.

3. This notice may not be removed or altered from any source
   distribution.

Go

https://cs.opensource.google/go/go

Copyright (c) 2009 The Go Authors. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
   * Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

go-gl/gl

https://github.com/go-gl/gl

The MIT License (MIT)

Copyright (c) 2014 Eric Woroshow

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

go-gl/glfw

https://github.com/go-gl/glfw

Copyright (c) 2012 The glfw3-go Authors. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
   * Neither the name of Google Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.