Managed Wrapper (was: RE: [ODE] My ODE++)

Gary R. Van Sickle g.r.vansickle at worldnet.att.net
Sat Jan 10 00:48:00 MST 2004


> On Fri, 9 Jan 2004, Jon Watte wrote:
>
> >
> > Perhaps you can elaborate? In case you lost the context, here's a summary:
>
> Major game- and graphic companiers use Linux.
>
> > - Someone was saying that a better C++ wrapper might make writing a
> managed ("CLR" "DOTNET" etc) API for ODE easier.
> > - I replied that I had written a managed API that's richer than the
> current wrapper available in contrib, and I described the approach I
> took, including wrapping using Managed DirectX APIs to reduce impedance.
> > - Someone replied that tieing the managed API to DirectX precluded
> other platforms from using the managed wrapper.
> > - The only other platform that could conceivably use that would be
> "DOTGNU" running under Linux, and, honestly, it's not currently
> anything I'd base a production-worthy effort on, which is what my
> joke was about. It seems that you were trying to prove that there are
> production efforts using DOTGNU on Linux, but I fail to see how your
> links apply.
>
> Well, if you're planning on using the ".net stuff", I couldn't care
> less... But if you're planning on writing a generic C++ (not .net) wrapper
> for ODE, I really don't understand _why_ you don't want to make it
> portable. ODE is an Open (portable) Dymanics Engine. Don't forget that.
>
> Utilizing DX on Windows-platforms seems like a very good idea but just
> ignoring the Linux-users is a Bad Idea(tm). Whether you or somebody else
> writes the Linux-specific parts is irrelevant. I propose you make your
> framework open for both worlds by design--everything else would be a major
> design flaw (from my point of view, of course).
>

Sheesh... guys, am I missing something here, or is this the most complete
non-issue in ODE-land?:

1.  C, C++, and (I assume) C# all have reasonably capable preprocessors that
can, at compile-time, substitute one thing (say, a DirectX matrix (THE HORROR!))
for some conceptually compatible thing (say, whatever non-DirectX type of matrix
one might want to use).
2.  Said preprocessors accept compile-time commmand-line parameters, say
"-DUSE_DIRECTX_MATH_ROUTINES".
3.  C++ and C# (and C with enough casting) support and encourage the concept of
polymorphism.
4.  Last time I looked, ODE's matrix math routines etc were similar enough in
syntax to DirectX's to make using DirectX a reasonable thing to consider doing.
Yes, only on Windows.  Other platforms would have to stay with the existing
routines, or "polymorphize" thier own specialized routines.  Everybody wins or
at least breaks even.
5.  Nobody has at any time (to my knowledge anyway) ever suggested or even
hinted that ODE should be converted to use DirectX and only DirectX from now on.

Where does this panic come from any time somebody brings up DirectX?  Nobody's
"leaving Linux behind".  Nobody's even considering such a thing.  Let's spend
all this nervous energy improving the robustitude of ODE or adding new joint
types or coming up with a foolproof way of deactivating bodies or something
instead of wringing our hands over non-problems.

--
Gary R. Van Sickle



More information about the ODE mailing list