[SDL] SDL 1.3 and rendering API state management
bob at pendleton.com
Wed Sep 6 14:01:54 PDT 2006
On Wed, 2006-09-06 at 01:02 +0200, Johannes Schmidt wrote:
> Le Lundi 4 Septembre 2006 23:41, Bob Pendleton a écrit :
> > OK, here I see we have two very different ways of looking at things.
> > Remember that I have spent several full time months each of the last 2
> > years working on adding multiple windows to SDL. I got it working the
> > way I want it on X11. Right now I am just sitting here biting my tongue
> > hoping SDL 1.3 will not undo all the work I have done.
> > The right way to do GUI tool kits is to have multiple windows and
> > windows within windows. The way I implemented it some windows can be
> > normal SDL 2D windows and some can be 3D OpenGL windows with each OpenGL
> > window having its own context. This way you can have any mixture of 2D
> > and 3D on the screen that you want. You can have 3D pop ups over 2D and
> > 2D pop ups over 3D. You can have a 3D window as part of your screen with
> > a nice tree widget in a 2D window next to the 3D window.
> No, you are kidding, right?
What part do you think I was kidding about. I have everything I
described working based on the SDL 1.2 code base.
> Mixing different graphic libraries or 2D and 3D windows messes things up
> rather quickly ...
Yep, you can use the 2D API on 2D windows and the 3D API on the 3D
> And what if you want a GUI on top of your 3D environment?
In the same window? Then you use the 3D API and build a GUI from scratch
or find one that works that way.
> Honestly, the best way is to choose one graphics lib (OpenGL, whatever) and
> get your toolkit to use this for all of your drawings.
That is not always the case. It makes perfect sense to implement a drop
down menu as a 2D window that is drawn on top of all other windows. Not
even hard to do using any modern windowing system.
> It took me just a few hours to get a basic OpenGL backend for Cairo, another
> 1.5h to get alpha blending and higher level stuff (patterns, gradients) right
> (and I haven't used cairo before).
That is great, good for you. Does that have anything to do with SDL?
> You can strip off most of cairo to get a small vector graphics lib for every
> graphics backend you want. OpenGL wasn't that hard, D3D should work as
> well ...
> (and with Mozilla and GTK going for cairo, it should be possible to render
> those components in your window ...)
> Btw, I'd really appreciate if there would be a possibility to have just one
> OpenGL context for all SDL windows (a context switch is rather expensive).
> Best regards,
> SDL mailing list
> SDL at libsdl.org
+ Bob Pendleton: writer and programmer +
+ email: Bob at Pendleton.com +
+ web: www.GameProgrammer.com +
+ www.Wise2Food.com +
+ nutrient info on 7,000+ common foods +
More information about the SDL