Functional rendering vs Procedural rendering