Source: https://www.cs.sfu.ca/~haoz/pubs/hu_tog17_style.pdf