[Interest] Qt3D: A custom camera controller
Volker Enderlein
volker.enderlein at ifm-chemnitz.de
Tue Jan 29 12:07:52 CET 2019
Hi all,
I implemented a custom camera controller (implementing the
ExaminerViewer camera handling from OpenInventor) and don't know how to
select the linearSpeed and the lookSpeed values dependent on the size of
the scene as my scenegraph can be changed at runtime. I came up with a
solution but it is not working as expected.
auto heightAngle = theCamera->fieldOfView() / 180.0f *
static_cast<float>(M_PI);
auto focalDist = theCamera->viewVector().length();
auto height = 2.0f * focalDist * std::tan(heightAngle / 2.0f);
height = height < 1.0f ? 1.0f : height;
auto width = height / theCamera->aspectRatio();
// NDC (left, right, bottom, top) (-1, 1, -1, 1)
// MagnificationFactor: max(height, width)/linearSpeed()
auto linearSpeedMagnificationFactor = std::max(height,
width)/linearSpeed();
Are there any examples/experiences implementing custom camera controllers?
Thanks in advance,
Cheers, Volker
--
More information about the Interest
mailing list