Modeling hair using levels of detail

Modeling hair is important for creating realistic virtual humans in various applications. A human head typically contains over 100,000 strands of hair, each strand being extremely thin and thereby generating an intricate hair volume. Due to its complex nature, hair simulation, including the reproduction of interactions both among the hair strands and between the hair and the avatar, is computationally overwhelming. The rendering of hair is similarly challenging, particularly as a result of the shadows caused by hair self-occlusions. Consequently, many interactive applications in practice today are forced to overlook several complex features of hair in order to attain a desired performance. By simplifying the hair volume, these applications often compromise the visual quality of the hair. Moreover, they typically contain a considerable amount of unnecessary computation allocated towards strands of hair that have minimal significance to such applications. In this thesis, I introduce the use of levels of detail for modeling hair. Levels of detail enable a simulation to allocate the majority of computational resources towards modeling those strands of hair with the most significance to the application at hand. The methods I discuss are based on the use of three discrete hair representations: strips, clusters and strands. Each representation provides a different level of visual fidelity and performance speed for simulating and rendering hair. The visibility, motion and viewing distance of the hair, as well as the user's interaction, are considered in identifying those groups of hair with the greatest significance to the application. The techniques I present then accelerate the simulation and rendering of the hair strands with the lowest importance to the application, thereby accelerating the overall modeling of the hair. Moreover, in this dissertation I offer several techniques for dynamically changing the physical structure, behavior and appearance of hair as water or styling products are applied to it. These styling methods are then coupled with the level of detail framework to allow users to interactively style virtual hair.