概要
raylib 6.0 は、過去最大規模のアップデートとしてリリースされました。 新しい ソフトウェアレンダラー や複数の新規プラットフォームバックエンドが追加されました。 フルスクリーン・高DPI対応 や スケルタルアニメーション の再設計が行われています。 ファイルシステムAPI と テキスト管理API も刷新され、より一貫性のある設計になりました。 多くの 新機能・最適化・修正 が加えられ、将来の拡張性も強化されています。
raylib 6.0 リリースハイライト
- 330件以上のIssueクローズ、合計2150件超
- 2000以上のコミット、累計9760コミット
- APIに20の新関数追加、合計600関数
- 70の新しいサンプル追加、合計215以上
- 210名の新規コントリビューター参加、合計850名超
新機能・主要変更点
新ソフトウェアレンダラー: rlsw
- CPUのみで動作可能なソフトウェアレンダラー の新実装
- GPU不要、CPUとRAMさえあれば動作
- Le Juez Victor(@Bigfoot71)による OpenGL 1.1+互換の単一ヘッダーライブラリ
- ユーザー側のコード変更不要 で切り替え可能
- 30-60fpsの基本アプリケーション動作 を実現
- ESP32やRISC-Vデバイス等、GPU非搭載機器への展開可能性
- SDL、RGFW、DRM等の既存バックエンドも対応
- 新規プラットフォームバックエンド(Win32, Emscripten, PLATFORM_MEMORY) も追加
新プラットフォームバックエンド
-
Memory(rcore_memory)
- プラットフォーム非依存の メモリフレームバッファへの2D/3D描画
- ヘッドレス動作やイメージ出力 用途
- サーバー上での画像処理やグラフィックスレンダリングにも有用
-
Win32(rcore_desktop_win32)
- GLFW/SDL/RGFWの代替候補となるWindows専用バックエンド
- Win32 APIを直接実装、 OpenGLウィンドウ/GDIウィンドウ両対応
- コードの保守性・可読性・移植性向上
- 現状は 実験的扱い、今後のテスト・改善予定
-
Emscripten(rcore_web_emscripten)
- libglfw.js依存を排除し、Emscripten/JSを直接実装
- ソフトウェアレンダラーによる 非GPUキャンバス描画 と WebGL対応
- こちらも 実験的扱い
フルスクリーン・高DPI対応の再設計
- ボーダーレスフルスクリーンを優先
- マルチモニター・4K解像度・各OSでの動作確認済み
- ユーザーが明示的に高DPIを有効化可能 (FLAG_WINDOW_HIGHDPI)
- ウィンドウ・フレームバッファのスケーリング自動化
スケルタルアニメーションシステムの刷新
- アニメーションブレンディング対応
- 異なるアニメーション間の スムーズな遷移・タイミング調整
- Model, ModelSkeleton, ModelAnimation等の構造体を見直し
- APIの簡素化とGPUスキニングの最適化
ビルド設定システムの再設計(config.h)
- ビルド時の機能無効化がコマンドラインで簡単に (例: -DSUPPORT_FILEFORMAT_OBJ=0)
- 不要なフラグ削除、新しいフラグ追加
- ビルドシステムの簡素化
新ファイルシステムAPI
- ファイル管理機能を一つのモジュール(rcore)に統合
- utilsモジュール廃止、ビルド対象モジュール数削減
- 40以上のファイル管理関数を提供
- ファイルのロード/アンロード、保存、リネーム、削除、コピー、移動
- テキスト検索・置換、ファイル/ディレクトリ存在確認
- 拡張子・パス・ディレクトリ操作、ドロップファイル対応
- ディレクトリ内ファイル数の取得、フィルタリング等
新テキスト管理API
- 30以上のテキスト操作関数を追加
- テキストの行分割・解放、コピー、比較、長さ取得、整形
- 部分文字列抽出、スペース除去、文字列置換
- テキスト間抽出、置換、フォーマット等
- 内部バッファ利用のため、返却値はユーザー側で保持推奨
今後の展望・注意点
- 新バックエンド(Win32/Emscripten)は実験的、今後さらなるテスト・改善予定
- ソフトウェアレンダラーの導入で、より幅広いデバイス対応が可能
- API・ビルドシステムの統一・簡素化により、今後の拡張性強化
- 多くのコントリビューター・利用者からのフィードバックを歓迎
まとめ
- raylib 6.0 は、 新機能・最適化・拡張性 で大幅進化
- 幅広いプラットフォーム・用途 に対応する基盤を確立
- 今後の更なる発展に向けた重要なリリース