Interaktives Ray Tracing
暂无分享,去创建一个
Ray tracing is one of the essential algorithms in the field of digital image synthesis. In addition, it forms the basis of numerous approaches for the simulation of global illumination. However, for a long time ray tracing has been judged not to be suitable for the use in interactive applications due to its high computational costs. Nevertheless, recently it has been shown that it is possible to achieve interactive frame rates even on a single commodity PC by carefully exploiting the resources provided by current CPU architectures. Porting these rendering systems to other platforms is quite difficult, though, because of the strong coupling to the applied hardware. From this difficulty arose the motivation to outline a ray tracing system that is capable of displaying even complex, triangle-based scenes at interactive frame rates on different hardware platforms. First of all, the SIMD instruction sets of different CPU architectures are therefore examined within the scope of this thesis. In addition, their suitability for the implementation of the ray tracing algorithm is investigated. Next, the development of a unified programming interface is discussed and its realization in the C++ programming language is shown. Based on this framework, the development of a ray tracing system for use with triangle meshes is presented, that is capable of displaying scenes at interactive frame rates on different hardware platforms. Here, the focus lies on the question whether bounding volume hierarchies are also suited for tracing packets of rays using SIMD instructions. In this context, several algorithms for traversing the hierarchy as well as for determining the intersection between a ray packet and a bounding box are examined and compared. The same applies to the methods for calculating the intersection points of a ray packet and a triangle. Additionally, the direct visualization of parametrically defined surfaces is inspected, since this type of geometry is commonly used in the field of computer-aided design. However, before free-form surfaces are displayed, they are currently converted into high-resolution triangles meshes. To overcome this situation, it is demonstrated that it is already feasible to display trimmed, bicubic Bézier surfaces instead of triangles at interactive frame rates on a single commodity PC. Finally, the required modifications to the presented ray tracing system are shown to put the image synthesis on a physical basis. In this context, the whole process chain – from inputs, over rendering, to display – is examined under the aspect of photometric consistency. In addition, it is demonstrated that algorithms for simulating global illumination effects can take advantage of a highly optimized ray tracing system on the example of the photon mapping algorithm.