[Interest] Qt3D - Setting the Camera's ViewMatrix Directly
Sean Harmer
sean.harmer at kdab.com
Mon Dec 5 09:52:21 CET 2016
Hi,
I see you found it already but I'll explain for posterity. All Qt 3D
wants from a "camera" is a view matrix and a projection matrix. These
come from the QTransform and QCameraLens components respectively, which
are aggregated by QCamera. QCamera itself is not special, it is just an
entity with these components and provides some API for common
operations. If QCamera doesn't suit your needs you can subclass QEntity,
aggregate these components, plus any others you want (perhaps a light
source), and add whatever API you like.
Cheers,
Sean
On 04/12/2016 20:49, Philip Schuchardt wrote:
> Nevermind, I figured it out. The QCamera can be accessed changed
> directly through QCamera::transform()->setMatrix().
>
>
>
> On Sun, Dec 4, 2016 at 9:54 AM Philip Schuchardt <vpicaver at gmail.com
> <mailto:vpicaver at gmail.com>> wrote:
>
> In the next step of porting my OpenGL application to Qt3D, I trying
> to use my existing camera and interaction code. My interaction code
> creates and manipulates QMatrix4x4's for projection and view
> matrixes. It seems like Qt3D's camera doesn't provide direct access
> of ViewMatrix. My question is how do I set this directly? Can I
> subclass QCamera and control it directly? Could I make my code
> Camera an entry and not use QCamera? How would Qt3D interpret my
> camera as a QCamera and set the necessary uniforms in the shaders.
> Also, how would this play with CameraSelector nodes in the
> framegraph? Would I have to make a custom CameraSelector framegraph
> node? The nice thing about direct control of the ViewMatrix is
> there's no mystery about how the math works. Without direct access
> to the ViewMatrix, it'll take me a decedent amount to port my camera
> code...
>
> Also, how do you unproject a point on the screen using the QCamera
> and the viewport in Q3D? This is necessary for my interactions to
> work correctly.
>
> Thanks,
> Phi|ip
> --
> Phi|ip
>
> --
> Phi|ip
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
--
Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK
KDAB (UK) Ltd, a KDAB Group company
Tel. +44 (0)1625 809908; Sweden (HQ) +46-563-540090
Mobile: +44 (0)7545 140604
KDAB - Qt Experts
More information about the Interest
mailing list