Platform-agnostic data visualization in Qt framework |
|
Author: | Varanka, Sami1 |
Organizations: |
1University of Oulu, Faculty of Information Technology and Electrical Engineering, Computer Science |
Format: | ebook |
Version: | published version |
Access: | open |
Online Access: | PDF Full Text (PDF, 5.9 MB) |
Pages: | 54 |
Persistent link: | http://urn.fi/URN:NBN:fi:oulu-202306152533 |
Language: | English |
Published: |
Oulu : S. Varanka,
2023
|
Publish Date: | 2023-06-16 |
Thesis type: | Master's thesis (tech) |
Tutor: |
Pedone, Matteo Heikkilä, Janne |
Reviewer: |
Heikkilä, Janne Pedone, Matteo |
Description: |
Abstract There are a variety of electronic devices making people’s lives easier. Many of these devices, such as smart TVs, coffee machines, and electric cars, have highresolution displays that visualize a rich interface for human-machine interaction. One common cross-platform framework for developing these visual interfaces is Qt. With its vast majority of modules, Qt offers a rich framework for developing different interfaces. Over the years, various modules have been added and removed from Qt. One such module is a module for visualizing data in 3D. The module was added when Qt relied heavily on the OpenGL rendering backend. Nowadays, in addition to OpenGL, Qt supports rendering 3D graphics on other popular graphics backends. Nevertheless, the data visualization module requires using OpenGL as the rendering backend. This thesis investigates the optimal way to change Qt’s module dedicated to 3D data visualization to work on different rendering backends. Additionally, a design for an extension to public C++ API for Qt’s 3D module, used in implementing the new module, is presented. The requirements for the new implementation of the data visualization module are derived from the current module. The implementation of the new version is evaluated with a tailor-made test application. The results indicate that the new module can improve performance on devices supporting modern graphics backend features. Alustariippumaton datavisualisointi Qt-ohjelmistorungossa Tiivistelmä On olemassa monia erilaisia ihmisten elämää helpottavia elektronisia laitteita. Monissa tällaisissa laitteissa, kuten älytelevisioissa, kahviautomaateissa ja sähköautoissa, on korkearesoluutioinen näyttö, joka visualisoi monipuolisen käyttöliittymän ihmisen ja koneen väliseen vuorovaikutukseen. Yksi yleinen alustariippumaton ohjelmistokehitysrunko näiden visuaalisten rajapintojen kehittämiseen on Qt. Qt tarjoaa paljon erilaisia moduleita ja runsaan kehyksen erilaisten käyttöliittymien kehitykseen. Vuosien varrella Qt-ympäristöön on lisätty ja siitä on poistettu erilaisia moduleja. Yksi tällainen moduli on tarkoitettu datan visualisointiin 3D-muodossa. Kyseinen moduli lisättiin, kun Qt luotti vielä voimakkaasti OpenGL-renderöintitaustajärjestelmään. Nykyään Qt tukee 3D-grafikan esittämistä muillakin suosituilla grafikkataustajärjestelmillä OpenGL:n lisäksi. Datan visualisointimoduli edellyttää kuitenkin OpenGL:n käyttämistä renderöintitaustajärjestelmänä. Tässä opinnäytetyössä tutkitaan optimaalista tapaa muuttaa Qt:n 3Dtietojen visualisoinnille tarkoitettua modulia toimimaan useammalla eri renderöintitaustajärjestelmällä. Lisäksi esitellään uuden modulin toteutuksessa käytetyn Qt:n 3D-modulin julkisen C++ API:n laajennuksen suunnitelma. Vaatimukset tiedon visualisointimodulin uudelle toteutukselle on johdettu nykyisestä moduulista. Uuden version toteutusta arvioidaan sitä varten kehitetyllä testisovelluksella. Tulokset osoittavat, että uusi moduuli voi parantaa suorituskykyä laitteissa, jotka tukevat nykyaikaisia renderöintitaustajärjestelmän ominaisuuksia. see all
|
Subjects: | |
Copyright information: |
© Sami Varanka, 2023. Except otherwise noted, the reuse of this document is authorised under a Creative Commons Attribution 4.0 International (CC-BY 4.0) licence (https://creativecommons.org/licenses/by/4.0/). This means that reuse is allowed provided appropriate credit is given and any changes are indicated. For any use or reproduction of elements that are not owned by the author(s), permission may need to be directly from the respective right holders. |
https://creativecommons.org/licenses/by/4.0/ |