gnu3dkit-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnu3dkit-dev] Event model


From: Philippe C . D . Robert
Subject: Re: [Gnu3dkit-dev] Event model
Date: Sat, 12 Oct 2002 10:54:05 +0200

On Freitag, Oktober 11, 2002, at 06:50  Uhr, Matt Brandt wrote:
I was looking at GLUTKit and I got to wondering why you wanted to invent a new event model instead of using the standard cocoa event model. I'm no authority on GNUStep but I would expect it to implement the same event model as cocoa. It seems like we would be giving up some commonality of interface with the rest of the foundation by implementing different mouse and keyboard events.

Is this something that changes in 0.4, or is there some deep reason for doing things this way? It seems like for an application that has some non-OpenGL windows as well as a G3DCamera that the programming will suffer from the duality. I would rather see something that implements the view model (G3DView?). For that matter, why not base the camera on NSOpenGLView?

OK, let me explain the history a bit ...:-) The 3DKit was initially developed for a special application. By then it ran on Linux only, using the GNUstep frameworks. This was pre Mac OS X and there was no NSOpenGLView at all... Anyway, this app was also not a pure GNUstep app, it was only using the FoundationKit while the rendering was fullscreen, so I had to develop my own camera class - or better I designed the 0.2.x/0.3.x G3DKit in a way which enables the usage of any kind of backend, be it NSOpenGLView/AppKit, glut, SDL or direct X11 rendering on X11 systems. This is done via separate libraries. Now every backend handles events differently, so I had to provide a nice OO wrapper for this as well, so that an app depending on the 3DKit was free to use any of the backends w/o changing its implementation...

In the 0.4 version the camera design will change completely similar to how you describe it. The camera will not be the view anymore ( as in NeXT's 3DKit as well ) but only be the controller which uses a channel ( ie. the NSOpenGLView ) to render the scene. This provides more flexibility and a cleaner design, I think.

Thoughts? Does this answer your question?

-Phil
--
Philippe C.D. Robert
http://www.nice.ch/~phip





reply via email to

[Prev in Thread] Current Thread [Next in Thread]