2022
Real-Time Hatch Rendering

Luyao Wang
Masters of Science Thesis Project, December 2022

[Proposal    Thesis    Presentation]

Hatching has been a common and popular artistic drawing style for centuries. In computer graphics rendering, hatching has been investigated as one of the many Non-Photorealistic Rendering solutions. However, existing hatch rendering solutions are typically based on simplistic illumination models, and real-time 3D hatch-rendered applications are rarely seen in interactive systems such as games and animations. This project studies the existing hatch rendering solutions, identifies the most appropriate one, develops a real-time hatch rendering system, and improves upon existing results in three areas: support general illumination and hatch tone computation related to observed artistic styles, unify spatial coherence support for Tonal Art Maps and mipmaps, and demonstrate support for animation.

The existing hatch rendering solutions can be categorized into texture-based and primitive-based methods. These solutions can be derived in object or screen space. Based on our background research, we chose to examine the texture-based object-space method presented by Praun et al. The approach inherits the advantage of object-space temporal coherence. The object-space spatial incoherence is addressed by the introduction of the Tonal Art Map (TAM). The texture-based solution ensures that the rendering results resemble actual artists’ drawings.

The project investigated the solution proposed by Praun et al. based on two major components: TAM generation as an off-line pre-computation and real-time rendering via a Multi-Texture Blending shader. The TAM construction involves building a two-dimensional structure, vertically to address spatial coherence as projected object size changes and horizontally to capture hatch tone changes. This unique structure enables the support for smooth transitions during zoom and illumination changes. We have generalized the levels in the vertical dimension of a TAM to integrate with results from traditional mipmaps to allow customization based on spatial coherence requirements. Our TAM implementation also supports the changing of hatch styles such as 90-degree or 45-degree cross hatching.

The Multi-Texture Blending shader reproduced the results from Praun et al. in real time. Our rendered results present objects with seamless hatch strokes and appear natural and resemble those of hand-drawn hatch artwork. Our implementation integrated and supported interactive manipulation of effects from general illumination models including specularity, light source types, variable hatch and object colors, and rendering of surface textures as cross hatch. Additionally, we investigated trade-offs between per-vertex and per-fragment tone computation and discovered that the smoothness in hatching can be better captured in the per-vertex computation with the lower sampling rate and interpolations. Finally, the novel integration of TAMs and traditional mipmaps allow customizable spatial coherence support which allows smooth hatch strokes and texture transitions in animations during object size and illumination changes.

Under supervision of Dr. Kelvin Sung. Division of Computing Software Systems at UW Bothell