mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-11-15 02:11:22 +00:00
Render bounding box around mesh, centre & scale arcball on bbox
* The arcball lookat position can also be dragged with alt-click or middle click. * Also supports other elements as position not just magically-selected "POSITION" element.
This commit is contained in:
1 parent
b23db183b6
commit
edda31248f
11 files changed
+309
-68
No files matched your search
@@ -41,14 +41,15 @@ extern "C" RENDERDOC_API uint16_t RENDERDOC_CC Maths_FloatToHalf(float f)
|
||||
return ConvertToHalf(f);
|
||||
}
|
||||
|
||||
extern "C" RENDERDOC_API void RENDERDOC_CC Maths_CameraArcball(float dist, const FloatVector &rot, FloatVector *pos, FloatVector *fwd, FloatVector *right)
|
||||
extern "C" RENDERDOC_API void RENDERDOC_CC Maths_CameraArcball(const FloatVector &lookat, float dist, const FloatVector &rot, FloatVector *pos, FloatVector *fwd, FloatVector *right, FloatVector *up)
|
||||
{
|
||||
Camera c;
|
||||
c.Arcball(dist, Vec3f(rot.x, rot.y, rot.z));
|
||||
c.Arcball(Vec3f(lookat.x, lookat.y, lookat.z), dist, Vec3f(rot.x, rot.y, rot.z));
|
||||
|
||||
Vec3f p = c.GetPosition();
|
||||
Vec3f f = c.GetForward();
|
||||
Vec3f r = c.GetRight();
|
||||
Vec3f u = c.GetUp();
|
||||
|
||||
pos->x = p.x;
|
||||
pos->y = p.y;
|
||||
@@ -61,9 +62,13 @@ extern "C" RENDERDOC_API void RENDERDOC_CC Maths_CameraArcball(float dist, const
|
||||
right->x = r.x;
|
||||
right->y = r.y;
|
||||
right->z = r.z;
|
||||
|
||||
up->x = u.x;
|
||||
up->y = u.y;
|
||||
up->z = u.z;
|
||||
}
|
||||
|
||||
extern "C" RENDERDOC_API void RENDERDOC_CC Maths_CameraFPSLook(const FloatVector &lookpos, const FloatVector &rot, FloatVector *pos, FloatVector *fwd, FloatVector *right)
|
||||
extern "C" RENDERDOC_API void RENDERDOC_CC Maths_CameraFPSLook(const FloatVector &lookpos, const FloatVector &rot, FloatVector *pos, FloatVector *fwd, FloatVector *right, FloatVector *up)
|
||||
{
|
||||
Camera c;
|
||||
c.fpsLook(Vec3f(lookpos.x, lookpos.y, lookpos.z), Vec3f(rot.x, rot.y, rot.z));
|
||||
@@ -71,6 +76,7 @@ extern "C" RENDERDOC_API void RENDERDOC_CC Maths_CameraFPSLook(const FloatVector
|
||||
Vec3f p = c.GetPosition();
|
||||
Vec3f f = c.GetForward();
|
||||
Vec3f r = c.GetRight();
|
||||
Vec3f u = c.GetUp();
|
||||
|
||||
pos->x = p.x;
|
||||
pos->y = p.y;
|
||||
@@ -83,6 +89,10 @@ extern "C" RENDERDOC_API void RENDERDOC_CC Maths_CameraFPSLook(const FloatVector
|
||||
right->x = r.x;
|
||||
right->y = r.y;
|
||||
right->z = r.z;
|
||||
|
||||
up->x = u.x;
|
||||
up->y = u.y;
|
||||
up->z = u.z;
|
||||
}
|
||||
|
||||
extern "C" RENDERDOC_API
|
||||
|
||||
Reference in new issue
Block a user