Since the program is intended to be an extendable framework, I think these are phase 1 objectives and if this goes well there should be further phases.
- To write and document a program which will allow users to:
- Create 3D models
- Edit existing 3D models
- Display and explore 3D Worlds.
- Allow people, who are not experts in 3D work, to create and manipulate interesting 3D worlds.
- The user should be able to create and manipulate:
- The program should use existing open standards such as: Java, VRML, Java3D, JavaBeans, and other storage and rendering standards.
- The program should be easily expandable, as far as possible by runtime
plugins, or otherwise by extending classes at build time. Plug-ins should
allow the addition of:
New storage formats
- The design of the program should be highly scaleable, the design should
not impose limits (beyond the underling Java3D and platform limits) such as:
No limit to number of shapes supported.
No limit to complexity of shapes (number of triangles)
No limit to resolution (such as allowing double and float)
- Performance should be good enough for realtime editing and simple simulations
and games. The user of a reasonably upto date machine should be able to use
large models with:
- Reasonable load and save times.
- Reasonable screen refresh rates
- Acceptable delays in mouse interactions, etc.
- Physics modelling.
- More powerful games framework.
- More powerful modelling, such as bones/IK etc.