File: TODO

package info (click to toggle)
sear 0.5.0-5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,408 kB
  • ctags: 2,580
  • sloc: cpp: 14,902; sh: 10,890; makefile: 172
file content (97 lines) | stat: -rw-r--r-- 3,889 bytes parent folder | download
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
 * Update TODO
 * Finish migration of rendering code to behing RenderSystem. (Rest of Graphics +  some System stuff)
 * Move all model loader / render code into loaders/ section and create a Global object (like RenderSystem).
  - Needs to be able to instatiate objects independant of entity (e.g. for mercator forest)
  - Needs models to query and check for updates from associated world entity's

 * Make greater use of vertex buffer objectsOD
 * Improve media efficiency 
  - run meshes through poly reductioner
  - Make textures smaller


-------------------------------------------------------------------------------

 * Terrain engine improvements
  - Allow paging of terrain segments
  - Allow terrain to "wrap"
  - Implement ROAM optimisations as on Flipcode and FractalScape
  - Build terrain texture from several base textures and map data.
  - Include Random Midpoint Generation (optional/separate engine?)

 * Implement a GUI system such as GLGooey
  - Allow console line editing

 * Add ability to tokenise on quotes, not just spaces. This is a must. can only have one arg with spaces at the mo.

 * Allow varconf object to parse command line for general configuration.

 * Rendering Improvements
  - Support more OpenGL extensions.
  - Implement shadows (Volumes/Maps)
  - Implements Per-Pixel lighting and associated techniques
  - Move OpenGL code into one object. Aim is to allow the "drop in" of other Render objects using another system such as DX
  - Allow access to cube mapping for sky boxa
  - Add sun/lens glare effects
  - Add wavy grass like in ATITD
  - Add foot prints
 
 * Improve memory usage
   - Unload unused textures and other such data during runtime.
   - SDL_mixer (or maybe SDL sound subsystem) doesn't clean up properly
   - Eris doesn't clean up properly

 * Add an oct tree or other space partitioning system.
  - Provide basis for collision detection code
  - Reduce number of entities to render
  - Can link nodes to an "indoor" engine
  - Use to provide distance info for rendering options

 * Add support to create custom font textures from say freetype

 * Add a sky dome
   - See flipcode skydome tutorial

 * Colour cursors
   Cursors are currently implemented using the SDL cursor methods. These are only in black and white, and the cursors are hard coded in cursors.h. Colour cursors can be easily implemented by rendering the cursor as a texture and hiding the real one. The trick is to get mouse position.
  SDL offers two ways. one is to use SDL_GetMouseState and the second is to store the position on every MOUSEMOTION event. However both of these methods do not offer sufficient update intervals to be of real use. We require either another way or need to increase the rate of updates.

 * Improve Sound/Music System
 Currently using SDL_mixer. It is adequate for now, but a much better alternative would be to use openAL, www.openal.org

 * Include sound/music media in media pack

 * Add weather effects
  - Query weather entity

 * Create a texture handling class.
  - Loads and unloads textures as required
  - Can perform transformations on textures
  - Provides aliases for textures (ie, 3ds models have texture names built in)

 * Create a file handling class
  - Allows memory mapping if appropriate
  - Allow file access from archives
  - transparent access bewtween file system and archives

 * Create a light management class
  - Store type/position/emissive info about each light source
  - Determines light priority order (render N most appropriate light sources)
 
 * Create a particle engine for special effects
  - Smoke
  - Flames
  - Fog

 * Improve scripting engine
  - Character manipulation
  - Animation control
  - Init special effects

 * Allow character portraits

 * Cally improvements
  - Make model heads turn to face the way the camera is looking
  - Allow skinning
  - Improve animation/mesh changing