[Interest] [Qt3d] Rendering 3D object with 2D coordinates

Alex john blackbriar153 at gmail.com
Wed Mar 24 15:56:57 CET 2021


On Mon, Mar 22, 2021 at 10:55 AM Alex john <blackbriar153 at gmail.com> wrote:
>
> On Thu, Mar 18, 2021 at 5:22 AM Walter Rawdanik <wr at warmi.net> wrote:
> >
> > You can’t convert 2d coordinates to a 3d position because you are missing the z coordinate.
>
> I can have a dummy z value as 1 for the calculation. The problem is
> similar  as described here
> https://community.khronos.org/t/getting-2d-to-3d/20050/6 in opengl
> they could fetch the requirted matrix for gluUnProject and get the 3d
> coordinates from 2d. However, in Qt3d, I'm stuck to fetch the required
> matrix i.e modelView etc and pass it correctly to the
> vector3d::uproject and get the corresponding 3d points back. All I
> could do is the following, however I doubt the correctness of it.
>
> // The code is exactly same as wireframe example file TrefoilKnot.qml
>
>     Transform {
>         id: trefoilMeshTransform
>         translation:Qt.vector3d(Qt.vector2D(100, 100)).unproject(
> modelView ,mainCam.projectionMatrix, forwardRenderer.viewportRect)
>         property real theta: 0.0
>         property real phi:0.0
>         property real roll: 0.0
>         rotation: fromEulerAngles(theta, phi, roll)
>         scale: root.scale
>     }
>
> In translation, Qt.vector2D(100, 100) is where I give the x,y (window
> coordinates) and expect the unproject api will return the 3d points
> for translation. mainCam.projectionMatrix and
> forwardRenderer.viewportRect are set from BasicCamera and
> Forwardrenderer from main.qml respectively. And I do not know where to
> get modelView. If you let me know the modelView matrix and confirm the
> above changes are right,  I'll be thankful.
>
> Do let me know.

Can anyone let me know about this?


More information about the Interest mailing list