Hi Robert,
Another way to look at it is that C# wrappers
are a way to evangelize OSG and its underlying principles to an entirely new
class of users -- those operating primarily in the Microsoft managed development
ecosystem. Currently there is a real dearth of decent scene graph options
for C#. With good wrappers, OSG could easily become the first choice for
users in that environment who want to use a sophisticated, high-performance
scenegraph.
I think that could bring a lot of new
users into the fold. And once they're hooked on OSG, the soft sell on
cross platform alternatives can begin. :)
-Mike
From:
[EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On
Behalf Of Robert Osfield
Sent: Monday, November 13, 2006
2:54 PM
To: osg users
Subject: Re: [osg-users] OSG and
C#
Hi All,
C# and OSG. Ack, here's the equation:
platform lock-in + cross platform == platform lock-in
Which is kinda sucky loosing all that loverly portability.
Why not Java and OSG, or Python or Lua and OSG?
However, I do concede that some users, for some reason want or perhaps even
have to use non portable developer environments. For what ever reason C#
ends up on the table in some developer groups.
Wrapping the whole OSG with some kinda of managed C++ wrapper is going to be
expensive on initial set up and later maintenance. osgIntrospection does
away with this, especially for dynamic languages like Lua and
Python, as only what is need to wrap is exposed at runtime.
C# isn't a dynamic language so you won't be able to do such a light weight
wrapper, but my guess is that you should be able automated much of the C#
wrapper generation as an automated pre processor set with a custom wrapper
generator loading the osgWrappers to get what is required to wrap.
Perhaps one could nominate which parts you want wrapping.
Or alternatively, switch on to using a dynamic language for integrating with
the OSG, and integrate with C# with the dynamic language instead. Do all
the key OSG controls in Lua/Python, and high level app stuff in C#.
C# really is just MS's version of Java, and Java is a streamlined C++ and both
a static typed just like C++ so is no more powerful. While they have
great IDE support, the languages themselves aren't really a paradigm shift, or
give the programmer any great power. Whereas, Python and Lua are huge
paradigm shift in programming languages, its simply stunning how simple that
can tackle problems that are nightmare of static typed languages.
The added bonus is that you can still have all that loverly portability with next
to no effort.
Robert.