つむぎエンジンはつむぎライブラリを用いて作ったエンジンです。 非同期、並列、疎な依存性を持つエンジンを目指して作りました。
つむぎライブラリ。イベント管理やオブジェクト管理を非同期で行う、以下のすべてのライブラリが用いるライブラリ。
基本的にはつむぎライブラリを複数動作させることで、エンジンが構成されている。 また、それぞれのライブラリは異なる周期で独立に動作しているため、tsumugiを通してライブラリ間のデータの受け渡しを行う。
3Dオブジェクトの頂点情報やボーンの状態などを管理するライブラリ
シェーダーやマテリアル情報を管理するライブラリ
オブジェクトの場所や状態を管理するライブラリ
ハッシュマップと配列を組み合わせることで、マテリアルやオブジェクを素早く回せるようなリストが記述されているライブラリ
DirectX12を用いた描画エンジン(Windows専用)
キーボード操作を管理するライブラリ(Windows専用)
ウィンドウを生成したり管理するようなライブラリ(Windows専用)
imguiを用いたデバッグ用ライブラリ(Windows専用) 内部でvcpkgを用いているため、cargo-vcpkgに依存