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