Original title:
Zobrazení rozsáhlých volumetrických dat na CPU
Translated title:
CPU Rendering of Large Volumetric Data
Authors:
Svoboda, Jan ; Vlnas, Michal (referee) ; Španěl, Michal (advisor) Document type: Bachelor's theses
Year:
2023
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Tato práce se zabývá návrhem a implementací systému, který umožňuje zobrazovat rozsáhlá volumetricka data v reálném čase na CPU běžného počítače. Práce si klade za cíl řešit jak problematiku samotného zobrazování, kdy tato data často nelze celá umístit do operační paměti stroje, tak i problematiku úložiště těchto dat, kdy v případě rozsáhlých datasetů může být jejich uchovávání v úložišti cílového počítače nežádoucí. Navržené řešení sestává ze dvou aplikací, klientské a serverové. Serverová část slouží jako vzdálené úložiště volumetrických dat, která jsou po malých blocích a v různých kvalitách poskytována klientské aplikaci. Klientská aplikace tato data zobrazuje metodou vrhání paprsků a dle vytvořených strategií řeší načítání a uchovávání potřebných bloků v lokální paměti. Při implementaci klientské aplikace byl kladen důraz na paralelizaci klíčových procesů pro dosažení vysokého výkonu. Výsledný systém umožňuje uživateli zobrazovat rozsáhlé datasety uložené na serverovém úložišti a provádět jejich správu pomocí jednoduchého grafického uživatelského rozhraní.
This thesis deals with design and implementation of a system that allows displaying large volumetric data in real time on the CPU of a conventional computer. The thesis aims to solve two biggest problems. Firstly, it aims to solve the problem with rendering itself, where this amount of data often cannot be placed into the main memory of a target computer. Secondly, it aims to solve the problem of storing of this data, where, in the case of large datasets, storing them in the storage of a target computer may not be desirable. The proposed solution contains two applications -- the server one and the client one. The server part is used as a remote storage of volumetric data that is provided to the client application in small blocks and in different qualities. The client application renders this data by the ray casting method and, according to the created strategies, performs loading and storing of required blocks in the local memory. In order to achieve high performance, the client application was implemented with an emphasis on parallelization of the main processes. The resulting system allows a user to display large datasets stored on a server's storage and to manage the datasets using a simple graphical user interface.
Keywords:
block division; client-server; large data; parallelization; ray casting; rendering; unit-sized voxel grid; volumetric data; jednotková voxelová mřížka; klient-server; paralelizace; rozdělení do bloků; rozsáhlá data; volumetrická data; vrhání paprků; zobrazování
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/211037