OK,
I just happened to peek in here today, and saw this exchange.
So I wanted to let everyone know exactly what it is that I have
done.
What I have done is really two things. Firstly, I ported the
JoGL bindings to SWT. So that you can use JoGL in an ALL SWT
application. This first part has absolutely nothing to do with
Xith3D. Secondly, I modified the Xith3D release to use the
JoGL over SWT binding. This second part obviously required
me to make MAJOR changes to the Xith3D code base. The version
of Xith3D that I am using runs on both AWT/Swing AND SWT ! ! !
So when I say that the userinterface package was ported to SWT,
what I meant was that the userinterface package can now run
using my version of Xith3D, running over my version of JoGL,
running over SWT. I hope everyone followed that. It means
that you can bring up a SWT window, or ‘Shell’, and put a
canvas in it that has a Xith3D based scene painted in it.
Now, the Swing components that the userinterface package puts
up as an overlay on the screen can now be used as a chat
window, or what have you, with full transparency support under
SWT.
The problem, as I saw it at the time I originally started this
topic, was how to go about merging the changes back into Xith3D.
To do so would mean that almost everyone else’s applications
and demos would break, but I would get help supporting a fast SWT
3D rendering engine for free. Since my business is medical
imaging, and NOT 3D library development, to get the free help
from the open sourcers was very attractive to me. However, I
quickly realized that there would be an argument over the fact
that my version of Xith3D would break what’s been built to date.
Now instead of making everyone else rework applications
that they’ve spent countless hours on, I decided to just use
the changes myself and not get into flame wars.
That said, I am thinking about starting a blog on the topic of
my version of Xith3D for others who are interested in using
Xith3D over SWT. I know there are problems with forking just
like there are problems with merging, but I think this is
necessary for several reasons. Primarily, I am lazy, and a
freeloader, by nature. So if someone else is
willing to do coding, I am more than willing
to benefit from . . . er . . . I mean . . . beta test . . .
their changes to my version. Another reason that such a blog
may be valuable, is that the version of Xith3D that I have
makes some major improvements to Xith3D including support for
LUMINANCE, INTENSITY and other grayscale-like pixel formats,
as well as, 3D textures. These things are EXTREMELY useful in
medical imaging. Not to mention implementing the userinterface
package correctly, so that mouse hotspots line up with the
picture of the Swing component on the screen. Other
improvments include the ability of JoGL over SWT to support
adding and removing multiple canvases to and from a SWT
window, and supporting java based OpenGL applications with
small memory footprints. Memory is something AWT/Swing just
does NOT do well.
Well,
There you have it citizens . . .
And now I welcome your questions if anything is still unclear.
-TOBY