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