The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics