Re: [osg-users] Hello and a Couple Quick Getting Started Questions

2015-04-13 Thread Dave Sargrad

Jan Ciger wrote:
 On Mon, Apr 13, 2015 at 11:00 AM, Robert Osfield 
 
 
 On the other hand, if your goal is a realtime application with relatively 
 lightweight UI using custom graphics elements that is being rendered by the 
 3D engine itself, such as a simulator or a game, then it is better to use 
 specialized middleware
 
 
  but there are tools like Coherent UI, Scaleform, libRocket, etc. 
 
 
 Regards,
 
 
 Jan
 
  --
 Post generated by Mail2Forum


I do indeed wish to create an application with custom graphics elements as you 
describe, I'll take a look at these middleware components as well.

--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=63370#63370





___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Hello and a Couple Quick Getting Started Questions

2015-04-13 Thread Dave Sargrad

robertosfield wrote:
 On 12 April 2015 at 14:52, Jacob Moen 
 
 There is the osgviewerWX example that illustrates how to integrate OSG with 
 wxWidgets.
 
 
 As a general advice, unless you actually need dialog boxes in your 
 applicaiton I would recommend that you stay away from the complexities that 
 Qt, WxWidgets etc. introduce.  If you are writing a pure 3D graphics 
 application like a simulator or game you are far better off just using the 
 OSG's native osgViewer's windowing functionality.  osgViewer is fully 
 threaded, something that cannot be said of Qt etc, where threading is a messy 
 after thought.
 
 
 Robert.
 
  
 
  --
 Post generated by Mail2Forum


I like this advice.. Thank you very much. I'll stay with osgViewer then!!

--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=63369#63369





___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Hello and a Couple Quick Getting Started Questions

2015-04-13 Thread Robert Osfield
On 12 April 2015 at 14:52, Jacob Moen jacmoe...@gmail.com wrote:

 I forgot one thing:
 It looks like Qt and OSG is really good friends (which is great because I
 personally love Qt!)
 osgQt is part of the core, however I would be surprised to learn that
 there isn't at least one integration for wxWidgets out there. ;)


There is the osgviewerWX example that illustrates how to integrate OSG with
wxWidgets.

As a general advice, unless you actually need dialog boxes in your
applicaiton I would recommend that you stay away from the complexities that
Qt, WxWidgets etc. introduce.  If you are writing a pure 3D graphics
application like a simulator or game you are far better off just using the
OSG's native osgViewer's windowing functionality.  osgViewer is fully
threaded, something that cannot be said of Qt etc, where threading is a
messy after thought.

Robert.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Hello and a Couple Quick Getting Started Questions

2015-04-13 Thread Jan Ciger
On Mon, Apr 13, 2015 at 11:00 AM, Robert Osfield robert.osfi...@gmail.com
wrote:

 ...



 osgViewer is fully threaded, something that cannot be said of Qt etc,
 where threading is a messy after thought.



That is perhaps a bit harsh. In general, there is no problem with threading
in Qt at all and there is a fairly decent threading library included with
it. However, you need to be aware that the GUI library itself is not thread
safe (pretty much no GUI libraries are) and if you wish to integrate an
external library with Qt, it needs to respect that. Normally you should
practically never need to use threads to drive the UI, so that shouldn't be
an issue in 99.5% of the cases. The rest is covered by various tools
provided by the library, such as asynchronous tasks, networking in the
background, etc.

I have done a lot of integration of both OSG and Ogre3D with Qt for my work
and I have worked with wxWidgets in the past as well. I think the far
larger problem with Qt (and also wxWidgets and other big framework type
UI libraries) is that these are not really GUI libraries but complete
application frameworks. Their programming model is very different from what
OSG or simulator/game programmers assume and one can't just cherrypick
bits and pieces needed by the application. It is an all or nothing
proposition - either you design you application following the design
principles of hte framework and then everything works like magic, or you
don't and then you can't really use it.

These frameworks are all event driven (no busy main loop, application is
sitting idle waiting for input instead!), expect to have full control of
the top level application event loop (weird things happen if this isn't the
case) and often they expect to fully manage OpenGL state too if you are
using the provided OpenGL support. These impedance mismatches make things
difficult when two libraries with such assumptions meet in a single
application.

Generally speaking, Qt, wxWidgets and similar are great if you are building
an UI-centric desktop application, using standard UI elements and an
embedded OpenGL/OSG window. Especially the Qt Designer is very hard to beat
when it comes to quickly building the application interfaces. A typical
application using this could be perhaps something like a CAD program, mesh
visualizer/editor or something like Google Earth (uses Qt).

On the other hand, if your goal is a realtime application with relatively
lightweight UI using custom graphics elements that is being rendered by the
3D engine itself, such as a simulator or a game, then it is better to use
specialized middleware. CEGUI is rather primitive, but there are tools like
Coherent UI, Scaleform, libRocket, etc. We have tried to use Qt and its new
QML system to render a GUI *inside* of an OSG application (render QML to
texture and display using OSG) and while it is possible, it requires a lot
of non-trivial hacks because the library is simply not written with such
use case in mind at all. I certainly don't recommend this approach.

Regards,

Jan
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Hello and a Couple Quick Getting Started Questions

2015-04-12 Thread Jacob Moen
I forgot one thing:
It looks like Qt and OSG is really good friends (which is great because I 
personally love Qt!)
osgQt is part of the core, however I would be surprised to learn that there 
isn't at least one integration for wxWidgets out there. ;)

Cheers,
Jacob

--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=63346#63346





___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Hello and a Couple Quick Getting Started Questions

2015-04-12 Thread Jacob Moen
I am still trying to get my feet wet in the waters of OSG, but you definitely 
want to check out OSGRecipes:
https://github.com/xarray/osgRecipes

The 'integrations' directory is a true godsend!

However, you can find the old friend CEGUI in the source for chapter 9:
https://github.com/xarray/osgRecipes/tree/master/cookbook/chapter9/ch09_04
If you are really interested in OSG, then I guess it wouldn't be a bad idea to 
get the book itself. :)
It is awesome that the author decided to put the code up on Github.

--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=63344#63344





___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Hello and a Couple Quick Getting Started Questions

2015-04-12 Thread Dave Sargrad
Thank you!

Good advice on all counts. I'm on it. :)

Cheers,
Dave

--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=63345#63345





___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Hello and a Couple Quick Getting Started Questions

2015-04-12 Thread Dave Sargrad

jacmoe wrote:
 I am still trying to get my feet wet in the waters of OSG, but you definitely 
 want to check out OSGRecipes:
 https://github.com/xarray/osgRecipes
 
 The 'integrations' directory is a true godsend!
 
 However, you can find the old friend CEGUI in the source for chapter 9:
 https://github.com/xarray/osgRecipes/tree/master/cookbook/chapter9/ch09_04
 If you are really interested in OSG, then I guess it wouldn't be a bad idea 
 to get the book itself. :)
 It is awesome that the author decided to put the code up on Github.


In case anyone is interested the osgRecipes seem to need this data (though not 
called out in the readme 
(https://github.com/xarray/osgRecipes/blob/master/README)):
https://github.com/openscenegraph/osg-data

--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=63348#63348





___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Hello and a Couple Quick Getting Started Questions

2015-04-12 Thread Dave Sargrad
Hi,

I've built 75 of the 78 cookbooks/integrations: 3 failed for reasons that I'll 
investigate later.

I'd like to jump right in to running the samples in the debugger. I'm not a 
cmake expert, and I'm hoping there is a simple way in cmake or in the osgRecipe 
solution that it created to point the full set of cookbooks and integrations to 
the runtime libraries.

The OSG runtime libraries are installed in C:\Program Files 
(x86)\OpenSceneGraph\lib, and the includes are installed in C:\Program Files 
(x86)\OpenSceneGraph\include.

I specified the following two cmake tags to point to these locations:

OPENSCENEGRAPH_LIB_DIR 
OPENSCENEGRAPH_INCLUDE_DIR

This resulted in a largely successful build (except for the 3 menioned above). 
I would have thought it would also suffice in order to then select a project 
and debug the instance. However when I try to do this, the debugger fails to 
find key DLL's (example osg100-osgd.dll). 

I know that I can begin to edit each project in visual studio in order to point 
the project to the runtime libraries. However I'd like to do this solution 
wide and preferably through cmake. Do you know offhand if there is a cmake 
option that will do this? 


Cheers,
Dave

--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=63347#63347





___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org