source: opengl-game/TODO.txt@ a8c958b

feature/imgui-sdl points-test
Last change on this file since a8c958b was a8c958b, checked in by Dmitry Portnoy <dmp1488@…>, 5 years ago

Update TODO

  • Property mode set to 100644
File size: 3.2 KB
Line 
1TODO
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
9DONE
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
20NEW 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
24NEW 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
30MAJOR TASKS TODO
31==================
32
33MAJOR 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
42STEPS TO SWITCH OFF OF GLOBAL VBOS
43===================================
44
452. Inside populateBuffers, check for the object type and resize all buffers of that type (will eventually do this in a loop)
46
47STEPS TO SWITCH OFF OF GLOBAL VBOS DONE
48========================================
49
501. Remove buffer re-assignment when creating shader model groups
513. In copyObjectData, set vertex_vbo_offset for the object type only using numPoints, not vbo_base
524. in renderScene, change the glDrawArrays call to use an offset of 0
53
54LONGTERM 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
61Phase 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
66Phase 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
Note: See TracBrowser for help on using the repository browser.