BlenderのUIをライブラリ化した「BUI」登場

原題: Blender's UI and Runtime: Much Faster Than GPUI

なぜ重要か

高性能な既存UIエンジンを汎用化することで、GPU対応UIフレームワーク市場に新たな選択肢が生まれる可能性がある。

開発者のppmpreetham氏がGitHub上でオープンソースプロジェクト「BUI」を公開した。BlenderのGPUアクセラレーション対応UIをオリジナルのコードベースから切り離し、独立したライブラリとして提供するもので、Python、Rust、JavaScript(React、Svelte)、C、C++、Dear ImGuiに対応する。リポジトリはすでに484スターを獲得し、フォーク数は11に達している。

「BUI」は、3DソフトウェアBlenderが長年かけて構築・最適化してきたGUIシステムを、元のコードベースから分離(デカップリング)して独立ライブラリ化するプロジェクトだ。バッテリー効率とメモリ効率に優れ、高速動作が特徴とされるBlenderのUIエンジンを、Blender以外のアプリケーション開発に転用できるようにすることを目的としている。

プロジェクトの説明文には「GPUIの2倍優れている」との主張が掲げられており、Zedエディタなどで採用されているAtomチームの開発したRust製UIフレームワーク「GPUI」との差別化を明確に打ち出している。ライセンスはGPL-3.0。

対応言語・フレームワークはPython、Rust、JavaScript(React・Svelte)、C、C++、Dear ImGuiと幅広く、バックエンドにはQtを採用する。リポジトリにはAPIドキュメント、バインディング、ベンチマーク、サンプルコード、テストが含まれており、CMakeでビルドする構成となっている。

公式サイト(bui.preetham.top)と専用ドキュメントも用意されており、コントリビューションガイドやセキュリティポリシーも整備済みだ。現時点でIssueは3件で、プロジェクト自体はまだ初期段階にある。Blenderは数十年にわたって開発された実績あるUIシステムを持っており、これを汎用ライブラリとして開放する試みは開発者コミュニティの注目を集めている。

出典

github.com — 元記事を読む →