TODO ========== -Change the logger class to use cout instead of printf. Consider how easy variable argument support would be. -Change all error messages to use the logger class so they get printed to the log file as well. -Add code to allow for resizing/maximizing the window -Add logic to make imgui element placement depedent on the window size so it works in fullscreen -Check the book's "Printing Parameters from the GL Context" to output a bunch of OpenGL context params -Move some common functions into a Utils class DONE ========== -Print a warning if texture images don't have sizes of 2^x -Fix the texture-mapping code to not flip the texture upside down. -Make sure fullscreen works correctly on OSX. Check the book to see how to handle Retina Display. NEW TODO ========== -Unbind buffers (by binding to 0) once I'm done using them. This will help catch errors faster where I'm using a different buffer than I expect. NEW DONE ========== -Move buffer memory allocation code into populateBuffers() -Go through the large design comment blocks and clean them up. Turn them into documentation for the code that's been written since I wrote the designs. -Show the fps in a gui component instead of printing it to the console MAJOR TASKS TODO ================== MAJOR TASKS DONE ================== -Investigate switching to SFML, i.e. create a simple demo of SFML with OpenGL and ImGui -The SFML graphics module requires the compatibility profile, which on OSX is only available for OpenGL < 3.0 -I don't think ImGui would work with SFML -When the time comes, maybe just try using the networking and audio components of SFML -Implement lasers -Figure out why rendering doesn't work on the Windows laptop STEPS TO SWITCH OFF OF GLOBAL VBOS =================================== 2. Inside populateBuffers, check for the object type and resize all buffers of that type (will eventually do this in a loop) STEPS TO SWITCH OFF OF GLOBAL VBOS DONE ======================================== 1. Remove buffer re-assignment when creating shader model groups 3. In copyObjectData, set vertex_vbo_offset for the object type only using numPoints, not vbo_base 4. in renderScene, change the glDrawArrays call to use an offset of 0 LONGTERM TODO ============== - Switch from IMGUI to Allegro - Correctly align UI elements when the window is resized