Ray Tracing Sample Clauses
Ray Tracing. Providing a high degree of realism, ray tracing is expected to be implemented as a real- time rendering algorithm in the next generation of embedded many-tile systems. Ray tracing applications naturally consist of three logic parts. The first part of the application comprises the generation of the rays. The next part is the second and most computational intensive part of the application, the intersection of the rays with the scene, which is to be rendered. Lastly, the calculated values are aggregated and stored to an image file in the third part. We decided to use this partition for the process network specification, as it allows us to neatly separate the intersection part, which we are interested in parallelizing as it has the biggest contribution to the application’s total execution time. The resulting layout of the process network is illustrated in Figure 2-3. In the resulting implementation, the Generator process calculates all rays and sends them to the Intersect processes, which is where the actual path tracing takes place by calling the process’s radiance method, which recursively calls itself until either no object was intersected or the maximum depth has been reached. intersection (I) generator (G) summation (S) intersection (I) The ray-tracing application has also been used to compare the performance of the proposed design flow with other conventional parallel processing APIs. For instance, in deliverable 7.3, we have compared the performance of the ray-tracing application when being implemented using the DAL formalism and when implemented using OpenMP. In fact, the throughput of the considered DAL implementation has been almost as fast as a highly optimized OpenMP implementation.
Ray Tracing. Ray tracing is often praised for its very high degree of realism, made possible by the algorithm’s close similarity to how vision and light works in nature. As it has high computational cost, ray tracing is only rarely used on the current embedded multi-core platforms. However, the next generation of embedded many-core systems is supposed to provide a tremendously increased computational performance enabling the use of real-time rendering algorithms like ray tracing.
