As we progress through this book, we continue to refine our architecture where appropriate to reflect what we’ve learned. On this occasion, we will improve how we pass uniforms to our program and add support for handling a large number of uniforms to define multiple lights.