Here are the implementation of the 4 parts of the practical homework of the discipline of Computer Graphics that has been implemented throughout the entire semester at FACOM - UFMS.
Professor: Paulo Pagliosa
Student: Dimtitre Ortt
Discipline: Computer Graphics, 2019.2, FACOM - UFMS, Campo Grande - MS, Brasil
The base code for the work containing functionalities for creating a Desktop Application and the logic of global coordinates, among others, was provided by the teacher. A feature called ImGui, created and made available by external developers, was also used.
This project included several major parts:
- defining and working with 3D object models in C++
- implementing a data structure to keep different types of 3D shapes and iterate through them
- implementing an algorithm to be run in the hardware, used to define the color of the shapes when a defined light is thrown at it
- implement an algorithm to determine if an intersection between a point in space and a light ray happened
- implement a Ray-Tracer algorithm that throws rays of light into a tri-dimensional space and defines a scene from it
- render a generated scene on the screen
Almost everything in this project was implemented using C++.