  Domain warping is a technique commonly used in creative coding to distort
graphics and add visual interest to a work. The approach has the potential to
be used in 3D art as mesh vertices can be efficiently warped using a vertex
shader in a WebGL pipeline. However, 3D models packaged for the web typically
come with baked-in normal vectors, and these need to be updated when vertex
positions change for lighting calculations to work. This is typically done via
finite differences, which requires parameter tuning to achieve optimal visual
fidelity. We present a method for 3D domain warping that works with automatic
differentiation, allowing exact normals to be used without any tuning while
still benefiting from hardware acceleration.
