[ca] CAT- En aquest doctorat treballem l'àrea de la il·luminació global en temps real, proposant tres algorismes que contribueixen a avançar en aquesta direcció. Dins d'aquesta àrea hi ha diverses famílies de tècniques basades en investigacions publicades entre principis dels anys noranta i principis dels anys 2010. El nostre treball es basa específicament en dues famílies: tècniques basades en vòxels i tècniques basades en volum d'irradiació. Les tècniques basades en vòxel utilitzen el vòxel com a element bàsic, que és l'equivalent 3D d'un tèxel o element de textura, per representar l'escena com un conjunt de blocs quadrats. Aquests blocs poden tenir propietats de la geometria continguda dins del seu volum tancant com la seva reflectància o la seva direcció normal, i es poden utilitzar com a intermediaris d'escena on emmagatzemar informació relacionada amb el comportament de la llum a l'escena. En emmagatzemar aquesta informació també incloem elements basats en el volum d'irradiació. En aquesta família de tècniques, la manera de representar la il·luminació global en una escena és considerar una quadrícula de punts, calculant la llum que arriba a cada punt des de totes les direccions (també coneguda com a irradiància), tenint en compte en aquest cas només la llum indirecta. Quan un triangle dins del volum 3D format per un conjunt de punts de la quadrícula necessita calcular la seva irradiància, s'interpolen els valors d'irradiància a cada punt de la quadrícula. Emmagatzemem la irradiància de llum indirecta en vòxels generats per la geometria de l'escena i calculem la llum indirecta a cada triangle interpolant la irradiància entre els vòxels més propers al voltant d'aquest triangle. De vegades, la quantitat de vòxels generats en una escena pot ser prohibitivament alta. En el nostre primer algorisme apliquem tècniques de clustering a la representació de vòxels d'una escena. Això permet limitar quantes entitats s'han de tenir en compte per calcular la irradiància en un vòxel; permetre emmagatzemar en un clúster la irradiància que arriba des de l'emissor als vòxels que formen aquest clúster, la qual cosa permet que altres vòxels fora del clúster reutilitzin aquesta informació; i oferint un enfocament multiresolució on els càlculs d'irradiància per a conjunts distants de vòxels utilitzaran només la informació d'irradiància dels clústers que els contenen. El nostre segon algorisme segueix un enfocament similar, però simplificat, on cada vòxel utilitza el traçat de raigs per trobar altres vòxels amb geometria visible des de l'emissor i calcular la irradiància que arriba d'ells. Seguim un enfocament dividit i guanya on els raigs es tracen en una representació d'escena que conté només els objectes de l'escena dinàmica, inicialment guardant a la memòria cau per a cada vòxel qualsevol objecte d'escena estàtica detectat traçant els raigs només en una representació d'escena que conté únicament els objectes de l'escena estàtica (és aquesta la visibilitat de l'escena estàtica del vòxel), reduint el cost computacional del traçat de raigs quan es realitzen actualitzacions. Aquest segon algorisme permet objectes d'escena dinàmics, generant a cada fotograma una representació voxelitzada només dels objectes de l'escena dinàmica, calculant la irradiància per a tots aquests vòxels però també per als vòxels presents en un barri al seu voltant, evitant qualsevol inestabilitat temporal per a qualsevol objecte dinàmic d'escena. Aquest segon algorisme aconsegueix una qualitat molt superior a qualsevol altra tècnica comercial acadèmica o d'última generació, tal com s'exposa a les nostres nombroses escenes de prova. El nostre tercer algorisme amplia el segon, afegint reflexos brillants i especulars, oferint il·luminació global en temps real en escenes dinàmiques amb un model de material complet per a superfícies opaques

[en] ENG- In this PhD we work in the area of real-time global illumination, proposing three algorithms which contribute to advance in this direction. There are several families of techniques within this area based on research published between the early 1990s and the early 2010s. Our work relies on two families specifically: Voxel-based and irradiance volume-based techniques. Voxel-based techniques use the voxel as basic element, which is the 3D equivalent of a texel or texture element, to represent the scene as a set of square blocks. Those blocks can have properties of the geometry contained within its enclosing volume like its reflectance or normal direction, and can be used as well as scene proxies where to store information related with the behavior of the light in the scene. By storing that information we also include irradiance-volume based elements. In this family of techniques the way to represent global illumination in a scene is to consider a grid of points, computing the light arriving at each point from all directions (also known as irradiance), accounting in this case only for indirect light. When a triangle within the 3D volume comprised by a set of grid points needs to compute its irradiance, the irradiance values at each grid point are interpolated. We do store indirect light irradiance in voxels generated by the scene geometry, and compute the indirect light at each triangle by interpolating irradiance between the closest voxels around that triangle. Sometimes, the amount of voxels generated in a scene can be prohibitively high. In our first algorithm we apply clustering techniques to the voxel representation of a scene. This allows limiting how many entities need to be taken into account to compute irradiance at a voxel; allowing to store in a cluster the irradiance arriving from the emitter to the voxels forming that cluster, which allows other voxels outside the cluster to reuse this information; and offering a multiresolution approach where irradiance computations for distant sets of voxels will use just the irradiance information from the clusters that contain them. Our second algorithm follows a similar but simplified approach, where each voxel uses ray tracing to find other voxels with geometry visible from the emitter and compute the irradiance arriving from them. We follow a divide-and-win approach where rays are traced in a scene representation containing only the dynamic scene objects, initially caching for each voxel any detected static scene objects by tracing rays only in a scene representation containing only the static scene objects (being this the voxel's static scene visibility), lowering the computational cost of ray tracing when performing updates. This second algorithm allows dynamic scene objects, generating each frame a voxelized representation of only the dynamic scene objects, computing irradiance for all those voxels but also for the voxels present in a neighborhood around them, avoiding any temporal instability for any scene dynamic object. This second algorithm achieves a much higher quality than any other academic or state of the art commercial technique as exposed in our numerous test scenes. Our third algorithm extends the second one, adding glossy and specular reflections, offering real-time global illumination on dynamic scenes with a complete material model for opaque surfaces