In this assignment, work with your group and provide a single submission with all group members named in the accompanying README.
Add a simple interface to your project. It will consist of four buttons (sprites) at the corners of the screen. The buttons should exist only in screen space, not in the world.
You will want to make a separate object class for these rather than using the scene object class (although you can subclass). These will not use the standard Camera class, but either a simpler camera type or none at all, instead storing the projection transformation directly. Make a separate vector to store them — this will simplify collisions, state changes, and such.
Write specialized UI shaders. You can adapt code from the slides. Be sure to set the uniforms properly, if your shaders have any.
Once you have your four buttons, give them some behaviour. First, create an “active button” type that changes color when the mouse hovers over it. Then, implement the “bar graph” display described in the slides, and attach it to a variable that can be altered in the interface (e.g., type “+” to increase the variable’s value, “-” to decrease it.)
For a bonus of up to +5%, implement at least one more button behaviour and attach it to one of your buttons.
For a further bonus of up to +10%, implement sprite sheet indexing and use it to display text or digits on the screen.
When you are done, prepare a README explaining what you did. List all changes and additions to the code and where to find them (which files, which lines within the files); also list the interface actions available, such as button presses and keyboard commands, and the expected effects. If you did either or both bonus parts, be sure to document these carefully in the README.