1 |
Modelo para simulação em tempo-real de nuvens usando billboardsTorchelsen, Rafael Piccin 25 February 2006 (has links)
Made available in DSpace on 2015-03-05T13:53:45Z (GMT). No. of bitstreams: 0
Previous issue date: 25 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / Esse trabalho tem por objetivo apresentar um modelo para geração e animação de céus em
tempo-real, onde as nuvens possuem uma representação volumétrica e sua visualização é
feita através de billboards. A iluminação das nuvens utiliza vertex-shaders e uma técnica de
absorção de luz similar a ray-casting. A principal aplicação deste modelo é em jogos e
entretenimento interativo, onde grandes áreas de natureza são exibidas e portanto faz-se
necessário uma representação realista do céu. As principais contribuições deste trabalho
são: a geração semi-automática de modelos tridimensionais de nuvens, iluminação das
nuvens levando-se em conta a perda de energia da luz no interior da nuvem e o conceito de
variação climática. / The objective of this work is to present a model for generation and animation of skies, in
real-time, where clouds have a volumetric representation implemented using billboards.
Clouds illumination performed using vertex-shader and a technique of light absorption
similar to ray-casting algorithms. The main application of the model is for games and
interactive entertainment, where large areas of nature must be visualized in a realistic
representation. The main contributions of this work are: semi-automatic generation of
three-dimensional clouds models, cloud illumination using a technique of light absorption
to simulate dark areas of the cloud and the concept of climatic variation.
|
2 |
Skeletal Animation Optimization Using Mesh ShadersTorabi, Peyman January 2019 (has links)
Background. In this thesis a novel method of skinning a mesh utilizing Nvidia’sTuring Mesh Shader pipeline is presented. Skinning a mesh is often performed with a Vertex Shader or a Compute Shader. By leveraging the strengths of the new pipeline it may be possible to further optimize the skinning process and increase performance, especially for more complex meshes. Objectives. The aim is to determine if the novel method is a suitable replacement for existing skinning implementations. The key metrics being studied is the total GPU frame time of the novel implementation in relation to the rest, and its total memory usage. Methods. Beyond the pre-existing implementations such as Vertex Shader skinning and Compute Shader skinning, two new methods using Mesh Shaders are implemented. The first implementation being a naive method that simply divides the mesh into meshlets and skins each meshlet in isolation. The proposed novel common influences method instead takes the skinning data, such as the joint influences of each vertex, into account when generating meshlets. The intention is to produce meshlets where all vertices are influenced by the same joints, allowing for information to be moved from a per vertex basis to a per meshlet basis. Allowing for fewer fetches to occur in the shader at run-time and potentially better performance. Results. The results indicate that utilizing Mesh Shaders results in approximately identical performance compared to Vertex Shader skinning, (which was observed to be the fastest of the previous implementations) with the novel implementation being marginally slower due to the increased number of meshlets generated. Mesh Shading has the potential to be faster if optimizations unique to the new shaders are employed. Despite producing more meshlets, the novel implementation is not significantly slower and is faster at processing individual meshlets compared to the naive approach. The novel Common Influences implementation spends between 15-22% less time processing each meshlet at run-time compared to the naive solution. Conclusions. Ultimately the unique capabilities of Mesh Shaders allow for potential performance increases to be had. The proposed novel Common Influences method shows promise due to it being faster on a per meshlet basis, but more work must be done in order to reduce the number of meshlets generated. The Mesh Shading pipeline is as of writing very new and there is a lot of potential for future work to further enhance and optimize the work presented in this thesis. More work must be done in order to make the meshlet generation more efficient so that the run-time workload is reduced as much as possible. / Bakgrund. I denna avhandling presenteras en ny metod för att deformera en modell med hjälp av den nya Mesh Shader funktionaliteten som är tillgänglig i Nvidias nya Turing arkitektur. Deformering av modeller utförs just nu oftast med så kallade Vertex eller Compute Shaders. Genom att nyttja styrkan hos den nya arkitekturen så kan det vara möjligt att ytterligare optimera deformeringsprocessen och på så sätt öka prestandan. Speciellt i samband där mer komplexa modeller används. Syfte. Syftet är att avgöra om den nya metoden är en lämplig ersättning av de nuvarande implementationerna. De viktigaste aspekterna som studeras är den totala GPU-exekveringstiden per bild som renderas av den nya metoden i förhållande till resterande, samt dess totala minnesanvändning. Metod. Utöver de befintliga implementeringarna, såsom Vertex Shader deformering och Compute Shader deformering, implementeras två nya metoder som använder Mesh Shaders. Den första implementeringen är en naiv metod som helt enkelt delar modellen i mindre delar, så kallade meshlets och deformerar varje meshlet i isolering. Den föreslagna nya common influences metoden tar i stället hänsyn till deformeringsdatan som tillhör modellen, såsom de gemensamma inverkningarna av varje vertex, vid generering av meshlets. Avsikten är att producera meshlets där alla vertriser påverkas av samma leder i modellens skelett, vilket gör det möjligt att flytta informationen från en per vertris basis till en per meshlet basis. Detta tillåter att färre hämtningar sker på grafikkortet vid körning och vilket kan potentiellt ge bättre prestanda. Resultat. Resultaten indikerar att utnyttjandet av Mesh Shaders resulterar i ungefär samma prestanda jämfört med Vertex Shader deformering, (som observerades vara den snabbaste av de existerande implementationerna) samt att den orginella implementationen är marginellt långsammare på grund av ett högre antal meshlets genereras. Mesh Shading har potential till att bli snabbare om optimeringar somär unika till den nya arkitekturen används. Trots att man producerar fler meshlets,är den nya metoden inte markant långsammare och är snabbare med att bearbeta meshlets individuellt jämfört med den naiva implementationen. Den orginella implementationen spenderar mellan 15-22% mindre tid per meshlet vid körtid jämfört med den naiva lösningen. Slutsatser. I slutändan så erbjuder Mesh Shaders unika nya möjligheter till optimeringar som kan leda till potentiellt bättre prestanda. Den föreslagna nya Common Influences-metoden är lovande på grund av att den är snabbare per meshlet, men mer arbete måste utföras för att minska antalet genererade meshlets. Mash Shaders och Turing arkitekturen är vid skrivande stund fortfarande väldigt nya och det finns mycket potential för framtida arbeten att yterrligare förbättra och optimera det arbete som presenteras i denna avhandling. Mer arbete måste utföras för att göra meshletgenereringen effektivare så att arbetet som måste utföras under körtid minskas så mycket som möjligt.
|
3 |
HaGPipe : Programming the graphics pipeline in HaskellBexelius, Tobias January 2009 (has links)
<p> </p><p>In this paper I present the domain specific language HaGPipe for graphics programming in Haskell. HaGPipe has a clean, purely functional and strongly typed interface and targets the whole graphics pipeline including the programmable shaders of the GPU. It can be extended for use with various backends and this paper provides two different ones. The first one generates vertex and fragment shaders in Cg for the GPU, and the second one generates vertex shader code for the SPUs on PlayStation 3. I will demonstrate HaGPipe's many capabilities of producing optimized code, including an extensible rewrite rule framework, automatic packing of vertex data, common sub expression elimination and both automatic basic block level vectorization and loop vectorization through the use of structures of arrays.</p>
|
4 |
HaGPipe : Programming the graphics pipeline in HaskellBexelius, Tobias January 2009 (has links)
In this paper I present the domain specific language HaGPipe for graphics programming in Haskell. HaGPipe has a clean, purely functional and strongly typed interface and targets the whole graphics pipeline including the programmable shaders of the GPU. It can be extended for use with various backends and this paper provides two different ones. The first one generates vertex and fragment shaders in Cg for the GPU, and the second one generates vertex shader code for the SPUs on PlayStation 3. I will demonstrate HaGPipe's many capabilities of producing optimized code, including an extensible rewrite rule framework, automatic packing of vertex data, common sub expression elimination and both automatic basic block level vectorization and loop vectorization through the use of structures of arrays.
|
5 |
General Purpose Programming on Modern Graphics HardwareFleming, Robert 05 1900 (has links)
I start with a brief introduction to the graphics processing unit (GPU) as well as general-purpose computation on modern graphics hardware (GPGPU). Next, I explore the motivations for GPGPU programming, and the capabilities of modern GPUs (including advantages and disadvantages). Also, I give the background required for further exploring GPU programming, including the terminology used and the resources available. Finally, I include a comprehensive survey of previous and current GPGPU work, and end with a look at the future of GPU programming.
|
6 |
Procedural Textures in CET : Investigating the feasibility of implementing procedural textures in CET / Procedurell texturgenerering i CETOscar, Sandell, Adam, Schuber January 2023 (has links)
Applications with 3D graphics often utilize high-resolution image textures to enhance re-alism. Image textures are stored as large files, which can result in significant storage spaceallocation for the application. Furthermore, image textures are also disadvantaged becausethey are static and lack flexibility. These issues could be addressed through the use of pro-cedurally generated textures, referred to as procedural textures. The thesis explored andinvestigated the feasibility of implementing procedural textures in Configura’s 3D interiordesign software CET. A procedural texture was implemented that showcased many posi-tive attributes of procedural textures, including: reduced storage space requirements, un-limited resolution, and versatile customization. To accomplish this, an iterative approachwas used as the methodology, where the procedural texture was gradually incorporatedinto CET. The procedural texture later underwent a performance evaluation. The resultsshowed that traditional textures allocate an order of magnitude more storage space thanthe procedural approach. Despite this, renderings times in CET remained similar. In tworendering tests, the procedural texture was measured to be 9% faster in the first test, and 3.4% slower in the second test. In conclusion, procedural texture have many benefits thatcompanies such as Configura could take advantage of.
|
7 |
Smooth Particle Ribbons Through Hardware Accelerated Tessellation / Mjuka Partikelband Genom Hårdvaruaccelererad TesselleringEriksson, Oliver January 2022 (has links)
Generating and rendering ribbons from a stream of particles is common in games and VFX to visualize flow. To create detailed smooth particle ribbons this work combines tessellation and B-splines, which gives smooth surfaces with contiguous normals. The traditional pipeline for doing hardware tessellation with hull- and domain shaders is limited to a maximum tessellation level, which limits how much detail a ribbon can get. In Nvidia’s Turing architecture, mesh- and task shaders were introduced, which provide support for tessellating geometry while not having any constraints on the amount of geometry that can be generated. This work evaluates three implementations for generating and drawing smooth particle ribbons by measuring performance in terms of execution time. The implementations are based on mesh shaders, mesh + task shaders and the traditional pipeline. In turn, three optimizations are proposed. The optimizations evaluated are adaptive level of detail, culling and Gouraud shading. The results show that the traditional pipeline is faster than using mesh shader based tessellation up to its maximum tessellation factor. For larger tessellation factors, when combining adaptive LOD, culling and Gouraud shading, mesh and task shaders combined can generate ribbons at higher quality than the traditional tessellation pipeline, with comparable performance. / Att generera och rendera band från partikelströmmar är vanligt i spel och VFX för att visualisera flöden. För att skapa detaljrika mjuka partikelband kombinerar det här arbetet tessellering och B-splines, vilket ger mjuka ytor med kontinuerliga normaler. Den traditionella pipelinen för att göra hårdvarutessellering med hull- och domain shaders är begränsade till en maximal tesselleringsnivå, vilket begränsar hur detaljrik ett band kan bli. Med Nvidias turingarkitektur introducerades mesh- och task shaders, vilket också stödjer tessellering av geometri med fördelen att inte vara begränsade till en maximal tesselleringsnivå. Det här arbetet evaluerar tre implementationer av mjuka partikelband när de genereras och ritas genom att mäta prestanda genom exekveringstid. Implementationerna är baserade på mesh shaders, mesh + task shaders och den traditionella pipelinen. Utöver detta föreslås tre optimeringar. Dessa optimeringar är adaptiv LOD, culling och Gouraud shading. Resultaten visar att den traditionella pipelinen är snabbare än att använda mesh shaderbaserad tessellering upp till och med dess maximala tesselleringsfaktor. För större tesselleringsfaktorer, när adaptiv LOD, culling och Gouraud shading kombineras, kan mesh och task shaders tillsammans generera band med högre kvalitet än den traditionella tesselleringspipelinen, med jämförbar prestanda.
|
8 |
Functional Shading Language : Kompilering av funktionsvärden, typinferens och automatisk generalisering till HLSL / Functional Shading Language : Compiling function values, type inference and automatic generalisation to HLSLChristensson, Ludvig January 2018 (has links)
Rapporten beskriver design, utveckling och testning av det funktionella shaderspråket FSL i syftet att avgöra om funktionell paradigm gör shaderspråk enklare att förstå och använda än den existerande imperativa paradigmen. Implementationen presenterar tekniker för att kompilera de funktionella språkkonstruktionerna typinferens, funktionsvärden och automatisk generalisering till HLSL. För jämförelse introduceras också språket PSL, en imperativ motsvarighet till FSL. Resultatet bedöms genom ett blindtest där FSL och PSL presenteras till två separata grupper och testas genom tre provuppgifter. Undersökningen visade att personer som testade det funktionella språket svarade mer negativt på språkets designbeslut, men att båda grupperna presterade lika bra på uppgifterna. Förslag på hur arbetet kan användas som grund för en djupare studie om funktionell grafikprogrammering presenteras. Till sist diskuteras olika sätt att bygga på FSLs tekniska bas för att implementera andra funktionella språkverktyg.
|
9 |
Techniques for improving the visualization of natural scenesGumbau Portalés, Jesús 18 February 2011 (has links)
La representación interactiva de escenarios naturales en tiempo real presenta problemas debido a la gran cantidad de información que debe ser procesada. Un bosque puede estar compuesto por decenas de miles de especies vegetales, las cuales a su vez están compuestas por decenas de miles de elementos (hojas, tallos y ramas). Una descripción precisa de una escena de este tipo implica el procesamiento de una cantidad de información intratable para su uso en aplicaciones en tiempo real. Durante los últimos 20 años se han publicado muchos trabajos de carácter científico para resolver este problema, aportando diferentes estrategias con particulares ventajas e inconvenientes.
El objetivo principal de esta tesis es la presentación de un conjunto de técnicas para mejorar la eficiencia en la representación de escenas naturales en tiempo real. Para ello se han realizado aportaciones en diferentes ámbitos del área de los gráficos por computador. Por una parte, se ha propuesto un modelo de nivel de detalle multirresolución especialmente diseñado para la vegetación, basado en nivel de detalle de resolución variable, el cual permite la adaptación de la complejidad poligonal de especies vegetales en tiempo real. Esta propuesta se acompaña de una nueva aportación diseñada para el manejo de escenas masivamente pobladas, es decir, con miles de modelos multiresolución. Además se han propuesto nuevas técnicas para mejorar la visualización en el ámbito de la iluminación, tanto en cuanto a modelar los efectos de iluminación en árboles como a la representación eficiente de sombras visualmente realistas.
|
10 |
A nNon-photorealistic Model for Procedural Painterly Rendered Trees in the Style of CorotLosure, Michael Robert 15 May 2009 (has links)
This thesis describes the development of a system for the procedural generation and
painterly rendering of trees. Specifically, the rendered trees are modeled after those
found in the oil landscape paintings of 19th century French painter Camille Corot. The
rendering system, which is a combination of MEL-scripted Maya tools and Renderman
shaders, facilitates the creation of still images that look convincingly painterly, as well as
3D animations with temporal coherence. Brush stroke properties are animated based on
distance from the camera, so that traditional painting techniques for representing depth
are incorporated into the computer-generated animations.
During the development process, the system was generalized to apply to other structures,
such as grass and rocks, and allows for the creation and rendering of entire landscapes.
Several example animations were created with the system to demonstrate the ideas
developed during the process and the quality of the results.
|
Page generated in 0.0145 seconds