Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

How to interactively display very large point-clouds with Qt?



  • Can someone suggest approaches to interactively display very large x-y-z point clouds, when the maximum size of the “display data container” is smaller than the total size of the dataset? I’m thinking to write this application with Qt libraries, most of which are based on the QVector container. The QVector class has a capacity of about 2 GB (2^31 bytes) which can hold about 167 million x-y-z points. Some of my point-cloud datasets contain more than 250 million points. How best to display these very large point-clouds? One approach would be for the application to allocate several data containers, to be used for displaying the data at different zoom levels. For example when the entire point-cloud is to be displayed at once, the app would subsample the points - i.e. not all the points are displayed in that view, but the user will almost certainly not discern this. As the user zooms into different regions of the point-cloud, the app fills and displays another container to capacity, showing point-cloud of the region at full resolution when the user zooms in. Of course I want the swapping of the containers into the display to be very efficient, so as to minimize lags.

    Does my description make sense? What is the best approach?



  • You could try VTK which has some build in support for large datasets and there is QVTKOpenGLNativeWidget to use VTK with Qt Guis. .



  • Sounds similar to this example


Log in to reply