Re: [Plib-devel] Release 1.8.5....and a glimpse of the future.
Brought to you by:
sjbaker
From: Steve B. <st...@sj...> - 2008-03-07 04:09:44
|
John F. Fay wrote: > Alas! Poor PUI. I knew him, Horatio. > > I really don't have much to complain about. My PUI application has been > retired for a couple of years now and I've been given new projects at work. > But I hate to let go of things that I have worked on. > The trouble is that PUI has grown from a very minimal way to toss a handful of buttons onto the bottom of a screen full of 3D graphics into a fully grown scene-graph API - it has branch nodes and leaf nodes and traversals and culling, rendering states, geometry - and that's exactly what SSG has to have. Layering PUI on top of SSG makes sense because they can share code and PUI can have textured, lit, bumpmapped, animated, glowing buttons...who knows what? The whole of PUI is based on the OpenGL 1.x 'standard pipeline' API and that's going away (or at least it's not going to be The One True Way To Do Graphics). So in the next year or two we'll really be forced to either rewrite a chunk of PUI or see it go utterly obsolete. At the very least the bottom end renderer has to change to use blocks of vertex data and shaders. The PUI API is particularly ill-suited to that because it doesn't use the concept of "rendering state" - it just has a bunch of ad-hoc data scattered throughout the scene graph. It generates geometry on-the-fly from the sizes of the widgets - but what we really need is precalculated vertex tables at each node. That means it has to know how to build and maintain those things - shared states means ref-counting and such. Shaders need to be compiled and have mechanisms to pass uniform data to them. None of that stuff exists in PUI. However, the new, improved SSG will be PERFECT for that stuff. If it has 'plugin' capability as I'm planning - then PUI simply builds an SSG scene graph and plugs in it's own culling mechanisms. SSG provides the geometry maintenance, shader services, etc. It's a good match. I don't think it'll suffer too badly in the transition...but I don't plan on ripping into PUI for a while - I've got to get the new SSG working well first. |