287 research outputs found

    Метод візуалізації об’єктів в комп’ютерних системах засобами API Vulkan

    Get PDF
    Актуальність теми. Комп’ютерна візуалізація – це галузь в якій відбуваються постійні зміни. Зумовлено це неспинним розвитком та модифікаціями архітектури графічних процесорів. Зміни в апаратних частинах комп’ютерних систем призводять до потреби в перегляді методів розробки програмного забезпечення, які використовуються на цих самих системах. Нові можливості графічних процесорів та інструментів взаємодії з ними можуть бути використані для покращення існуючих методів візуалізації об’єктів. Об’єктом дослідження є комп’ютерні системи візуалізації об’єктів. Предметом дослідження є методи візуалізації прозорих об’єктів засобами API Vulkan. Мета роботи: Оптимізація методу візуалізації прозорих об’єктів за допомогою засобів API Vulkan. Створення програмного забезпечення для порівняння існуючих методів. Наукова новизна полягає в актуалізації методів візуалізації прозорих об’єктів за допомогою сучасних засобів, які надає API Vulkan. Надання шляхів оптимізації методу візуалізації прозорих об’єктів. Практична цінність полягає у надані аналізу існуючих методів візуалізації прозорих об’єктів та в оптимізації методу візуалізації прозорих об’єктів за допомогою спеціалізованих засобів API Vulkan, що покращує роботу комп’ютерних систем, які призначені для візуалізації тривимірних сцен. Апробація роботи. Основні положення і результати роботи були представлені та обговорювались на 89й Міжнародній науковій конференції молодих учених, аспірантів і стедунтів від НУХТ та на конференції від Молодіжної Наукової ліги. Було опубліковано статтю у видані Міжнародного наукового журналу «Грааль Науки» №26 – Вінниця-Відень, 2023. (OUCI, Copernicus) Структура та обсяг роботи. Магістерська дисертація складається з вступу, трьох розділів та висновків. У вступі описується загальна задача методів візуалізації прозорих об’єктів, актуальність та практичне застосування цих методів. У першому розділі наведено аналіз існуючих методів вирішення проблеми візуалізації прозорих об’єктів за допомогою розробленого програмного забезпечення. У другому розділі наведено опис API Vulkan та аналіз засобів цього інстументу, які можуть бути використані для оптимізації візуалізації об’єктів. У третьому розділі описуються способи оптимізації методу візуалізації за допомогою засобів API Vulkan та наведені отримані результати. У висновках надані результати проведеної роботи. Робота представлена на 72 аркушах, містить посилання на список використаних літературних джерел.Relevance of the topic. Computer visualization is an industry that is constantly changing. This is due to the constant development and modification of the architecture of graphics processors. Changes in the hardware of computer systems require revision of software development methods used on these same systems. New capabilities of GPUs and tools for interacting with them can be used to improve existing methods of object visualization The object of research is the method of visualizing transparent objects. The subject of the research is methods of visualizing transparent objects using the Vulkan API. Objective: Analysis of existing methods for visualizing transparent objects. Creating software for comparing methods. Optimization of the method for visualizing transparent objects using Vulkan API tools. The scientific novelty: upgrade of the methods of visualizing transparent objects using modern tools provided by the Vulkan API. And providing ways to optimize the chosen method of visualizing transparent objects. The practical value of the results obtained in the work is that the proposed method of hardware and software ray tracing makes it possible to visualize a realistic image in three-dimensional simulation tasks. The developed method makes it possible to render scenes with a sufficient level of speed for real-time rendering based on compared to other rendering methods based on the ray tracing algorithm. The performance improvement is about 15-20 percent. Approbation of work. The main provisions and results of the work were presented and discussed at the 89th International Scientific Conference of Young Scientists, Postgraduates and Students from NUPh and at the conference of the Youth Scientific League. An article was published in the Grail of Science. Structure and scope of work. The master's thesis consists of an introduction, three chapters and conclusions. The introduction describes the general task of methods for visualizing transparent objects, the relevance and practical application of these methods. The first section existing methods for solving the problem of visualizing transparent objects was analyzed using the developed software. The second section describes the Vulkan API and analyzes the tools of this tool that can be used to optimize object visualization. The third section describes the ways to optimize the visualization method using the Vulkan API and presents the results obtained The results of the work are presented in the conclusions. The work is presented on 72 pages, contains links to the list of references used

    Multi-GPU Rendering with the open Vulkan API

    Get PDF
    The Vulkan API provides a low level interface to modern Graphics Processing Units (GPUs). We demonstrate how to use Vulkan to send commands explicitly to separate GPUs for implementing platform,- and vendor independent multi-GPU rendering. We describe how to implement the sort-first and sort-last approaches to perform parallel rendering with Vulkan. We introduce an abstraction library which we have made available, and an application for multi-GPU rendering of meshes. Performance benchmarks have been performed in order to evaluate the implementation. We also show that we can utilize the additional GPU memory from multiple GPUs to render larger data sets than possible with a single GPU

    Platform-agnostic data visualization in Qt framework

    Get PDF
    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

    A Platform for Virtual Reality Applications

    Get PDF
    Vynález webu (World Wide Web) vyvolal převrat ve způsobu, jakým lidstvo sdílí informace. Přes jeho úspěch obsahuje web mnoho hluboce zakořeněných nedostatků. V této práci zkoumám tyto nedostatky a vymýšlím řešení pro vytvoření platformy založené na technologiích VR. Tato část práce je soustředěna na vývoj základového vykreslovacího a virtualizačního enginu pro aplikace této platformy.The World Wide Web has revolutionized the way humanity shares and accesses information. Despite its success, the World Wide Web has numerous deeply rooted shortcomings. I investigate these shortcomings and come up with solutions to creating a platform based on consumer VR technology. This part of the work focuses on the development of the base rendering and virtualization engine for applications utilizing the platform

    Hands-on study on Vulkan and the hardware ray-tracing extensions

    Get PDF
    The new GPUs from Nvidia and AMD include hardware ray-tracing acceleration units that enable regular consumer computers to be capable of drawing 3D scenes in a more realistic way than by simple rasterization. Rasterization is limited among other things by the fact that drawing is always made in the local context of every object in the scene, while ray-tracing is performed on the whole scene. The access to these hardware ray-tracing units by the programmer is by means of the new "RTX" extensions that have been released by the Khronos Group for their Vulkan API, the lower level successor to the industry-standard OpenGL. So it may be time to bite the bullet, leave the comfort of OpenGL behind, and start learning the API of it's successor and how it engages with the new RTX extensions. This text attempts to give you some general guidance to aid in learning the Vulkan API, a small introduction in how ray-tracing works, how this new hardware handles it, and the new type of shaders required to be supplied to the GPU for the calculations and drawing. Then, finally, a small ray-tracer is put together in order to create some 3D scenes showing some of the interesting new capabilities that are difficult or impossible to achieve by means of rasterization: Shadows, reflections, and refraction of the light rays, along with measuring and providing the frames per second achieved with the employed hardware configuration while drawing each of them.Las nuevas GPU de Nvidia y AMD incluyen unidades de aceleración de trazado de rayos de hardware que permiten que las computadoras de consumo normales sean capaces de dibujar escenas en 3D de una manera más realista que mediante una simple rasterización. La rasterización está limitada, entre otras cosas, por el hecho de que el dibujo siempre se realiza en el contexto local de cada objeto de la escena, mientras que el trazado de rayos se realiza en la escena en general. El acceso a estas unidades de trazado de rayos de hardware por parte del programador se realiza mediante las nuevas extensiones "RTX" que Khronos Group ha lanzado para su API Vulkan, el sucesor de nivel inferior del estándar de la industria OpenGL. Por lo tanto, puede ser el momento de morder la bala, dejar atrás la comodidad de OpenGL y comenzar a aprender la API de su sucesor y cómo se relaciona con el nuevo RTX extensiones. Este texto intenta brindarle una guía general para ayudarlo a aprender la API de Vulkan, una pequeña introducción sobre cómo funciona el trazado de rayos, cómo lo maneja este nuevo hardware y el nuevo tipo de sombreadores que se deben suministrar a la GPU para los cálculos y dibujo. Luego, finalmente, se ensambla un pequeño trazador de rayos para crear algunas escenas en 3D que muestran algunas de las nuevas e interesantes capacidades difíciles o imposibles de conseguir mediante rasterización: sombras, reflejos y refracción de los rayos de luz, además de medir y proporcionar los fotogramas por segundo conseguidos con la configuración hardware empleada al dibujar cada uno de ellos.Les noves GPU de Nvidia i AMD inclouen unitats d'acceleració de traçat de raigs de maquinari que permeten que els ordinadors de consum normals siguin capaços de dibuixar escenes en 3D d'una manera més realista que mitjançant una simple rasterización. La rasterització està limitada, entre altres coses, pel fet que el dibuix sempre es realitza en el context local de cada objecte de l'escena, mentre que el traçat de raigs es realitza en l'escena en general. L'accés a aquestes unitats de traçat de raigs de maquinari per part de l'programador es realitza mitjançant les noves extensions "RTX" que Khronos Group ha llançat per a la seva API Vulkan, el successor de nivell inferior de l'estàndard de la indústria OpenGL. Per tant, pot ser el moment de mossegar la bala, deixar enrere la comoditat d'OpenGL i començar a aprendre l'API del seu successor i com es relaciona amb el nou RTX extensions. Aquest text intenta brindar-li una guia general per ajudar-lo a aprendre l'API de Vulkan, una petita introducció sobre com funciona el traçat de raigs, com ho maneja aquest nou maquinari i el nou tipus de ombrejadors que s'han de subministrar a la GPU per als càlculs i dibuix. Després, finalment, s'acobla un petit traçador de raigs per crear algunes escenes en 3D que mostren algunes de les noves i interessants capacitats difícils o impossibles d'aconseguir mitjançant rasterización: ombres, reflexos i refracció dels raigs de llum, a més de mesurar i proporcionar els fotogrames per segon aconseguits amb la configuració del maquinari emprada al dibuixar cada un d'ells

    VComputeBench: A Vulkan Benchmark Suite for GPGPU on Mobile and Embedded GPUs

    Get PDF
    GPUs have become immensely important computational units on embedded and mobile devices. However, GPGPU developers are often not able to exploit the compute power offered by GPUs on these devices mainly due to the lack of support of traditional programming models such as CUDA and OpenCL. The recent introduction of the Vulkan API provides a new programming model that could be explored for GPGPU computing on these devices, as it supports compute and promises to be portable across different architectures. In this paper we propose VComputeBench, a set of benchmarks that help developers understand the differences in performance and portability of Vulkan. We also evaluate the suitability of Vulkan as an emerging cross-platform GPGPU framework by conducting a thorough analysis of its performance compared to CUDA and OpenCL on mobile as well as on desktop platforms. Our experiments show that Vulkan provides better platform support on mobile devices and can be regarded as a good crossplatform GPGPU framework. It offers comparable performance and with some low-level optimizations it can offer average speedups of 1.53x and 1.66x compared to CUDA and OpenCL respectively on desktop platforms and 1.59x average speedup compared to OpenCL on mobile platforms. However, while Vulkan’s low-level control can enhance performance, it requires a significantly higher programming effort.EC/H2020/688759/EU/Low-Power Parallel Computing on GPUs 2/LPGPU

    GPU High-Performance Framework for PIC-like Simulation Methods Using the Vulkan® Explicit API

    Get PDF
    Within computational continuum mechanics there exists a large category of simulation methods which operate by tracking Lagrangian particles over an Eulerian background grid. These Lagrangian/Eulerian hybrid methods, descendants of the Particle-In-Cell method (PIC), have proven highly effective at simulating a broad range of materials and mechanics including fluids, solids, granular materials, and plasma. These methods remain an area of active research after several decades, and their applications can be found across scientific, engineering, and entertainment disciplines. This thesis presents a GPU driven PIC-like simulation framework created using the Vulkan® API. Vulkan is a cross-platform and open-standard explicit API for graphics and GPU compute programming. Compared to its predecessors, Vulkan offers lower overhead, support for host parallelism, and finer grain control over both device resources and scheduling. This thesis harnesses those advantages to create a programmable GPU compute pipeline backed by a Vulkan adaptation of the SPgrid data-structure and multi-buffered particle arrays. The CPU host system works asynchronously with the GPU to maximize utilization of both the host and device. The framework is demonstrated to be capable of supporting Particle-in-Cell like simulation methods, making it viable for GPU acceleration of many Lagrangian particle on Eulerian grid hybrid methods. This novel framework is the first of its kind to be created using Vulkan® and to take advantage of GPU sparse memory features for grid sparsity
    corecore