tinygizmo
1.0.0
該專案是一個輕量級、獨立的庫,用於許多遊戲引擎中常見的小工具編輯。它包括用於操縱 3d 位置、旋轉和縮放的機制。該函式庫以 C++11 實現,不直接執行渲染,而是提供世界空間三角形的每幀緩衝區。
包含的範例建置在 GLFW 之上(具有 OpenGL 3.3 上下文)。已知的限制包括關於右手 Y 向上座標系的硬編碼假設。雖然小玩意提供了頂點法線,但該範例不執行任何花哨的著色。此外,已知在極端交互掠角下使用某些小工具進行滑鼠拖曳輸入會產生異常輸出。
這個專案的誕生是出於對其他即時模式小工具庫的輕微挫折感。該函式庫公開了一個由 3d 位置、旋轉四元數和比例組成的rigid_transform
,而不是 4x4 矩陣和歐拉角。該庫由大約 1200 行程式碼實現,其中還包括約 400 LoC 的完整 3D 數學庫 - linalg.h。替代方案包括 ImGuizmo 和 Im3D。 Tinygizmo 完全獨立(不依賴 Dear ImGui)並且在公共領域提供,因此適合這些專案。
gizmo_application_state
結構中的任何snap_
值。update(...)
和draw()
)ctrl-t
啟動翻譯小工具ctrl-r
啟動旋轉小工具ctrl-s
啟動比例小控件ctrl-l
在全域和局部變換模式之間切換如果沒有公共領域工作台專案中的參考實現,該專案就不可能實現。
這是發佈到公共領域的免費且不受阻礙的軟體。欲了解更多信息,請參閱http://unlicense.org