On Thu, 2009-10-22 at 15:10 -0400, Jean-Sébastien Guay wrote:
> Hi Jeremy,
> 
> Great to see you back here!
> 
> > I will be undergoing a bone marrow transplant here in the next 3 weeks,
> 
> That's great news! I really hope it goes well for you and that you 
> recover quickly.
> 
> > I know that osgWidget has been around for a while now, but I'm not
> > entirely sure people are actually using it yet. 
> 
> Yes, some of us are using it. There are occasional questions on the 
> list/forum, and I know I (for one) have submitted a few fixes for small 
> bugs.
> 
> > I'd like to try and come
> > back and start hacking at this again, so I'm what I'm looking for are
> > any comments people might have or complaints that may have surfaced
> > while I was away.
> 
> Well, I have a few comments, and I'll probably have a few more later if 
> I can get some more work into one of my pet projects that uses it. :-)
> 
> For now, the major comment I have is: why oh why are the argument names 
> omitted from the method declarations in the headers? If all you have to 
> work with is the headers, figuring out what you should pass as arguments 
> to a function like
> 
> bool  setImage (osg::Image *, bool=false, bool=false)
> 
> can be hard. What are those two bools? Plus, they appear that way in the 
> doxygen documentation too... See
> 
> http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a01066.html
> 
> I know it'll be a painful task to go and put the argument names back, 
> but I think it has to be done...
> 
> Other than that, it works well. If I remember well, I found the 
> interface for creating a window from a theme a bit weird, but I don't 
> remember exactly what I found weird, so I'll have to get back to you on 
> that.
> 
> > I have lots of good ideas, but I will basically be rewriting and
> > SUBSTANTIALLY simplifying osgWidget to be a bare minimum and flexible
> > NodeKit for doing the basic UI stuff (supporting 3D). Then, I'll add
> > another layer on top (which will not be in C++, but instead in Lua) that
> > will do most of what osgWidget currently does, since no one really wants
> > to write UI code in C++ anymore. It's really, really dated and Lua is so
> > small, sandboxed, and efficient there's truly no excuse not to use
> > it. :)
> 
> I would recommend, instead of removing the C++ code, why not just wrap 
> it (basically exposing it to Lua) instead? Then you have the best of 
> both worlds. People who want to do GUI in C++ (and there are some cases 
> where it's desirable) can still do so.
> 
> One of the hardest things when designing an API is that you need to keep 
> in mind that people will want to use it in different ways. So even if in 
> your projects you would much rather use Lua exclusively for your GUI 
> code, other people will want to use it from C++ since they're used to 
> using OSG that way, and your API needs to cater to both.

I totally understand where you're coming from here--and indeed, there
would have to be SOME low-level interface in C++ to build off of--but
the bottom line is, you simply can't (or rather, I can't) build
sophisticated, intelligent, and easy-to-use containers and GUI logic in
C++ without it becoming unimaginably huge and unwieldy. :(

I'll definitely keep what you said in mind though. Perhaps prototyping
it in Lua first will make it a lot easier to go back in C++ and do it
"right"...

> Note that I've diplomatically avoided saying what language I'd prefer to 
> code my own GUIs in. Honestly, if I can build the Lua support easily on 
> all platforms, I don't really care, but others will feel differently.
> 
> > Anyway, I'm glad to have some of my motivation back. :) With the
> > transplant happening soon and a fairly decent chance of it being
> > successful, there is much to be optimistic about!
> 
> Excellent! Good to hear from you, and I'm glad you've got a better 
> outlook on life now!
> 
> J-S

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to