• No se han encontrado resultados

EL DOCUMENTAL COMO INSTRUMENTO DE INTEGRACIÓN Y COOPERACIÓN

3. Sobre las experiencias de producción de video documental

3.3. Series sobre Migrantes

The controller maintains a small queue of tiles that have been assigned to this chip by the host. When the chip is free to begin a new tile2, the ray caster is told to generate and trace

the eye rays through the scene. The ray tracing is terminated at the first intersection with a surface that is not highly specular. The ray caster partially evaluates the BRDF at the intersection pointxas both location and viewing direction are now known. Any required texture lookups, for example, can be performed at this time. This reduces the amount of shading information that must be passed along. Direct illumination is computed at this time using shadow rays generated from x towards the light sources.

This intersection data is then returned to the controller, where it is stored for future use. The controller issues two separate requests to the photon gatherer. The first is for a photon gather at x in the caustic map3. The second request is for a special purpose photon gather in the indirect map. This gather serves two purposes. The first is to retrieve a value of Ravg for irradiance caching decisions. The second is to retrieve the

accumulated table of photon energy used to create the p.d.f for importance sampling. These requests are sent to the photon gather unit where they are separated into two queues until processed. The nature of the queuing system is discussed in Section 7.3.4, but at some point each of these requests is dequeued and processed. Two packets are returned to the controller, one containing the contribution to the final image due to caustics and the second containing the value Ravg, used in irradiance caching decisions,

2The proposed architecture actually will have two tiles being processed at the same time to increase

utilization. This detail has been removed from this overall description for clarity.

3Recall from Chapter 2 that a special photon map is created that is specialized for rendering caustics.

and the accumulated energy table from the indirect gather, used in combined importance sampling.

At the controller, these packets are received and their information placed into the same data structure holding the intersection data. The packets may arrive in any order. Processing begins when they are all accounted for. First, the irradiance caching algorithm from Chapter 5 is applied to each pixel to determine if a final gather must be performed. This determination can be made before the final gathers only because the pre-computed values of Ravg have been found. Instead of a traditional irradiance cache data structure,

those pixels that will interpolate the irradiance results to be computed at other pixels are added with an interpolation weight to a list in the tile data structure, to be consulted when the results arrive later. More details of this process are presented in Section 7.3.3. For those pixels that do require a final gather, the energy table returned by the importance sample photon gather request is converted to a p.d.f., combined with an evaluation of the partially-evaluated BRDF, and stored as part of the intersection results determined earlier, as was described in Chapter 6. The combined p.d.f. and c.d.f. are used to generate the NF G sample directions. With these sample directions now known,

the BRDF is evaluated and a weight is calculated for each gather ray. This weight is sent in a packet along with the intersection point and sample direction to the ray caster. Note that the final gather rays are generated using the direction-bin reordering algorithm, see Chapter 3.

The final gather rays are now processed by the ray casting unit. They are traced through the scene until they encounter the first surface that is not purely specular. Once again the BRDF is partially evaluated. The details of these intersections are formed into a packet and sent to the photon gather unit, where standard indirect photon gathers at these secondary intersections, yi, will be performed.

As the indirect packets arrive from the ray casting unit they are inserted into a set of queues kept in on-chip memory. These queues are used to perform the additional

reordering provided by the hashed technique described in Chapter 3. Details are provided in Section 7.3.4. The queues are drained one a time. For each photon gather request that is part of a final gather two values are computed and returned in a packet to the controller. First is the partial contribution that this gather provides to the destination pixel in the tile. While computing this value, the contribution to the irradiance at that pixel is also calcuated. This will be used by all the pixels dependent on the irradiance cache record for this destination pixel. Finally, when these values are returned to the controller they are accumulated into the respective pixels of the frame buffer, which is sent to the host when the tile is complete.