Hi Miles,
On 21.04.10 19:23, Miles Parker wrote:
This is completely out of left field, but have you thought
about the possibility of taking GEF3D and using it as a way around lack
of GEF / Draw2D support for RAP? As I mention in comment, I don't know
about OpenGL support in browsers and I'm not sure how reliant the GEF3D
internals are on 20 graphics support, but I figured with the new
renderer support for vector text that it might be possible..
Yes, we did. I already added a comment to the RAP post (see
http://eclipsesource.com/blogs/2010/04/20/drawing-with-rap-yup/), here
is goes (slightly modified)
Benjamin Muskalla wrote, that in order to get GEF/Draw2D working with
RAP, we’d need a server-side API hiding the GC. Actually, GEF3D comes
with new implementations of Draw2D’s Graphic interface and adds a new
Graphics3D interface. There are three different implementions of these
interfaces: two using OpenGL to create the output (LWJGL and JOGL), and
one for exporting 3D drawings to X3D. IMHO, the most interesting thing
is the (2D) Graphics implementation of Draw3D (created by Kristian). It
does a lot of tricky optimizations in order to reduce the amount of
data send over the BUS (to the graphics card). While client-server
communications is certainly different from that, I could imagine that a
similar approach could be useful in that context as well — maybe
Kristian’s implementation could be used as a starting point.
Only recently I tutored a master thesis about getting GEF3D to the Web
via RAP and WebGL. Unfortunately, due to the large number of APIs
(WebGL, RAP, Qooxdoo, OpenGL/WebGL, GEF/3D, Draw2D/3D), we could only
create a prototype instantiating a WebGL based 3D view in a RAP based
application, but I could image that at least 3D viewers based on that
technologies (i.e. RAP+GEF3D+WebGL) should be possible. Actually, it
should be as easy (or even easier) as the RAP+GEF+Canvas stack. As we
have already a prototype instantiating all the RAP and WebGL things,
all you need to implement is the Graphics3D interface. As far as I know
Kristians Graphics implementation, most optimizations do not depend on
the actual renderer.
The following figure (taken from the thesis [Bre10]) shows a WebGL
based view within RAP. The "only" thing we have to do in order to get
GEF/GEF3D to the web is to implement the Graphics3D interface -- the
infrastructure on server and client side are already there (in the
figure, the cube and the coordinate axis are created on the server, the
client only renders it).
However, as I do not need RAP at the moment (as I do not develop any
web applications), bringing GEF3D to RAP is not really an issue.
However, if somebody needs that, I would be happy to assist.
Cheers,
Jens
[Bre10] Brenda, Martin: Erweiterung von GEF3D um eine webbasierte
Benutzungsschnittstelle auf Basis von WebGL. Hagen, Germany,
FernUniversität in Hagen, Master of Computer Science, Februar 2010
|