Development of a Software Renderer

Montag, 1. Juli 2024

Im Bereich der modernen Computergrafik werden die grundlegenden bildgebenden Algorithmen durch Rendering-APIs abstrahiert. Dennoch erweisen sich Software-Renderer, also Programme, die das Rendern ohne dedizierte Hardware durchführen, als äußerst nützlich. Sie bieten eine wertvolle Alternative, wenn keine Grafikkarte im System vorhanden ist, und deren Entwicklung ermöglicht ein tiefes Verständnis der zugrunde liegenden Algorithmen.

Das Ziel meiner Bachelorarbeit war die Konzipierung und Implementierung eines solchen Software-Renderers. Dieser wurde vollständig in Java realisiert, ohne den Einsatz externer Bibliotheken. Der entwickelte Renderer ist in der Lage, 3D-Modelle zu rendern und nutzt dabei verschiedene Optimierungstechniken wie Clipping, Backface Culling, Z-Buffering und parallele Programmierung. Darüber hinaus verfügt der Renderer über ein umfangreiches Featureset, das frei-programmierbare Shader, Texture Mapping und Cubemapping mit Wrapping und Filterung sowie Blending und Postprocessing-Filter umfasst.

Studenten:

 

 

• Bartosz Sobierajski