Nominate our 2022 Qt Champions!

Questions about Qt3D (and comparison with Three.js)

  • Hello,

    I am going to write an application that will include 3D visualization and some interactive manipulation of human body besides other standard 2D UI stuff. I was trying to choose among some technology options I can use. Some options are:

    • Qt + C++ + Qt3D
    • UWP + C# + JavaScript + Three.js + C++
    • Electron + JavaScript + Three.js + C++

    I have almost no knowledge on Qt and especially Qt3D but I have some knowledge of Three.js and frankly Three.js looks great and seems easy to use with vast documentation. I know that it is capable of doing what I want.

    But the project will require some C++ libraries to be used. You can call C++ libraries from platforms like UWP but I wanted to check the option to go with full Qt stack for my UI needs. And also I guess debugging will be easier if I use 1 integrated technology stack rather than trying to glue different technologies work together.

    1. What I am trying to understand is if Qt3D is comparable to Three.js? Or are they different in philosophy?

    2. Can we easily load meshes in Qt3D?

    3. Can we do hit registration in Qt3D so that user can select triangles or vertices using mouse? For example, I want to throw a ray from mouse position and check if it hits a vertex or triangle.

    4. Is there a scene widget that I can put camera, lights and it will handle rotating, panning, zooming of the camera automatically via mouse or do I need to add those capabilities manually?

    5. How easy is Qt3D to learn? Qt3D seems to be relatively new, would I be able to learn it using the current stat of documentation and samples? (Note: I am not a 3D guru, just did basic mesh viewers before, no knowledge of OpenGL or DirectX).

    6. Is Qt3D performant enough to show hundreds of thousands of triangles? Or point cloud with 2-3 millions of points?

    7. Are there missing functionality that you know of in Qt3D compared to Three.js or vice versa?

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    I'd recommend bringing your questions to the interest mailing list. You'll find there Qt3D developers/maintainers that will likely be able to answer your question more thoroughly. This forum is more user oriented.

    That said, one article that might interest you is about porting code from Three.js to Qt.

  • Hello,

    my question is very similar to yours:
    Unfortunately I didn't find any clear/satisfying answer..
    Did you find any useful answer or resources?
    Thanks for any info on this

  • @SGaist It is deprecated!

  • Lifetime Qt Champion

    @SpyerGame indeed, has been deprecated now four years after I answered this question. Do you mean you would like an alternative ?

Log in to reply