1o-----------------------------------------------------------------------------o 2| T O D O | 3o-----------------------------------------------------------------------------o 4 5o-----------------------------------------------------------------------------o 6| Questions | 7o-----------------------------------------------------------------------------o 8 9 - Use portable STL? (http://www.stlport.org) 10 - C++ casts of object pointers? (rtti) 11 - Do we need floats or doubles for computations? 12 - Do we really need to renormalize blended normals? sqrt() lookup table? 13 - Remove the track structure (make keyframes that hold all bones for a 14 given time)? 15 - Split translation and rotation in seperate tracks? 16 - Use 2d or 3d texture coordinates (u, v, w)? 17 - Do we need to store per vertex colors? 18 - Would a memory/resource manager be a good solution to the dynamic memory 19 allocation/deallocation nature of different classes? 20 - Sliding-Window VIPM? Predefined/prestored LOD levels? 21 - how should we handle collision detection? 22 - Allow loading of model data from memory? 23 - Make various functions (create, destroy, update,...) virtual to allow 24 subclassing? 25 26o-----------------------------------------------------------------------------o 27| Must have | 28o-----------------------------------------------------------------------------o 29 30 - beginFigureMode(), endFigureMode() in Cal3D exporter. 31 - Clean accessor functions. (getXXXCount(), getXXX(), getVectorXXX() etc.). 32 - Use reserve()/resize() whereever we use vectors/etc. 33 - Big-/little-endian stuff in the file formats! 34 - Remove all dynamic new/delete. Performance breakdown! 35 - Optimize memory management! 36 - Optimize accumulation of the state if we only have one type of animation 37 - Destroy() / destructor design (validity flag?). 38 - Insert meaningfull error-texts in CalError::setLastError() calls. 39 - Make appropriate functions inlined. 40 - Use a time-factor in animation instances (faster/slower/paused playback). 41 - Nice API to access bone, animation etc. states. 42 - Iterator/[] cleanup for std::vector<>. 43 - Speed and memory optimizations. 44 - Detailed class description. 45 - Default material thread/set handling. 46 - Remove the 'duration' argument in CalCoreTrack::getState(). 47 - Implement a "no-LOD"-flag to save memory in the CalModel structure when 48 LOD is not needed. 49 - Implement a priority-system for the active animations. 50 - Submesh material access? (e.g. eyebrows). 51 - Direct setting of bone transformations (e.g.for "point-at" etc.) 52 - README in the docs directory 53 54o-----------------------------------------------------------------------------o 55| Nice to have | 56o-----------------------------------------------------------------------------o 57 58 - Make creation process of models available through the API. 59 - Different animation types? (keyframes/splines/...)? 60 - (Selective) bone stretch functionality. 61 - Scaling of the bones for different model sizes. 62 - A way to select the kind of interpolation made between keyframes (like 63 ROUND_DOWN, NEAREST, LINEAR, SPLINE, ...). 64 65o-----------------------------------------------------------------------------o 66| Fixes | 67o-----------------------------------------------------------------------------o 68 69o-----------------------------------------------------------------------------o 70