Ebitengine 2.8 リリースノート

v2.8.0

Issues for v2.8.0

このリリースでは、主に細かい機能追加、バグ修正、パフォーマンス改善を行いました。

Ebitengine 2.8 から Go 1.22 以上が必要になりました。

32bit Float オーディオストリーム

Issue #2160

このリリースで、オーディオストリームのフォーマットに 32bit float が追加されました。 16bit 整数オーディオストリームに比べて、ストリームの加工が容易になります。また内部での変換が減り、パフォーマンスが向上する可能性があります。

現在の 16bit 整数オーディオストリームは引き続きサポートされます。 16bit 整数ストリームと 32bit Float ストリームは混在が可能です。 16bit 整数ストリームについて現在非推奨化予定はありませんが、 Ebitengine バージョン 3 では 32bit Float 版のみになる予定です。

Vertex へのカスタムデータの追加

Issue #2640

ebiten.Vertex 構造体に、カスタム要素として、新たに 4 つの float32 型メンバー Custom0Custom1Custom2Custom3 が追加されました。これにより、カスタムシェーダである Kage を使ったより複雑な処理が可能になります。

この変更に伴い、 Kage の Fragment 関数のシグニチャが以下の種類を取れるように変更されました。カスタム要素を使用する場合、 custom vec4 を取るシグニチャを使用してください。

exp/textinput のポータビリティの改善

Issue #3072

exp/textinput は Windows や macOS などはサポートしていますが、 Linux などの環境では未実装でした。このパッケージを Linux で使おうとした場合、何もテキスト入力できないという状態でした。

このリリースから、 exp/textinput を使ったときに、 IME ハンドリングが未実装な環境でも IME を使わないテキスト入力を行うように修正されました。これによりコードのポータビリティが向上します。今後 IME ハンドリングができる環境を増やしていく予定です。

OpenGL ES の優先

Issue #2944

OpenGL ES が使用可能な環境では、 OpenGL よりも OpenGL ES を優先するように修正されました。これにより、 Raspberry Pi など一部の環境でパフォーマンス上の問題が起きていたのが改善されました。また、環境変数 EBITENGINE_OPENGL は無視されるようになりました。

新しい API

非推奨になった API

2.7 以前 2.8 以降 Issue
ebiten.FillAll ebiten.FillRuleFillAll #3006
ebiten.NonZero ebiten.FillRuleNoneZero #3006
ebiten.EvenOdd ebiten.FillRuleEvenOdd #3006

バグ修正

このリリースは、以下の修正に加えて、バージョン 2.7 にあった全てのバグ修正を含みます。

パフォーマンス改善

破壊的変更

v2.8.1

バグ修正

Issues for v2.8.1

v2.8.2

バグ修正

Issues for v2.8.2

v2.8.3

バグ修正

Issues for v2.8.3

v2.8.4

バグ修正

Issues for v2.8.4

v2.8.5

バグ修正

Issues for v2.8.5