|
Table of Contents WarningCurrently, the 3D module is only available in the CVS source tree. Its conception is not finished and any contribution would be appreciated (see below). The following presentation gives you the development's outline and our main ideas with this new module. The goal of the Opale 3D module, aka OM3D, is to provide a full API to represent, to manipulate and to render 3D objects. It is not built over Opale's 2D module. It is not an extension of it. Why ? For many reasons and more precisely because we wanted to keep 2D and 3D separated in order to let the end user use whichever module he really needs. Even though a point in a three dimensional world may be seen as an extension of a planar point, the re-usability of methods and attributes would not be very interesting and more important, not very efficient. To be clear, OM3D is not
OM3D introduces a new concept that is not present in other modules. It is a polymorphic module separated in two parts : a representation part which will be 100% Java and a rendering part which will be polymorphic. What does "polymorphic" mean for a rendering engine ? Well let's face the truth. Many Java developers/programmers think that Java's implementation is not fast enough and especially in the 3D domain. So we have decided to let the user choose between the following options (in development order ?) : All solutions listed above will implement the same UML model for modeling 3D objects and a will have a common minimalistic UML model for the rendering part.
The OM3D provides two Canvas3D objects that are reusable with SWING and AWT. All solutions listed are for Java developers. Since the apparition of the Gnu Java Compiler, solutions for C++ developers may be conceivable whether
This could be a huge waste of time if the GCJ project
provides speedily an AWT and SWING native implementation.
However, a solution with SWT may be given birth if we are enough to work on it. Opale Team : February 15 2004 00:03:07. |