Tytuł pozycji:
Software Rendering of 3D Graphics
Celem pracy licencjackiej był przegląd i prezentacja różnych technik renderowania 3D, nie wykorzystując do tego powszechnie stosowanych bibliotek graficznych takich jak OpenGL albo Microsoft DirectX. Treść pracy skupia się na algorytmach i metodach leżących u podstaw grafiki trójwymiarowej, proponuje ich realizację w sposób programowy, nie wspomagany sprzętowo przez karty graficzne. Na wstępie przedstawione są różne metody generowania trójwymiarowych obrazów, pokrótce omówione są ich wady i zalety. Następne rozdziały poruszają problem organizacji danych geometrycznych, a potem w większych szczegółach prezentują proces rasteryzacji siatek trójkątów i kilka możliwych dla niego optymalizacji. Pracę zamyka zebranie aspektów implementacyjnych, kluczowych do realizacji renderowania programowego w nowoczesnych systemach operacyjnych i platformach sprzętowych. W ostatnim rozdziale znajdują się też przykłady efektów graficznych osiągniętych podczas eksperymentowania z realizacją poruszonych w pracy tematów.
The aim of this Bachelor thesis was to review and present various 3D rendering techniques, without adopting commonly used graphic libraries such as OpenGL or Microsoft DirectX. The content of the work focuses on the underlying algorithms and methods of three-dimensional graphics, proposes their implementation in a software-only manner, not accelerated by graphics cards. At the beginning, various methods of generating three-dimensional images are presented, their advantages and disadvantages are briefly discussed. The next chapters deals with the problem of organizing geometric data, and then in greater detail presents the process of rasterization of meshes and several possible optimizations of this process. The work ends with the collection of implementation aspects, key to the implementation of software rendering in modern operating systems and hardware platforms. The last chapter also includes examples of graphic effects achieved when experimenting with the implementation of the topics discussed in this work.