[Interest] Qt3D - Setting the Camera's ViewMatrix Directly
Juan Jose Casafranca
jjcasmar at gmail.com
Mon Dec 5 18:59:03 CET 2016
Just for curiosity, why it is not typed as QCameraLens as that it is the
"real" camera?
El 5 dic. 2016 6:34 PM, "Philip Schuchardt" <vpicaver at gmail.com> escribió:
> Awesome, thanks!
> On Mon, Dec 5, 2016 at 12:32 PM Sean Harmer <sean.harmer at kdab.com> wrote:
>
>
>
> On 05/12/2016 16:37, Philip Schuchardt wrote:
> > Awesome! Thanks! I really like the entity and component system in qt3d!
> > It just takes time to understand all the components and how they play
> > together with each other.
>
> Yeah, it's a little bit of a mental shift from traditional OOP but means
> we can keep adding more components and aspects without baking many
> assumptions into the core framework of Qt 3D.
>
> > If I aggregate the QTransform and QCameraLens
> > into my own camera code, do I need to subclass framegraph node to select
> > my custom camera?
>
> Nope, no need to subclass. The QCameraSelector framegraph node's camera
> property is intentionally typed as QEntity* for this reason.
>
> Cheers,
>
> Sean
>
> >
> >
> > On Mon, Dec 5, 2016 at 3:52 AM Sean Harmer <sean.harmer at kdab.com
> > <mailto:sean.harmer at kdab.com>> wrote:
> >
> > 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>
> > > <mailto: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 <mailto:Interest at qt-project.org>
> > > http://lists.qt-project.org/mailman/listinfo/interest
> > >
> >
> > --
> > Dr Sean Harmer | sean.harmer at kdab.com <mailto:sean.harmer at kdab.com>
> > | Managing Director UK
> > KDAB (UK) Ltd, a KDAB Group company
> > Tel. +44 (0)1625 809908 <+44%201625%20809908>
> <tel:+44%201625%20809908>; Sweden (HQ)
> > +46-563-540090 <+46%20563%2054%2000%2090>
> <tel:+46%20563%2054%2000%2090>
> > Mobile: +44 (0)7545 140604 <+44%207545%20140604>
> <tel:+44%207545%20140604>
> > KDAB - Qt Experts
> > _______________________________________________
> > Interest mailing list
> > Interest at qt-project.org <mailto:Interest at qt-project.org>
> > http://lists.qt-project.org/mailman/listinfo/interest
> >
> > --
> > Phi|ip
>
> --
> Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK
> KDAB (UK) Ltd, a KDAB Group company
> Tel. +44 (0)1625 809908 <+44%201625%20809908>; Sweden (HQ) +46-563-540090
> <+46%20563%2054%2000%2090>
> Mobile: +44 (0)7545 140604 <+44%207545%20140604>
> KDAB - Qt Experts
>
> --
> Phi|ip
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20161205/6314cc66/attachment.html>
More information about the Interest
mailing list