[e856d62] | 1 | TODO
|
---|
[1a530df] | 2 | ==========
|
---|
[e856d62] | 3 | -Add code to allow for resizing/maximizing the window
|
---|
[bae0911] | 4 | - Doesn't seem to be necessary on OSX anymore, check that in works on Window and Linux, including removing
|
---|
| 5 | the window title bar in fullscreen mode and bringing it back in windowed mode
|
---|
[98f06d9] | 6 | -Update the IMGUI code in a generic way to support this as well
|
---|
[5c02ddd] | 7 | -Check the book's "Printing Parameters from the GL Context" to output a bunch of OpenGL context params
|
---|
[e856d62] | 8 |
|
---|
| 9 | DONE
|
---|
[1a530df] | 10 | ==========
|
---|
[0d5c100] | 11 | -Print a warning if texture images don't have sizes of 2^x
|
---|
| 12 | -Fix the texture-mapping code to not flip the texture upside down.
|
---|
[c55614a] | 13 | -Make sure fullscreen works correctly on OSX. Check the book to see how to handle Retina Display.
|
---|
[bae0911] | 14 | -Change all error messages to use the logger class so they get printed to the log file as well.
|
---|
[98f06d9] | 15 | -Change the logger class to use cout instead of printf. Consider how easy variable argument support would be.
|
---|
| 16 | - What I really need to do is completely refactor the logger class to return an ofstream to the logger file
|
---|
| 17 | and use streaming to send output to it. The log file can be closed in the destructor.
|
---|
[a23fc08] | 18 | -Move some common functions into a Utils class
|
---|
[0d5c100] | 19 |
|
---|
| 20 | NEW TODO
|
---|
| 21 | ==========
|
---|
| 22 | -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.
|
---|
| 23 |
|
---|
[5c02ddd] | 24 | NEW DONE
|
---|
[0d5c100] | 25 | ==========
|
---|
| 26 | -Move buffer memory allocation code into populateBuffers()
|
---|
[5c02ddd] | 27 | -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.
|
---|
[a9d191a] | 28 | -Show the fps in a gui component instead of printing it to the console
|
---|
[5c02ddd] | 29 |
|
---|
| 30 | MAJOR TASKS TODO
|
---|
| 31 | ==================
|
---|
| 32 |
|
---|
| 33 | MAJOR TASKS DONE
|
---|
[9f9f9a7] | 34 | ==================
|
---|
| 35 | -Investigate switching to SFML, i.e. create a simple demo of SFML with OpenGL and ImGui
|
---|
| 36 | -The SFML graphics module requires the compatibility profile, which on OSX is only available for OpenGL < 3.0
|
---|
| 37 | -I don't think ImGui would work with SFML
|
---|
[1e3dddf] | 38 | -When the time comes, maybe just try using the networking and audio components of SFML
|
---|
[a9d191a] | 39 | -Implement lasers
|
---|
[e6bc0f4] | 40 | -Figure out why rendering doesn't work on the Windows laptop
|
---|
[a9d191a] | 41 |
|
---|
| 42 | STEPS TO SWITCH OFF OF GLOBAL VBOS
|
---|
| 43 | ===================================
|
---|
| 44 |
|
---|
| 45 | 2. Inside populateBuffers, check for the object type and resize all buffers of that type (will eventually do this in a loop)
|
---|
[c55614a] | 46 |
|
---|
| 47 | STEPS TO SWITCH OFF OF GLOBAL VBOS DONE
|
---|
| 48 | ========================================
|
---|
| 49 |
|
---|
| 50 | 1. Remove buffer re-assignment when creating shader model groups
|
---|
[a9d191a] | 51 | 3. In copyObjectData, set vertex_vbo_offset for the object type only using numPoints, not vbo_base
|
---|
[e6bc0f4] | 52 | 4. in renderScene, change the glDrawArrays call to use an offset of 0
|
---|
| 53 |
|
---|
| 54 | LONGTERM TODO
|
---|
| 55 | ==============
|
---|
| 56 |
|
---|
[a8c958b] | 57 | - Switch from IMGUI to Allegro (OUTDATED)
|
---|
| 58 | - Correctly align UI elements when the window is resized
|
---|
| 59 | - Switch to Vulkan and SDL (might consider SFML in the future as well)
|
---|
| 60 |
|
---|
| 61 | Phase 1
|
---|
| 62 | -Allow the ship laser to be upgraded after killing a certain amount of asteroids
|
---|
| 63 | -There will be two upgrade levels that change the laser color and increase its damage
|
---|
| 64 | -Go over the code again and fix the remaining TODO items
|
---|
| 65 |
|
---|
| 66 | Phase 2
|
---|
| 67 | -Look for ways to make the game engine more generic
|
---|
| 68 | -Maybe separate out the camera controls
|
---|
| 69 | -Turn the game into more of an overhead view RTS where you can use the mouse to select and move ships |
---|