• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 29
  • 10
  • 3
  • 1
  • Tagged with
  • 46
  • 27
  • 18
  • 16
  • 14
  • 13
  • 11
  • 10
  • 9
  • 9
  • 8
  • 8
  • 7
  • 7
  • 7
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

A Fast Fluid Simulator Using Smoothed-Particle Hydrodynamics

January 2012 (has links)
abstract: This document presents a new implementation of the Smoothed Particles Hydrodynamics algorithm using DirectX 11 and DirectCompute. The main goal of this document is to present to the reader an alternative solution to the largely studied and researched problem of fluid simulation. Most other solutions have been implemented using the NVIDIA CUDA framework; however, the proposed solution in this document uses the Microsoft general-purpose computing on graphics processing units API. The implementation allows for the simulation of a large number of particles in a real-time scenario. The solution presented here uses the Smoothed Particles Hydrodynamics algorithm to calculate the forces within the fluid; this algorithm provides a Lagrangian approach for discretizes the Navier-Stockes equations into a set of particles. Our solution uses the DirectCompute compute shaders to evaluate each particle using the multithreading and multi-core capabilities of the GPU increasing the overall performance. The solution then describes a method for extracting the fluid surface using the Marching Cubes method and the programmable interfaces exposed by the DirectX pipeline. Particularly, this document presents a method for using the Geometry Shader Stage to generate the triangle mesh as defined by the Marching Cubes method. The implementation results show the ability to simulate over 64K particles at a rate of 900 and 400 frames per second, not including the surface reconstruction steps and including the Marching Cubes steps respectively. / Dissertation/Thesis / M.S. Computer Science 2012
2

Trimačių vaizdų programavimas / 3D image programming

Jakštys, Vytautas 01 August 2013 (has links)
Šiame darbe nagrinėjamos populiariausios trimačių vaizdų apdorojimo technologijos DirectX ir OpenGL. Buvo atlikta jų apžvalga, pateikti šių technologijų pagrindiniai privalumai ir trūkumai bei atlikta jų lyginamoji analizė. Darbe apžvelgtos populiariausios modernios programavimo kalbos turinčios trimačių vaizdų programavimo galimybęs – C# ir C++. Panaudojant šias kalbas buvo sukurta programinė įranga skirta DirectX ir OpenGL technologijų vaizdų apdorojimo spartos tyrimui. Buvo atliktas didelis skaičius eksperimentų, kurių metu buvo siekiama nustatyti minėtų technologijų spartą vizualizuojant elementarių ir sudėtinių figūrų judesius, bei taikant skirtingą figūrų gilumą. Atlikus eksperimentinius tyrimus Windows aplinkoje buvo nustatyta, kad DirectX technologijos trimačių vaizdų vizualizavimo sparta yra didesnė. Ši savybė trimačių vaizdų vizualizavime kompiuteryje yra svarbiausia ir ypač aktuali kompiuterinių žaidimų kūrime. Greičiausiai DirectX technologija atvaizduoja trimačius vaizdus programuojant juos C# kalba. Be to, ekperimetinių tyrimų metu buvo nustatyta, kad DirectX technologija geriau išnaudoja CPU ir GPU resursus. Taipogi darbe buvo sukurta taikomoji programa – trimatis biliardo žaidimas, panaudojant efektyviausią trimačių vaizdų apdorojimo technologiją DirectX ir programavimo kalbą C#. / Three-dimensional rendering technologies DirectX and OpenGL were reviewed in this work. The comprehensive survey, review of advantages and disadvantages, and comparative analysis of these technologies was done. The most popular modern programmming languages with three-dimensional programming features were reviewed in this work. The software for testing the speed of the DirectX and OpenGL technologies was developed. A lot of experiments were done in order to determinante speed of these technologies. The experiments included vizualization of basic and complex shapes movements, and different depth of the shapes. The experimental investigations were performed in OS Windows and it was determined that the speed of DirectX technology is higher. This fact is the most important in three-dimensional rendering, especially in computer games development. DirectX technology is the fastest while programming in C#. Be to, ekperimetinių tyrimu metu buvo nustatyta, kad DirectX technologija geriau išnaudoja CPU išteklius. The application – three-dimensional biliard game was developed in this work also. DirectX technology was used and It was programmed in C#.
3

Direct3D 11 vs 12 : A Performance Comparison Using Basic Geometry

Olofsson, Mikael January 2016 (has links)
Context. Computer rendered imagery such as computer games is a field with steady development. To render games an application programming interface (API) is used to communicate with a graphical processing unit (GPU). Both the interfaces and processing units are a part of the steady development in order to be able to push the limits of graphical rendering. Objectives. This thesis investigates if the Direct3D 12 API provides higher rendering performance when compared to its predecessor Direct3D 11. Methods. The method used is an experiment, in which a benchmark rendering basic shaded geometry using both of the APIs while measuring their performance was developed. The focus was aimed at testing API interaction and comparing Direct3D 11 against Direct3D 12. Results. Statistics gained from the benchmark suggest that in this experiment Direct3D 11 offered the best rendering performance in the majority of the cases tested, although Direct3D 12 had specific scenarios where it performed better. Conclusions. As a conclusion the benchmark gave contradicting results when compared to other studies. This could be dependent on the implementation, software or hardware used. In the tests Direct3D 12 was closer to its Direct3D 11 counterpart when more cores were used. A platform with more processing cores available to execute in parallel could reveal if Direct3D 12 could offer better performance in that experimental setting. In this study Direct3D 12 was implemented as to imitate Direct3D 11. If the implementation was further aligned with Direct3D 12 recommendations other results might be observed. Further study could be conducted to give a better evaluation of rendering performance.
4

Re-texturing and compositing new material on pre-rendered media : Using DirectX and UV sampling

Blidkvist, Jesper, Westgren, Joakim January 2016 (has links)
Context: This thesis investigates a new method for re-texturing and com- positing new or additional material on specific pre-rendered images using various blend equations. This is done by sampling a number of render passes created alongside the original source material, most notably a UV pass for accurate texture positioning and different lighting passes to enhance the control over the final result. This will allow comparatively simple and cheap compositing without the overhead that other commercially available tools might add. Objectives: Render the necessary UV coordinates and lighting calculations from a 3D application to two separate textures.Sample said textures in DirectX and use the information to accurately light and position the additional dynamic material for blending with the pre-rendered media. Method: The thesis uses an implementation method in which quantita- tive data is gathered by comparing the resulting composited images using two common image comparison methods, the Structured Similarity Index (SSIM) and Peak Signal to Noise Ratio (PSNR), against a Gold Standard render. Results: The results of this implementation indicates that both the per- ceived and measured similarity is close enough to prove the validity of this method. Conclusions. This thesis shows the possibility and practical use of DirectX as tool capable of the most fundamental compositing operations. In its current state, the implementation is limited in terms of flexibility and func- tionality when compared to other proprietary compositing software packages and some visual artefacts and quality issues are present. There are however no indications that these issues could not be solved with additional work.
5

DirectX12: A Resource Heap Type Copying Time Analysis

Törnblom, Simon, Hellman, Pontus January 2020 (has links)
Background The API DirectX 12 allows programmers to have more control over the GPUs memory management. This includes the ability to allocate resources on different types of memory heaps. But there is a lack of research on how these heap types affect the copying performance. Objectives The aim of this thesis is to benchmark the copying performance of the different heap types in DirectX 12 when increasing the data size. The heaps are tested with the three types of command queue that can be used to execute commands to the GPU. Method To answer our research question, a DirectX 12 prototype was implemented and used to copy increasing amount of data between different heap types. The copy operations were also combined with three different types of command queues to see if these have any impact on the performance. The tests ran on three different Nvidia graphic cards on the same computer setup, both to validate our results but also to spot any potential differences. Results The results from this study show that there is a difference in copying speed when copying data between resources that have been allocated on different heap types. The fastest to slowest were as follows: Default to Default, Upload to Default / Default to Readback and Upload to Readback. Using different types of command queues did not have an impact on performance with the exception of when data was copied from Default to Default on an RTX 2080. All of the tests that were carried out showed that the copying time scaled linearly with the data size. Conclusion This study shows the importance of allocating resources on the most suitable heap as there is a difference in copying time between them. In contrast, was the choice of command queue less important as this had no impact on performance in the majority of the tests. The results also show that the copying time scales linearly with the data size.
6

Volumetric Terrain Genereation on the GPU : A modern GPGPU approach to Marching Cubes / Volumetrisk terränggenerering på grafikkortet : En modern GPGPU implementation av Marching Cubes

Pethrus Engström, Ludwig January 2015 (has links)
Volumetric visualization is something that has become more interesting during recent years. It has been something that was not feasible in an interactive environment due to its complexity in the 3D space. However, today's technology and access to the power of the graphics processing unit (GPU) has made it feasible to render volumetric data interactively. This thesis explores the possibilities to create and render large volumetric terrain using an implementation of Marching Cubes on the GPU. With the advent of general-purpose computing on the GPU (GPGPU) it has become far easier to implement tradition CPU tasks on the GPU. By utilizing newly available functions in DirectX it is possible to create an easier implementation on the GPU using global buffers. Three implementations are created inside the Unity game engine using compute shaders. The implementations are then compared based on creation time, render times and memory consumption. Then a deeper analysis of the time distribution is presented which suggests that Unity introduces some overhead since copying buffers from GPU to CPU is time consuming. It did however improve render times due to its culling and optimization techniques. The system could be used in applications such as games or medical visualization. Finally some future improvements for culling and level of detail (LOD) techniques are discussed. / Volumetrisk visualisering är en teknik som har fått mer uppmärksamhet dom senaste åren. Det har varit någonting som inte har varit rimligt att göra i en interaktiv miljö på grund av dess komplexitet i 3D rymden. Med dagens teknik och tillgänglighet till grafikkortet (GPU) är det nu möjligt att rendera volumetrisk data i en interaktiv miljö. Den här uppsatsen utforskar möjligheterna till att skapa och rendera stora terräng landskap genom en implementering av Marching Cubes på GPU:n. Med framkomsten av general-purpose computing på grafikkortet(GPGPU) har det blivit lättare att programmera på GPU:n. Genom att använda nya funktioner tillgängliga i DirectX är det möjligt att skapa en enklare implementering på GPU:n som använder sig av globala buffrar. Tre implementeringar har skapats i spelmotorn Unity som använder compute shaders. Implementeringarna är sedan jämförda baserad på tid för generering av terräng, renderings tid samt minnes konsumption. Detta följs av en djupare analys av tidsdistribueringen för skapandet som pekar på att Unity håller tillbaka systemets hastiget pga kopierande av minne från GPU:n till CPU:n. Renderingstiden blev dock bättre med hjälp av den inbyggda culling-teknikerna och optimerings tekniker. Detta system skulle kunna appliceras inom spel eller medicinsk visualisering. Slutligen diskuteras framtida förbättringar för culling-tekniker och level of detail (LOD) tekniker.
7

PN-triangle tessellation using Geometry shaders : The effect on rendering speed compared to the fixed function tessellator

Löwgren, Martin, Olin, Niklas January 2010 (has links)
With each computer game generation there is always a demand for more visually pleasing environments. This pushes game developers to create more powerful rendering techniques and game artists to create more detailed art. With a visually stunning backdrop also comes the need for high-resolution models. A common issue is that if all models in a scene are high-resolution it would not only require immensely powerful hardware, it would also be wasteful as only the models in the foreground are close enough that we would recognize the increased details. The common solution to this problem has been to load several versions of each model containing varying amounts of detail. However this solution has the drawback that it increases our memory footprints as more models are loaded into the memory. Tessellation offers a more dynamic solution to the problem as it only requires us to load a low-resolution model and higher resolution versions can be generated during run-time on the GPU. With the introduction of DirectX 11 tessellation is now supported in the hardware, however we are still a few years away from seeing DirectX 11 being used as the core of any 3D rendering engine. In a transitional period like this between hardware generations game developers has to tackle the dilemma that the current hardware generation has to be supported when creating games that will also utilize the next generation. This thesis focuses on comparing the performance of a tessellation scheme supported by the current hardware generation, DirectX 10, as opposed to a scheme developed for the next generation, DirectX 11. Two prototypes, one using the Geometry shader that was introduced in DirectX 10 and the other using the fixed function tessellator introduced in DirectX 11, were built to compare the performance of tessellated model rendering. Several different variants of each prototype were tested and the general conclusion is that the tessellator performed better than the Geometry shader.
8

Impostor Rendering with Oculus Rift / Impostorrendering med Oculus Rift

Niemelä, Jimmy January 2014 (has links)
This report studies impostor rendering for use with the virtual reality head mounted display Oculus Rift. The technique is replacing 3D models with 2D versions to speed up rendering, in a 3D engine. It documents the process of developing a prototype in C++ and DirectX11 and the required research needed to complete the assignment. Included in this report are also the steps involved in getting Oculus Rift support to work in a custom 3D engine and measuring the impact of impostor rendering when rendering to two screens of the head mounted display. The goal was to find the maximum models the engine could draw, while keeping the frame rate locked at 60 frames per second. 2 testers at Nordicstation came to the conclusion that 40-50 meters was the optimal distance for impostor rendering. Any closer and the flatness was noticeable. The results showed a clear improvement in frame rate when rendering a graphically intensive scene. The end result showed that the goal could be achieved at a maximum of 3000 trees with 1000 leaves. Impostor rendering was deemed effective when drawing beyond 500 trees at a time. Less than that and the technique was not needed to achieve 60 frames per second. / Denna rapport undersöker renderingstekniken impostors när den används i en simpel 3D motor tillsammans med virtuella verklighetshjälmen Oculus Rift. Impostors betyder på engelska bedragare och tekniken går ut på att den byter ut avancerade 3D modeller mot simpla 2D versioner när de är ett visst avstånd ifrån användarens virtuella kamera. Om den är korrekt implementerad ska användaren inte märka att vissa modeller är platta och tekniken sparar på resurser då grafikmotorn inte behöver rita ut alla modeller. Rapporten går igenom vad som undersöktes i förundersökningen för att kunna utveckla en prototyp med utvecklingspråket C++ och DirectX 11. I rapporten står även hur prototypen utvecklades och hur stöd för Oculus Rift lades till. De slutliga resultaten visade att impostors hade en stor påverkan på uppdateringshastigheten när antalet 3D modeller som skulle ritas var många, annars hade tekniken ingen påverkan för att nå 60 bilder per sekund. 2 testare från Nordicstation kom fram till att ett avstånd på 40-50 meter från spelarens kamera till utritning av impostors var lämplig, för att dölja att de endast är platta versioner av 3d modeller. Testet visade att motorn kunde rita ut 3000 träd, med 1000 löv på varje, och hålla 60 bilder per sekund, vilket var målet. Detta på ett avstånd av 40m på impostors. Impostorrendering var effektiv när man ritade ut fler än 500 träd åt gången. Mindre antal gav ingen märkbar effekt på testdatorn som användes för testet.
9

Hybridní raytracing v rozhraní DXR / Hybrid Raytracing in DXR

Polášek, Tomáš January 2019 (has links)
The goal of this thesis is to evaluate the usability of hardware accelerated ray tracing in near-future rendering engines. Specifically, DirectX Ray Tracing API and Nvidia Turing architecture are being examined. Design and implementation of a hybrid rendering engine with support for hardware accelerated ray tracing is included and used in implementation of frequently used graphical effects -- hard and soft shadows, reflections, and Ambient Occlusion. The assessment is made in terms of difficulty of integration into a rendering engine, performance of the resulting system and suitability of implementation of chosen graphical effects. Performance parameters -- including number of rays cast per second, time to build acceleration structures and computation time on the GPU -- are tested and discussed.
10

Particle Simulation using Asynchronous Compute : A Study of The Hardware

Enarsson, Kim January 2020 (has links)
Background. With the introduction of the compute shader, followed by the application programming interface (API) DirectX 12, the modern GPU is now going through a transformation. Previously the GPU was used as a massive computational tool for running a single task at unparalleled speed. The compute shader made it possible to run CPU like programs on the GPU, DirectX 12 takes this even further by introducing a multi-engine architecture. Multi-engine architecture unlocks the possibility of running the compute shader alongside the regular graphical stages, this concept is called asynchronous compute. Objectives. This thesis aims to investigate if asynchronous compute can be used to increase the performance of particle simulations. The key metrics being studied are total frame time, rendered frames per second, and overlap time. The frst two are used to determine if asynchronous compute improves performance or not, while the last is used to determine if the particle simulation is running asynchronous compute or not.Methods. For this thesis, the particle simulation used is the N-body particle simulation.The N-body particle simulation is implemented using a compute shader and is part of a larger DirectX 12 framework. One application is implemented that run two different execution models, one is the standard sequential execution model and one is the asynchronous compute model. The main difference between the two execution models is that the sequential execution model will be using only one command queue, this being a 3D command queue. The asynchronous compute model will be running a separate compute command queue alongside the 3D command queue. The performance metrics being studied are all collected using a custom-built GPU profiler. Results. The results indicate that it is possible to increase the performance of particle simulations using asynchronous compute. The registered performance gain reaches as high as 34% on hardware that supports asynchronous compute while hardware that according to NVIDIA does not support asynchronous compute registered performance gains up towards 11%. In terms of overlap time between the compute workload and the graphical workload, the AMD GPU showed an overlap time that matched the frame time. However, NVIDIA GPUs did not show the expected overlap time. Conclusions. It can be determined that asynchronous compute provide benefits when compared to the sequential execution model, it can be used to increase the performance of particle simulations. However, since the research in this thesis only made use of a single particle simulation, more work needs to be done, for example, work to test if the performance gain can be improved even further using different methods like, workload pairing or utilizing multiple GPUs, however that kind of work requires the use of a larger-scale application that consists of multiple different tasks other than just a single particle simulation. / Bakgrund. I och med Introduktionen av compute shadern, tätt följd av DirectX12, så genomgår den moderna GPUn en förvandling. Tidigare användes GPUn som ett massivt uträkningsverktyg ämnat att utföra en enda uppgift med en enastående hastighet. Compute shadern gjorde det möjligt at köra CPU liknande program på GPUn, DirectX 12 tar detta ett steg längre genom att introducera en multi-engine arkitektur. Denna arkitektur låser upp möjligheten att köra compute shadern samtidigt som de vanliga grafiska shader stadigerna, detta konceptet kallas asynchronous compute.Syfte. Syftet med denna avhandling är att undersöka om asynchronous compute kan användas för att öka prestandan på en partikel simulering. Den viktigaste data som kommer studeras är den totala frame tiden, antalet renderade frames varje sekund och överlapp tiden. Den totala frame tiden och antalet renderade frames varje sekund används för att bestämma om asynchronous compute faktiskt ökar prestandan eller inte, medan överlapp tiden används för att bestämma om partikel simuleringen kör asynchronous compute eller inte.Metod. Partikel simuleringen som används i denna avhandling är en N-body partikel simulering. N-body partikel simuleringen är implementerad i en compute shader och är en del av en större DirectX 12 applikation. En applikation implementeras som kör två olika exekverings modeller, den ena är den vanliga sekventiella exekverings modellen och den andra är asynchronous compute modellen. Den primära skillnaden mellan exekverings modellerna är att den sekventiella exekverings modellen bara använder sig av en kommando kö, vilken är en 3D kommando kö. Asynchronous compute modellen kommer använda sig av en separat compute kommando kö tillsammans med 3D kommando kön. Den metriska datan samlas in med hjälp av enegen byggd GPU profilerare.Resultat. Resultatet indikerar att det är möjligt att öka prestandan hos en partikelsimulering som använder sig av asynchronous compute. Den registrerade prestandaökningen når så högt som till 34% på hårdvara som stödjer asynchronous compute, medan hårdvara som inte stödjer asynchronous compute registrerade en prestandaökning upp till 11%. När det kommer till överlapp tiden mellan compute delen och den grafiska delen så visar GPUn från AMD en överlapp tid som matchar frame tiden. När det kommer till GPUerna från NVIDIA så visade dessa inte en förväntad överlapp tid.Slutsatser. Det kan fastställas att asynchronous compute har vissa fördelar jämfört med den sekventiella exekverings modellen. Asynchronous compute kan användas för att öka prestanda hos partikel simuleringar, men eftersom undersökningen i denna avhandling bara använder en enda partikel simulering så krävs ännu mera forskning. Exempelvis forskning som undersöker om prestanda ökningen kan bli ännu bättre, genom att applicera olika metoder som workload pairing och användingen av fera GPUer, detta krväver också att en större application för testing används, som består av fera olika typer av simuleringar och inte bara en enda partikel simuleing.

Page generated in 0.0341 seconds