Workflow Improvements for Real-Time Shader Development
Peter J. Dahl, Ejby Jensen
Abstract
Peter J. Dahl, Ejby Jensen
Abstract
www.imm.dtu.dk This thesis will discuss the design and implementation of a shader graph editor. The editor makes the daunting task of programming shaders accessible for non programmers, as no programming or specific knowledge of graphics hardware is required. Graphics programming complexities such as different types or conversion between mathematical spaces, such as world and object space, is hidden from the user and handled automatically by the system. The work presented here also covers integrating the editor with a game engine, which includes supporting effects such as shadows and different light types in the generated shaders. The editor supports the creation of both vertex and fragment shaders, and discusses optimization issues of the generated shaders. Resumé I denne afhandling vil vi diskutere design og implementering af en shader graf editor. Editoren gør den krævende opgave at programmere shadere tilgængelig for ikke programmører, da erfaring med programering eller specifik kendskab til computer grafik hardware ikke er nødvendigt. Kompleksiteterne fra grafikprogrammering s˚asom forskellige typer samt transformation fra et matematisk rum til et andet, som f.eks. objekt- til verdenskoordinater, er skjult for brugeren og bliver h˚andteret automatisk af systemet. Projektet gennemg˚ar ogs˚a integreringen af editoren med en game engine, hvilket giver understøttelse af effekter som f.eks. skygger og forksellige lyskilde typer i de generede shadere. Editoren understøtter ydermere b˚ade vertex og fragment shadere, og diskutere optimerings overvejelser for de generede shadere.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
www.imm.dtu.dk This thesis will discuss the design and implementation of a shader graph editor. The editor makes the daunting task of programming shaders accessible for non programmers, as no programming or specific knowledge of graphics hardware is required. Graphics programming complexities such as different types or conversion between mathematical spaces, such as world and object space, is hidden from the user and handled automatically by the system. The work presented here also covers integrating the editor with a game engine, which includes supporting effects such as shadows and different light types in the generated shaders. The editor supports the creation of both vertex and fragment shaders, and discusses optimization issues of the generated shaders. Resumé I denne afhandling vil vi diskutere design og implementering af en shader graf editor. Editoren gør den krævende opgave at programmere shadere tilgængelig for ikke programmører, da erfaring med programering eller specifik kendskab til computer grafik hardware ikke er nødvendigt. Kompleksiteterne fra grafikprogrammering s˚asom forskellige typer samt transformation fra et matematisk rum til et andet, som f.eks. objekt- til verdenskoordinater, er skjult for brugeren og bliver h˚andteret automatisk af systemet. Projektet gennemg˚ar ogs˚a integreringen af editoren med en game engine, hvilket giver understøttelse af effekter som f.eks. skygger og forksellige lyskilde typer i de generede shadere. Editoren understøtter ydermere b˚ade vertex og fragment shadere, og diskutere optimerings overvejelser for de generede shadere.
Key concepts: Shader, Computer science, Workflow, Computer graphics (images), Graphics, Graph, Human–computer interaction, Programming language