FILES AND ARCHITECTURE ====================== Purify vrmlNode.h so that only relevant information for reusing are present there. In parsing, is the pool passed to interfaceDeclaration useful => yes to display the name of the event on an error. imageTexture and movieTexture needs a serious purification PERFORMANCE / IMAGE QUALITY =========================== Quadrics resolution should be size dependent so they always look good and don't take too many polygons. Use arenas for _every_ object. Optimize GL texture code ? Perform texture rescaling inside Mesa rather than the texturator Revisit compilation of objects Computation of modified bounding box that don't unnecessarily propagate to the world's root Change CoordinateInterpolator and other classes so as to avoid a copy of MFVec3f Sharing whatever is possible in prototypes (in particular interpolators tables that can't be modified) Decompose a text string into individual characters for speed up purpose Progressive textures don't give hand as soon as possible (because they wait for dimensions) Visibility sensor send isActive when behind the viewer In xanim, copy the data directly into the buffer rather than performing a memcpy Constant display rate Better light sources reuse Data is duplicated in PROTO fields overlaying some underlying object fields POTENTIAL BUGS ============== What if an inline, etc... hasn't the right type or doesn't exist ? No every control is perform in buildNode on children node (for example in indexedFaceSet) A check should be performed that the key range of an interpolator has at least 2 values check that in a LOD range._size < level._size Hunt for asserts NEW FEATURES ============ Inability to manage several windows Not re-entrant Progressive display Use wireframe or other fast rendering scheme when moving ? TOTAL MESS ========== The way new files are handled is absurd. movieTexture processing is silly.