Vis enkel innførsel

dc.contributor.advisorHendseth, Sverre
dc.contributor.authorLange, Henrik Kåfjord
dc.date.accessioned2023-09-26T17:20:23Z
dc.date.available2023-09-26T17:20:23Z
dc.date.issued2023
dc.identifierno.ntnu:inspera:140443607:36112689
dc.identifier.urihttps://hdl.handle.net/11250/3092164
dc.descriptionFull text not available
dc.description.abstractProsedyredrevet generering beskriver hvordan data verdier kan skapes ved hjelp av algoritmer og matematiske prosedyrer. Typisk vil verdier som skapes av prosedyrer ha et sett med tilfeldige egenskaper, begrenset av prosedyrens matematiske regler. Halv-tilfeldige data verdier brukes for a skape mer dynamiske og mindre rigide resultater. Det er et virkemiddel ofte brukt ˚ i dataspill, digital kunst og musikkprosessering. For a kunne dra nytte av de genererte halv- ˚ tilfeldige data verdiene trengs det ofte mer prosessering. Et eksempel pa dette er programvare ˚ som leser matematiske verdier og viser dem pa skjermen som en tredimensjonal verden. Det ˚ finnes mange eksempler programvare som kan gjøre dette, fra grafikk programvare som gjemmer bort alle implementasjonsdetaljer til enkle programvaregrensesnitt som lar utviklere styre alle detaljer selv. OpenGL er et eksempel pa et slikt programvaregrensesnitt, som lar utviklere ˚ jobbe med sma detaljerte kodesnutter som kjører p ˚ a grafikkprosessoren. ˚ Dette prosjektet beskriver utviklingen av en programvare som bruker OpenGL til a vise ˚ resultatene fra en prosedyredrevet genereringsprosess pa skjermen. Programvaren som utvikles ˚ i dette prosjektet vil kunne lese og prosessere data verdier og vise dem riktig pa skjermen. Den ˚ vil ikke kunne skape egne data verdier, ettersom dette er utenfor prosjektets omfang. Prosjektet vil ogsa beskrive to forskjellige utviklingsfilosofier og hvordan de kan benyttes for ˚ a strukturere ˚ og jobbe med et utviklingsprosjekt. Prosjektets første del bestar av en litteraturstudie med hvor søkelyset er p ˚ a de teoretiske ˚ aspektene ved data prosessering, utviklingsfilosofier og grafikkprogrammering. Denne delen vil ha et spesielt fokus pa OpenGL programvaregrensesnittet og hvordan dette kan brukes til ˚ a vise grafikk p ˚ a en skjerm. Etter dette vil prosjektet bruke en iterativ utviklingsfilosofi til ˚ a utvikle fire forskjellige versjoner av programvaren. Disse forskjellige versjonene vil bygge ˚ pa hverandre og den siste versjonen vil være en fungerende grafisk programvare med mange ˚ forskjellige eg
dc.description.abstractProcedural generation refers to the process of dynamically creating semi-randomized content using algorithms and procedures. It is commonly used to add variance and dynamism to generated content and is commonly used in video games, digital art and digital music. The data produced by procedural generation software is only a mathematical representation. For it to be a useful tool in video games or digital art further processing is needed. If the procedural generation generates 3D environments, a rendering software is needed to process the data and render the mathematical representations as graphics on the screen. There are a large variety of different rendering tools available. At one end of the spectrum is high-level game engines which hides most of the details under levels of abstraction, while at the lowest level every pixel must be calculated by the rendering software. Graphics APIs like OpenGL provide developers with the tools to implement low-level functionality on the GPU. This project details the development process for a piece of rendering software. This software utilizes the low-level OpenGL API to render procedurally generated environments efficiently using the GPU. The software developed in this project reads mathematical representations of a 3D world and render the world on the screen. This project does not contain any procedural generation software, as this is not within the project’s scope. It is the parsing of data and subsequent rendering of that parsed data that is the focus of this project. Additionally, this project also briefly explores two different development methodologies. It selects one of these methodologies and uses it to develop the graphics rendering software. The project first consists of researching the theoretical aspects of parsing, different development methodologies and graphics programming with an focus on the OpenGL API. Using the theory from this research, the rendering software is developed following an iterative approach. Over the course of several iterations, a piece of rendering software is developed with a multitude of different graphical features included. The result is a software capable of rendering different types of light-sources, material properties and more. At the very end of the project the iterative approach and the development process as a whole are examined.
dc.languageeng
dc.publisherNTNU
dc.titleRendering software for procedurally generated environments
dc.typeMaster thesis


Tilhørende fil(er)

FilerStørrelseFormatVis

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel