1 | TODO
|
---|
2 | ==========
|
---|
3 | -Add code to allow for resizing/maximizing the window
|
---|
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
|
---|
6 | -Update the IMGUI code in a generic way to support this as well
|
---|
7 | -Check the book's "Printing Parameters from the GL Context" to output a bunch of OpenGL context params
|
---|
8 |
|
---|
9 | DONE
|
---|
10 | ==========
|
---|
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.
|
---|
13 | -Make sure fullscreen works correctly on OSX. Check the book to see how to handle Retina Display.
|
---|
14 | -Change all error messages to use the logger class so they get printed to the log file as well.
|
---|
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.
|
---|
18 | -Move some common functions into a Utils class
|
---|
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 |
|
---|
24 | NEW DONE
|
---|
25 | ==========
|
---|
26 | -Move buffer memory allocation code into populateBuffers()
|
---|
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.
|
---|
28 | -Show the fps in a gui component instead of printing it to the console
|
---|
29 |
|
---|
30 | MAJOR TASKS TODO
|
---|
31 | ==================
|
---|
32 |
|
---|
33 | MAJOR TASKS DONE
|
---|
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
|
---|
38 | -When the time comes, maybe just try using the networking and audio components of SFML
|
---|
39 | -Implement lasers
|
---|
40 | -Figure out why rendering doesn't work on the Windows laptop
|
---|
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)
|
---|
46 |
|
---|
47 | STEPS TO SWITCH OFF OF GLOBAL VBOS DONE
|
---|
48 | ========================================
|
---|
49 |
|
---|
50 | 1. Remove buffer re-assignment when creating shader model groups
|
---|
51 | 3. In copyObjectData, set vertex_vbo_offset for the object type only using numPoints, not vbo_base
|
---|
52 | 4. in renderScene, change the glDrawArrays call to use an offset of 0
|
---|
53 |
|
---|
54 | LONGTERM TODO
|
---|
55 | ==============
|
---|
56 |
|
---|
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
|
---|