Jan Ciger wrote:
> Actually, I think that the focus should be on providing a meaningful API
> to export to these languages. That could even mean a wrapper in order to
> eliminate/minimize usage of pointers and some C++ functionality that is
> difficult to translate (templates?). Once you have that, the language
> bindings could be done very quickly for almost any language, even in an
> automated way (e.g. using SWIG or something similar). Ideally, the
> wrappers should be made automatically from the current code.

I've been using osgswig ( http://code.google.com/p/osgswig/ ) for a
project on a cave-type system combining python, vrjuggler, and osg.
osgswig supports python, ruby, java and lua, although I've only played
with the python features. I had tried to use osgPython and pyosg before,
but they only work with older versions of osg.

Jan Ciger wrote:
>/ 1) Application is written in C/C++ and calls embedded scripts. This is/
>/ fairly typical for game development - game is written in C/C++ and e.g./
>/ AI is scripted using a built-in scripting engine. Here Lua is great (it/
>/ was written for it), because it is fairly easy to maintain separation/
>/ between different scripts (exception/error in one script does not crash/
>/ the whole thing). Furthermore, Lua is really tiny, with negligible/
>/ overhead. Another contender is Javascript (e.g. VRML standard uses it/
>/ for exactly this purpose). I wouldn't target this case, because it is/
>/ very application-specific and there is little a generic scene graph/
>/ binding could provide to it.
///
>/ 2) Application is written in a high level language and calls into C/C++/
>/ code to run the performance critical stuff. I think that this is what/
>/ you want ("... enable us to/
>/ develop applications purely from scripting languages, so developers in/
>/ this realm would just need the binaries to the OSG installed, and no/
>/ need for C++ dev environment").

/The osgswig project seems to be primarily designed for scenario 2,
although in my application I've been using osgswig as in scenario 1 by
getting out a void pointer to the opaque values from the python api. I'm
not sure how possible this approach is with other languages though.


~ James
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to