My final examn from highschool (HTX) in 2018.
Abstract:
Ray tracing is a method of rendering 3d scenes, but it's special because it doesn't use any programming tricks or effects. Ray tracing is mathematically modeled after how light behaves in real life. This is why, all modern 3d graphics are rendered with this technique, except real time applications. Real time applications require that the scene is rendered at least 24 times a second. Because of this, all modern real time applications are forced to use rasterization or any other similar method. We are about to break this barrier though and finally begin using ray tracing in real time applications. Not because the processors and graphics cards are becoming faster, but because we are using neural networks to help render ray tracing faster. I want to compare these methods of rendering and explain why ray tracing is such an amazing technology. I will show how ray tracing is done with some examples of vector calculation. All calculations in this study will be done in Maple 2018. One important comparison I will make between the two rendering methods is their hidden object removal. This comparison is interesting because ray tracing in and of itself is a hidden object removal method. I will of course also look at the difference in reflection quality, since this effect has been very hard to replicate with cheap tricks. I will conclude that, with nVidia pushing machine learning GPUs, the progress is faster than ever and that we will definitely see some real time ray tracing in the coming years. Early examples of machine learning rendered ray traced scenes are already beginning to appear and these immature technologies can only become better with time. Though we will probably not see real time ray tracing done with CPUs before engineers get quantum processors to work.