Raylib v6.0
15時間前原文(github.com)
概要
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は、新機能・最適化・拡張性で大幅進化
- 幅広いプラットフォーム・用途に対応する基盤を確立
- 今後の更なる発展に向けた重要なリリース