RAY TRACING

The general ray tracing technique was applied to cloth BSDF synthesis as well as to cloth visualization in TBT. The similar approach was described in [6]. 

Ray tracing provides a base for BSDF calculation by virtual goniometric spectrophotometer (VGSP). VGSP uses Monte Carlo approach which in principle does not impose any restrictions on the complexity of light propagation in the simulated cloth. Below is a rough idea of the method. 

The directions of initial light rays are chosen in accordance with uniform 2D grid of incoming light distribution. Their target points are randomly generated in the original area of cloth micro-element. These rays are traced through the scene deciding the next ray direction probabilistically in accordance with Fresnel's law after each scattering event. After several events each ray will go out from the micro-element or will be absorbed. The result BSDF is a contribution of outcoming rays ( ) with respect to corresponding incoming rays ( ). 

This method should provide, in principle, unlimited accuracy of the calculation with account for arbitrarily complex interreflections. An important advantage of Monte Carlo method is its easy accuracy control. VGSP provides the direct accuracy control. There is only one user-controlled parameter that determines accuracy: acceptable average error of luminous intensity distribution of outcoming light. Furthermore, VGSP reports current accuracy achieved after each increment of calculation. The accuracy measures an RMS deviation of calculated BSDF from some "ideal" one. We use the term "ideal BSDF" to denote in some sense the best BSDF on the given mesh. 

The important problem is boundary cases. When during the ray tracing a ray abandons the cloth micro-element via its side faces, it enters another micro-element. As we have only one micro-element in full, we have to decide what to do with such rays. The simple solution proposed in [3] is to provide a "continued" ray tracing: whenever a ray leaves one of the side faces of the micro-element, it has to be reset cyclically to the corresponding opposite face. This approach is not ideal: it requests some conditions for fiber location that can contradict with original micro-element specifications received from manufactures. 

Another solution of this problem we found is to extend micro-element in both directions for some length to support geometry duplication. The extension length depends on a number of parameters and is determined for each cloth pattern experimentally. 

The explicit model for the cloth we used has a deficiency in a form of fiber collisions. The fibers of different yarns can interlace with each other very closely that causes fiber intersections which in turn can lead to incorrect light propagation model. 

Because it is difficult to provide a 100% robust collision detection algorithm we assume that fibers can be slightly intersected. It should be treated not as a fiber intersection but as a small error in a fiber location. It is supported in the following way. If the ray origin was inside a fiber then only an intersection with this fiber surface is checked. If a ray which leaves the fiber appears inside another fiber then the ray is shifted back to the surface of the second fiber and the entrance into this fiber is processed. 

The ray tracing technique is quite standard: to find all intersections of a ray with all fibers (several intersections with a single fiber are possible) and to choose a nearest one. This however was dramatically accelerated by using of the uniform voxelization. 


Prev   Contents    Introduction      Cloth Structure    Explicit Cloth Model    Ray Tracing 
Results and Images    Conclusions and Future Work    Acknowledgements  References 
Next 

 
© Copyright 1997 Vladimir L. Volevich, Edward A. Kopylov, Andrei B. Khodulev, Olga A. Karpenko. - All Rights Reserved   [Home]