Important: Please read the Qt Code of Conduct -

Qt3d - Normal computation

  • Hello there!

    I'm currently trying to port a 3D display to Qt3d. The most important part here is the high-performance visualization of large textured 3D meshes, possibly with level of detail.

    I managed to create a custom geometry for this purpose, which visualizes our 3D triangle meshes (without texture as a first step). There is one problem though, and I'm not sure how to resolve this. In all examples of Qt3d geometry I saw that the vertex normals are explicitely specified. This is the case for the standard geometry which is part of Qt3d, like the torus, whre it is possible to do this analytically. In the code for the mesh loader the normals are also computed by hand for the mesh.

    This would mean that I need to compute these normals on the CPU, which can be quite a task for large 3D meshes (in terms of runtime). In our old visualization solution the normals for shading could just be inferred by the scene graph renderer, and you could obtain a shading without computing the normals (even though you had discontinuous transitions at triangle edges). Is there a method to do this in Qt3d? Or is there a simple way to achieve this? I could not achieve it via an existing material at least.

    Thank you in advance,

Log in to reply