On Wed, 2008-07-30 at 17:29 -0700, rte...@ya... wrote:
> Hello,I am new on the list and very new to programming. I find your project interesting, but obviously complicated for my level of understanding. Do you have any conceputal documents on how all the different pieces of the software fit together? Higher level conceptual information that deals with the 'big picture' will go a long way to help my understanding of your code.
I'm not hiding any extra documentation. :-)
What you see at <http://openvrml.org/doc> is, for better or for worse,
the extent of the documentation. There is actually quite a bit there;
though the "user guide"-style portion of the documentation could use a
good deal of fleshing out.
Here are a few bullet-points that should help you get your bearings:
* If there is a "hub" or "centerpiece" to OpenVRML, it is the
openvrml::browser class.
* If you are familiar with VRML/X3D, you can *roughly* map these
VRML/X3D language features to OpenVRML constructs:
PROTO -> openvrml::node_metatype
EXTERNPROTO -> openvrml::node_type
node -> openvrml::node
I emphasize "roughly" because, while the above OpenVRML classes
are central to implementing those respective VRML/X3D language
features, you should not be confused into thinking that, for
instance, an openvrml::node_metatype is equivalent to a PROTO.
It is not.
* OpenVRML has been designed to support a notion of "node
components"; that is, the node set can be extended at run-time
via collections of node implementations in plug-in modules.
(While much of the architecture to support this is present in
0.17.x, this capability is not fully realized in that release
series. I'm in the process of completing this on the trunk.)
I suggest you start with the sdl-viewer example program source. Once you
have a good feel for it, move on to openvrml::browser and work out from
there.
Now, a few words of warning. C++ is a very complex language. Some would
steer a novice programmer away from it; but it *is* learnable if you
have the interest and are persistent. Your own interest is most
important: if C++ is the language you really want to learn, I'm sure you
can do so. But you should be prepared to invest in a few books; you just
won't find the same quality of information online as can be found in the
better texts. I can recommend some books if you like.
Furthermore, note that OpenVRML takes advantage of some of the more
advanced C++ features. On one hand this can be a bit intimidating to
developers not comfortable with these features. On the other hand, if
you are interested, it's an opportunity to become more familiar with
them.
Please feel free to ask questions; either here or off-list. (Generally
speaking, I do prefer that users post OpenVRML-related questions to the
list. That way the answer can be beneficial to a broader audience. But I
understand that posting to the list is not always desirable for a
variety of reasons.)
Best of luck...
--
Braden McDaniel e-mail: <br...@en...>
<http://endoframe.com> Jabber: <br...@ja...>
|