Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [gef3d-dev] RAP / browser support?

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


Back to the top