[ca] Fa molts anys que es realitza recerca al camp de la renderització realista. Tenim diversos mètodes capaços d'aconseguir imatges amb un gran grau de realisme, com pot ser Ray Tracing, Path Tracing, Photon Mapping o Metropolis Light Transport. A excepció del Ray Tracing, la resta de mètodes tracten de resoldre l'Equació de Renderitzat mitjançant aproximacions (és impossible calcular-la íntegrament, ja que necessitaríem temps i potència de càlcul infinita). Gràcies a poder aproximar aquesta equació es poden aconseguir efectes de forma natural, sense necessitat d'un postprocessat, com motion blur, depth of field, càustiques, etc. El mètode que implementarem i estudiarem és el Path Tracing. Realitzarem diverses versions d'aquest mètode amb les quals podrem explorar quina arquitectura (GPU o CPU) ens ofereix una major avantatge pel que fa al rendiment per al nostre algoritme. Per això comptarem amb diverses màquines, una amb un hardware d'última generació, una amb un hardware més econòmic i una última màquina pensada per un entorn professional. És molt usual que les aplicacions que implementen aquest mètode s'utilitzen d'estructures de dades que permeten millorar de forma molt notable el rendiment d'aquesta. Per aquesta raó, implementarem una Bounding Volume Hierarchy, un estructura de tipus arbre, per a la representació de l'escena i així augmentar el rendiment. Estudiarem com recorre-la de dues formes diferents, una recursiva molt més natural en aquest tipus d'estructures i un altre iterativa, per veure com afecta al rendiment de l'aplicació en la GPU. És ben sabut que les funcions recursives no són gens òptimes a la GPU. Per últim, implementarem un seguit de filtres d'eliminació de soroll. El mètode de Path Tracing produeix imatges molt sorolloses si s'utilitzen poques mostres per píxel, per això l'ús de filtres d'eliminació de soroll és molt comú. Això ens permetrà trobar un equilibri entre el nombre de mostres per píxel i la necessitat d'un postfiltratge de la imatge resultant.

[en] The field of realistic rendering has been investigated for many years. We have different methods capable of creating images with a high degree of realism, such as Ray Tracing, Path Tracing, Photon Mapping or Metropolis Light Transport. Except for Ray Tracing, the rest of the cited methods try to solve the Rendering Equation by approximations (it is impossible to calculate it completely because we would need time and infinite computing power). Thanks to being able to approximate this equation, effects can be achieved naturally, without needing any post-processing, such as motion blur, depth of field, caustics, etc. The method that we will implement and study is Path Tracing. We will make several versions of this method with which we will explore which architecture (GPU or CPU) gives us a greater advantage in terms of performance for our algorithm. For this, we will have different machines, one with the last generation hardware, one with cheaper hardware and the last machine with hardware thought for a professional environment. It is very usual that the applications that implement this method are assisted by accelerating structures that allow improving in a very notable way the performance of this one. For this same reason, we will implement a Bounding Volume Hierarchy, a tree-type structure, to represent our scene and thus increase performance. We will study how to go through it in two different ways, one recursive much more natural in this type of structure and another iterative, to see how it affects the performance of the application on the GPU. It's well known that the GPU is not optimal for recursive functions. Finally, we'll implement a set of denoising filters. Path tracing produces very noisy images when using a few samples per pixel, so the use of denoising filters is very common. This will also help us find a balance between the number of samples per pixel and the need for post-filtering of the output image.