-
Notifications
You must be signed in to change notification settings - Fork 2
/
TODO
76 lines (64 loc) · 2.26 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
+ Add texturing
+ Detect OpenGL version and capabilities (check for extensions)
+ Implement VBO_ARB and Core VBO
+ Implement OpenGL Core and shaders
+ Advanced lighting (spotlights and directional lights)
+ Debug camera
+ Viewport & Occlusion Culling (BulletPhysics DbvtCullingDemo)
+ In RigidBody, Camera and Light unregister commands if component is unregistered
~ Change SceneManager into static class
~ Move lists from managers to the actual object managed
~ Add more primitives (sphere, cilinder, cone, torus, etc)
~ Save input commands as a replay script
~ Read/write scene from XML
~ Use relative positions to the camera for physics and rendering
~ Debug Bullet physics renderer
~ Add constraints support
~ Add soft body support
~ Move scene manager to a proper manager
~ Check every constructor and destructor for memory leaks (static variables?)
- Change all pointers to references (where possible)
- Make input manager into a vector, only one can be active at a time (XML)
- Binding keys (or other inputs) with a command
- Possibility of multiple active cameras in different viewports
- Animations
BUGS:
Concave hulls in RigidBody crash!
A convex hull RigidBody randomly generates a 0 size low poly hull and crashes (original mesh read correctly)
Try this on the Alienware 11x
http://forums.opensuse.org/english/get-technical-help-here/how-faq-forums/unreviewed-how-faq/469419-opensuse-12-1-optimus-laptop.html
General
Add exceptions (through a macro in case they are not supported)
Device
Add application icon
Add option to resize window
Game states:
Welcome menu (with press start)
Main menu (new game, high scores, credits, exit)
Write name
Level1-5
Lose
Win
GameOver
High scores
Credits
Level file format:
list of used entities
description of the heightmap
scene graph with all entities
Entity file format:
list of all assets with file paths
list of all components
Design:
// Init all managers
FileManager()
ResourceManager(fileManager)
DeviceManager(SDL_OPENGL) // window, input system, render driver (OpenGL)
RenderManager(device) // list with renderable entities and render implementation
GuiManager(renderer, resources)
AudioManager(resources)
PhysicsManager()
SceneManager()
// On a new state
each state will be saved in a "level" xml file
load necessary assets if not loaded