gizmo のライブラリを整備したい
去年手を付けたのだが、放棄されていたのを発掘した。
GitHub - ousttrue/gizmesh: Linear Algebra experiment
Linear Algebra experiment. Contribute to ousttrue/gizmesh development by creating an account on GitHub.
https://github.com/ousttrue/gizmesh
tiny gizmo を改造しようとしてて、動かなくなっている。
既存の gizmo libraries
tinygizmo
GitHub - ddiakopoulos/tinygizmo: :triangular_ruler: An simple immediate-mode 3D gimzo/manipulator (translation, rotation, scale widget) in ~1200 LoC
:triangular_ruler: An simple immediate-mode 3D gimzo/manipulator (translation, rotation, scale widget) in ~1200 LoC - ddiakopoulos/tinygizmo
https://github.com/ddiakopoulos/tinygizmo
minalg.h
. https://github.com/sgorsten/linalg の改造版
im3d
GitHub - john-chapman/im3d: Immediate mode rendering and 3d gizmos.
Immediate mode rendering and 3d gizmos. Contribute to john-chapman/im3d development by creating an account on GitHub.
https://github.com/john-chapman/im3d
im3d_math.h
300行くらいでシンプル。
ImGuizmo
GitHub - CedricGuillemet/ImGuizmo: Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui
Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui - CedricGuillemet/ImGuizmo
https://github.com/CedricGuillemet/ImGuizmo
ImGui のDrawListに相乗りするぽい。
memo
2021 0921
tinygizmo の改造を最初からやりなおし
GitHub - ousttrue/tinygizmo: :triangular_ruler: An immediate mode 3D gimzo (translation, rotation, scale for scene editing) in ~1200 LoC
:triangular_ruler: An immediate mode 3D gimzo (translation, rotation, scale for scene editing) in ~1200 LoC - ousttrue/tinygizmo
https://github.com/ousttrue/tinygizmo/tree/custom
example を整理する。
- glfw 依存を最小化して、 include が伝わらないように隔離
- gizmo と OpenGL を分離
2021 1225
続き。
cython から使えるようにインターフェース改修。
c++
視点で型が増えないように、std::array
, std::tuple
等を多用する書き方をしていたのだけど、
cython
視点では使いにくかった。
TODO
-
examples/gl3
とexamples/dx11
を共通化する - rendertarget への描画
2021 1226
マウス操作でモデルにポーズを付けられるところを目標に。
- 小さい数学ライブラリ
- TRS node hierarchy
- AABB node selector
- gizmo hover
- logger / imgui ですべてのステート(mode etc)を表示する