Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-20 Thread Paul Martz
In the category of beyond 2.4, the community can look forward to an
OpenFlight export plugin. Should be submitted to OSG sometime in the
February-April '08 timeframe. So maybe it'll be in 2.6.

Its capabilities are pretty limited at the moment, but what is working works
well and looks promising. Perhaps I'll post a cow exported to FLT as a
Christmas gift... If you've all been good. :-)

Paul Martz
Skew Matrix Software LLC
http://www.skew-matrix.com
303 859 9466

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-19 Thread Lucas Goss
  Any volunteers, pretty please ;-)

 Ask you and shall receive! :) Hell, less than 24 hours is a pretty
 decent turnaround time...

Beat me to it... thanks.

I was going to ask the same questions I saw in your comments... should
the interface restore the original display mode in the destructor or
should that be left up to the application developer (which is what the
others seemed to do).

Also one more request that goes along with this... :)

Can we add to the WindowingSystemInterface a way to get the available
resolutions? It would be beneficial to all platforms as you could use
it to display to the user a list of available resolutions (I imagine
refresh rates may need to be queried as well).

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-19 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Robert Osfield wrote:
 Yep its working in 2.2, osgViewer is more rounded and complete in 2.2
 than 2.0, and in SVN its a little bit further on still.  Note quite
 viewer/windowing nirvana yet, but the closest the OSG has come in its
 history.
 

Ah, cool! I will check it out, that should fix one long standing bug in
our application :)

Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHaYm0n11XseNj94gRAvUtAKCjfAkbu5DoC61IbHM0JK8GQluEMACfcJ0m
r7lwFvWXnQFBJej/5mTCeKU=
=ImnG
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-19 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jeremy Moles wrote:
 On Tue, 2007-12-18 at 20:35 +, Robert Osfield wrote:
 On Dec 18, 2007 7:47 PM, Jan Ciger [EMAIL PROTECTED] wrote:
 I guess RandR it is then, because some people voiced the support for
 changing the resolution on the fly. RandR is the only reasonable way how
 to do this on Unix at the moment. The older X extensions change
 resolution, but do not resize the root window, leaving you with a
 panning virtual desktop.
 Any volunteers, pretty please ;-)
 
 Ask you and shall receive! :) Hell, less than 24 hours is a pretty
 decent turnaround time...
 
 Forwarding my patches to Submissions.

Wow, that's called - Lead with the code :))

BTW, I have noticed a comment in your diff whether or not the original
resolution should be automatically restored. I would vote for yes,
because otherwise I would have to query the original screen settings,
store them somewhere and then pass them back to your code to restore the
screen on exit. That sounds as bit dumb thing to do, because your code
has all the information already.

Furthermore, it enables the possibility of screwed up screen if the
applications throws an exception that is not caught or some library just
calls exit() (yes, some libs do that) and my cleanup code is not
reached. I would have to wrap everything into a class with a catch-all
exception handler around the code and deal with all this there. Quite a
complication for a small program.

How does this work for Windows? Are the settings restored automatically?
 One way or another, it would be good to be consistent across platforms.


Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHaYl9n11XseNj94gRAs9YAKDuoxpUOxxfu0UugqJq/Jzut8ss+gCcCxwU
ZouHebbc3rqkGY19k3LkLWc=
=xCNR
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-19 Thread Jeremy Moles

On Wed, 2007-12-19 at 22:13 +0100, Jan Ciger wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Jeremy Moles wrote:
  On Tue, 2007-12-18 at 20:35 +, Robert Osfield wrote:
  On Dec 18, 2007 7:47 PM, Jan Ciger [EMAIL PROTECTED] wrote:
  I guess RandR it is then, because some people voiced the support for
  changing the resolution on the fly. RandR is the only reasonable way how
  to do this on Unix at the moment. The older X extensions change
  resolution, but do not resize the root window, leaving you with a
  panning virtual desktop.
  Any volunteers, pretty please ;-)
  
  Ask you and shall receive! :) Hell, less than 24 hours is a pretty
  decent turnaround time...
  
  Forwarding my patches to Submissions.
 
 Wow, that's called - Lead with the code :))

 BTW, I have noticed a comment in your diff whether or not the original
 resolution should be automatically restored. I would vote for yes,
 because otherwise I would have to query the original screen settings,
 store them somewhere and then pass them back to your code to restore the
 screen on exit. That sounds as bit dumb thing to do, because your code
 has all the information already.
 
 Furthermore, it enables the possibility of screwed up screen if the
 applications throws an exception that is not caught or some library just
 calls exit() (yes, some libs do that) and my cleanup code is not
 reached. I would have to wrap everything into a class with a catch-all
 exception handler around the code and deal with all this there. Quite a
 complication for a small program.

 How does this work for Windows? Are the settings restored automatically?
  One way or another, it would be good to be consistent across platforms.

Yeah, I'm in total agreement here. It would be very easy to restore the
settings in the destructor if other platforms do that kind of thing...

 Regards,
 
 Jan
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.7 (GNU/Linux)
 Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org
 
 iD8DBQFHaYl9n11XseNj94gRAs9YAKDuoxpUOxxfu0UugqJq/Jzut8ss+gCcCxwU
 ZouHebbc3rqkGY19k3LkLWc=
 =xCNR
 -END PGP SIGNATURE-
 

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-18 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi Robert,

Robert Osfield wrote:
 An external script that invokes the 3D app only works when entering an
 application, not once its running, so it does have a bit of limited
 applicability.

I understand that, however, how often do you need to change resolution
once the application is running? If it is needed only once when starting
it, then it is not a problem.

 You can always make the app called and the path application/user
 definable with a sensible default for each platform one doesn't need
 to hard wire it - if a platform doesn't have anything sensible then
 you'd just have a blank app string and would therefore not call the
 res changing app.

That could work, but I am not sure whether it is actually worth the
trouble - the original poster only wanted to change the resolution
before starting the application, not during runtime, so this could be an
overkill. Perhaps a poll to figure out whether this is a one-off request
or a more general issue would be a good thing to do.

 BTW, I'm just trying to explore possible solutions here.

I see. I would say that a most future-proof solution would be to
implement support for the RandR extension
(http://keithp.com/~keithp/talks/randr/).

This is now supported by everything running X.Org X servers (Linux,
various BSDs), however proprietary Unix doesn't support it (SGI, Sun,
HP). I am not sure whether that would be a significant issue or not.
However, it is not 100% foolproof solution, because not all drivers
support it (ATI and nVidia do, though).

Regards,

Jan


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHZ8mAn11XseNj94gRAhHgAJ9/CrXu2NKFpUVHT/DRfM545Gc2oQCg7KA+
J/mRwxs5trWZaUFQIa9cHyc=
=HOut
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-18 Thread Robert Osfield
Hi Jan,

On Dec 18, 2007 1:22 PM, Jan Ciger [EMAIL PROTECTED] wrote:
  An external script that invokes the 3D app only works when entering an
  application, not once its running, so it does have a bit of limited
  applicability.

 I understand that, however, how often do you need to change resolution
 once the application is running? If it is needed only once when starting
 it, then it is not a problem.

The OSG is a general purpose graphics library so it needs to
accommodate a wide range of application usage, and also try to make it
seemless across platforms - this is the advantage with wrapping it up
with existing OSG interfaces for it - ones that are only implemented
for Win32 so far.

  You can always make the app called and the path application/user
  definable with a sensible default for each platform one doesn't need
  to hard wire it - if a platform doesn't have anything sensible then
  you'd just have a blank app string and would therefore not call the
  res changing app.

 That could work, but I am not sure whether it is actually worth the
 trouble - the original poster only wanted to change the resolution
 before starting the application, not during runtime, so this could be an
 overkill. Perhaps a poll to figure out whether this is a one-off request
 or a more general issue would be a good thing to do.

  BTW, I'm just trying to explore possible solutions here.

 I see. I would say that a most future-proof solution would be to
 implement support for the RandR extension
 (http://keithp.com/~keithp/talks/randr/).

 This is now supported by everything running X.Org X servers (Linux,
 various BSDs), however proprietary Unix doesn't support it (SGI, Sun,
 HP). I am not sure whether that would be a significant issue or not.
 However, it is not 100% foolproof solution, because not all drivers
 support it (ATI and nVidia do, though).

RandR support would be a reasonable way forward.  SGI and other older
workstation class machines are not so prone to users wishing to change
resolution - Once I had 1280x1024 on an SGI Indigo Elan back in 92
this didn't change till my final contact with SGI's with the Oynx
IR2...   If if users do wish support on these platforms they can step
forward and implement it.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-18 Thread Lucas Goss
  That could work, but I am not sure whether it is actually worth the
  trouble - the original poster only wanted to change the resolution
  before starting the application, not during runtime, so this could be an
  overkill. Perhaps a poll to figure out whether this is a one-off request
  or a more general issue would be a good thing to do.

Actually I want the resolution to be able to be changed anytime in the
application. So the user starts the application, finds that the the
application runs a little slow, changes some settings for detail and
resolution, and now the application performs at a good rate. And a
smart application would be even nicer where it tests the users machine
and automatically configures this stuff for them (but still allows
them to change it).

  I see. I would say that a most future-proof solution would be to
  implement support for the RandR extension
  (http://keithp.com/~keithp/talks/randr/).
 
  This is now supported by everything running X.Org X servers (Linux,
  various BSDs), however proprietary Unix doesn't support it (SGI, Sun,
  HP). I am not sure whether that would be a significant issue or not.
  However, it is not 100% foolproof solution, because not all drivers
  support it (ATI and nVidia do, though).

 RandR support would be a reasonable way forward.  SGI and other older
 workstation class machines are not so prone to users wishing to change
 resolution - Once I had 1280x1024 on an SGI Indigo Elan back in 92
 this didn't change till my final contact with SGI's with the Oynx
 IR2...   If if users do wish support on these platforms they can step
 forward and implement it.

That's what I was thinking as the solution is already not 100%
foolproof. Because if you compile your code on Linux/BSD/Unix/etc. and
expect it to work the same on every platform, it doesn't (works on Mac
and Windows though). So at least including the Linux/BSD and others
that support X.Org is a little better than not supporting any at all.
Currently OSG just silently fails when making this call, which you
could still do for those platforms that don't support the RandR
extension.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-18 Thread Rizzen
For many games (particular on Windows of yesteryears) and applications,
I have changed resolutions and 3D effects once the application or game
has started depending on the frame rate performance. Thus if possible it
would be best to implement a feature into OSG to change resolution,
though how this would be done internal can be very platform dependent,
so more work would be needed to implement this feature.

My 2c worth.

Rizzen

Lucas Goss wrote:
 That could work, but I am not sure whether it is actually worth the
 trouble - the original poster only wanted to change the resolution
 before starting the application, not during runtime, so this could be an
 overkill. Perhaps a poll to figure out whether this is a one-off request
 or a more general issue would be a good thing to do.
   

 Actually I want the resolution to be able to be changed anytime in the
 application. So the user starts the application, finds that the the
 application runs a little slow, changes some settings for detail and
 resolution, and now the application performs at a good rate. And a
 smart application would be even nicer where it tests the users machine
 and automatically configures this stuff for them (but still allows
 them to change it).

   
 I see. I would say that a most future-proof solution would be to
 implement support for the RandR extension
 (http://keithp.com/~keithp/talks/randr/).

 This is now supported by everything running X.Org X servers (Linux,
 various BSDs), however proprietary Unix doesn't support it (SGI, Sun,
 HP). I am not sure whether that would be a significant issue or not.
 However, it is not 100% foolproof solution, because not all drivers
 support it (ATI and nVidia do, though).
   
 RandR support would be a reasonable way forward.  SGI and other older
 workstation class machines are not so prone to users wishing to change
 resolution - Once I had 1280x1024 on an SGI Indigo Elan back in 92
 this didn't change till my final contact with SGI's with the Oynx
 IR2...   If if users do wish support on these platforms they can step
 forward and implement it.
 

 That's what I was thinking as the solution is already not 100%
 foolproof. Because if you compile your code on Linux/BSD/Unix/etc. and
 expect it to work the same on every platform, it doesn't (works on Mac
 and Windows though). So at least including the Linux/BSD and others
 that support X.Org is a little better than not supporting any at all.
 Currently OSG just silently fails when making this call, which you
 could still do for those platforms that don't support the RandR
 extension.

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

   

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-18 Thread Lucas Goss
 For many games (particular on Windows of yesteryears) and applications,
 I have changed resolutions and 3D effects once the application or game
 has started depending on the frame rate performance. Thus if possible it
 would be best to implement a feature into OSG to change resolution,
 though how this would be done internal can be very platform dependent,
 so more work would be needed to implement this feature.

This feature is already in OSG and works already on Windows and Mac
(the function in question is setScreenResolution in the osgViewer
library). So it's already implemented on two platforms, but not on any
*nix platform.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-18 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Robert Osfield wrote:
 
 RandR support would be a reasonable way forward.  SGI and other older
 workstation class machines are not so prone to users wishing to change
 resolution - Once I had 1280x1024 on an SGI Indigo Elan back in 92
 this didn't change till my final contact with SGI's with the Oynx
 IR2...   If if users do wish support on these platforms they can step
 forward and implement it.
 

I guess RandR it is then, because some people voiced the support for
changing the resolution on the fly. RandR is the only reasonable way how
to do this on Unix at the moment. The older X extensions change
resolution, but do not resize the root window, leaving you with a
panning virtual desktop.

BTW, when speaking about these features - is the setting of the window
title working on Unix again? It used to work before 2.0, but then it was
not implemented once the renderer was redone.

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHaCPtn11XseNj94gRAovCAKCzhzfd6TAm+/b5lJehm/CEgz1AiACePfph
xkvSoUdrhOp8Hz/TDfQtkZs=
=9Yzx
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-18 Thread Robert Osfield
On Dec 18, 2007 7:47 PM, Jan Ciger [EMAIL PROTECTED] wrote:
 I guess RandR it is then, because some people voiced the support for
 changing the resolution on the fly. RandR is the only reasonable way how
 to do this on Unix at the moment. The older X extensions change
 resolution, but do not resize the root window, leaving you with a
 panning virtual desktop.

Any volunteers, pretty please ;-)

 BTW, when speaking about these features - is the setting of the window
 title working on Unix again? It used to work before 2.0, but then it was
 not implemented once the renderer was redone.

Yep its working in 2.2, osgViewer is more rounded and complete in 2.2
than 2.0, and in SVN its a little bit further on still.  Note quite
viewer/windowing nirvana yet, but the closest the OSG has come in its
history.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-17 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Lucas Goss wrote:
 
 Hmm, that might be alright, though I don't really like writing shell
 scripts, haha. Of course if that is an advantage for some they can
 still do it that way, they don't have to use OSG's implementation. But
 it would be nice to have an implementation still, as OSG provides an
 interface for it and those that want a quick way of resolution
 changing without messing with shell scripts can get it there.
 

The reason for SDL's craziness and why I have suggested a shell script
is easy - you can make a some kind of X hack that works on your computer
using one extension, but I compile the program on my computer and it is
very likely that either the resolution is not available, the extension
is not available/working with my X and driver or some other weird
problem happens. In that case relying on external (and supposedly
working) tools can save your bacon.

I wouldn't like to have to implement resolution switching logic for X
having to juggle X11 calls to the older extensions, newer RandR stuff
(that is incompatible with them) and most recently the various OpenGL
compositing managers like Compiz, where the situation is yet different
(you could be running on a nested X server and your application calls
are actually proxied). Are you ready to handle all of this?

Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHZsw2n11XseNj94gRAlE6AJ9GPz2UCa2Gf2ha2OALHCtj+RlLnACgiZNc
06tH32ylbosbDgEjuFsvwOw=
=nZvm
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-17 Thread Robert Osfield
Hi Jan,

On Dec 17, 2007 7:21 PM, Jan Ciger [EMAIL PROTECTED] wrote:
 The reason for SDL's craziness and why I have suggested a shell script
 is easy - you can make a some kind of X hack that works on your computer
 using one extension, but I compile the program on my computer and it is
 very likely that either the resolution is not available, the extension
 is not available/working with my X and driver or some other weird
 problem happens. In that case relying on external (and supposedly
 working) tools can save your bacon.

 I wouldn't like to have to implement resolution switching logic for X
 having to juggle X11 calls to the older extensions, newer RandR stuff
 (that is incompatible with them) and most recently the various OpenGL
 compositing managers like Compiz, where the situation is yet different
 (you could be running on a nested X server and your application calls
 are actually proxied). Are you ready to handle all of this?

I wonder about a compromise... call an external application to do the
change of resolution for us from within osgViewer just by issuing a
system call.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-17 Thread Robert Osfield
Hi Jan,

On Dec 17, 2007 8:21 PM, Jan Ciger [EMAIL PROTECTED] wrote:
 That would be quite a hackery, IMO. Are you going to handle all the
 issues with path, detection whether certain binaries are available or
 not and potentially which versions they are in the application code?

An external script that invokes the 3D app only works when entering an
application, not once its running, so it does have a bit of limited
applicability.

 That is far easier and safer to do at the operating system level and it
 also leaves the door open for the potential packager to adapt the script
 to the conventions used by the particular distro. If it is part of the
 binary, one cannot do this unless the application is shipped with
 source. That could be an issue for commercial software vendors using OSG.

You can always make the app called and the path application/user
definable with a sensible default for each platform one doesn't need
to hard wire it - if a platform doesn't have anything sensible then
you'd just have a blank app string and would therefore not call the
res changing app.

BTW, I'm just trying to explore possible solutions here.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-16 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Robert Osfield wrote:
 Hi Lucas,
 
 On Dec 14, 2007 9:46 PM, Lucas Goss [EMAIL PROTECTED] wrote:
 Would it be possible to implement setScreenResolution for X11? Was
 it left out because it requires an X11 extension? I have some linux
 machines that have older video cards that run the desktop ok at higher
 resolutions, but run 3D much faster if the resolution is scaled down.
 
 Setting screen resolution isn't straight forward with X11 unfornately,
 if it had been it'd already have been done.  The generic interface for
 setting resolution is in place, and implementation is done for Win32,
 but on the X11 side we did a volunteer to go forth and implement it.
 

Anyhow, I think that an easier and more unix-y way is to make a
wrapper script calling xrandr or whatever your distro supports to change
the resolution before starting your application and then change it back.

That has also the advantage that should your app crash, it will not
leave the screen in a messed up state - a way too common issue that
could be a major problem if you are working on a system where the
primary screen can deal only with certain resolutions/refresh rates
(projectors, HMDs ...)

Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHZWqfn11XseNj94gRAlMyAJ4oD7iX6DVA5Wrk9bPD1SVEoJb3FgCgyNHP
Sgrm2IXVsclNg7CIJZUrWXA=
=a34K
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-16 Thread Lucas Goss
  Setting screen resolution isn't straight forward with X11 unfornately,
  if it had been it'd already have been done.  The generic interface for
  setting resolution is in place, and implementation is done for Win32,
  but on the X11 side we did a volunteer to go forth and implement it.

Hmm, I'll have to look into it. I've made my own XWindow wrappers with
OpenGL before setting the screen resolution and never had a problem. I
just looked at SDL's implementation and it's pretty crazy. I looked at
OGRE's for comparison and it's much simpler. Maybe I can make the
implementation, I'll look into it.

 Anyhow, I think that an easier and more unix-y way is to make a
 wrapper script calling xrandr or whatever your distro supports to change
 the resolution before starting your application and then change it back.

 That has also the advantage that should your app crash, it will not
 leave the screen in a messed up state - a way too common issue that
 could be a major problem if you are working on a system where the
 primary screen can deal only with certain resolutions/refresh rates
 (projectors, HMDs ...)

Hmm, that might be alright, though I don't really like writing shell
scripts, haha. Of course if that is an advantage for some they can
still do it that way, they don't have to use OSG's implementation. But
it would be nice to have an implementation still, as OSG provides an
interface for it and those that want a quick way of resolution
changing without messing with shell scripts can get it there.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-15 Thread Robert Osfield
Hi Lucas,

On Dec 14, 2007 9:46 PM, Lucas Goss [EMAIL PROTECTED] wrote:
 Would it be possible to implement setScreenResolution for X11? Was
 it left out because it requires an X11 extension? I have some linux
 machines that have older video cards that run the desktop ok at higher
 resolutions, but run 3D much faster if the resolution is scaled down.

Setting screen resolution isn't straight forward with X11 unfornately,
if it had been it'd already have been done.  The generic interface for
setting resolution is in place, and implementation is done for Win32,
but on the X11 side we did a volunteer to go forth and implement it.

As a guide SDL has code for changing screen resolution.  I've reviewed
this and came away with the conclusion that implementing it properly
would take more time than I had the time.  Alas time right now is no
more abundant, so we do need an help on this one ;-)

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-14 Thread Lucas Goss
Would it be possible to implement setScreenResolution for X11? Was
it left out because it requires an X11 extension? I have some linux
machines that have older video cards that run the desktop ok at higher
resolutions, but run 3D much faster if the resolution is scaled down.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-12 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

James Halliday wrote:

 I've been using osgswig ( http://code.google.com/p/osgswig/ ) for a
 project on a cave-type system combining python, vrjuggler, and osg.
 osgswig supports python, ruby, java and lua, although I've only played
 with the python features. I had tried to use osgPython and pyosg before,
 but they only work with older versions of osg.

Interesting, I didn't know about this project! Thanks for the pointer!

 / 2) Application is written in a high level language and calls into C/C++/
 / code to run the performance critical stuff. I think that this is what/
 / you want (... enable us to/
 / develop applications purely from scripting languages, so developers in/
 / this realm would just need the binaries to the OSG installed, and no/
 / need for C++ dev environment).
 
 /The osgswig project seems to be primarily designed for scenario 2,
 although in my application I've been using osgswig as in scenario 1 by
 getting out a void pointer to the opaque values from the python api. I'm
 not sure how possible this approach is with other languages though.

It usually works in the same way if you are using SWIG - you get a void
pointer packaged into some opaque data structure (e.g. a SMOB for Guile)
and you are passing that around. However, if the bindings are made using
a different tool, this could be different.

Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHYFQOn11XseNj94gRAppsAJ9FKDi2zX4EGao8ftGEdfatY2pM7ACeIOzm
rCZ1YXKvB0SzqoKqUM8LDL0=
=2jic
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-12 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Jason Daly wrote:

 osgCal/Replicant are great, provided that you want to use Cal3D 
 characters only.

Why? Where is a problem about taking a character/animation from Collada
and creating the Cal3D skeleton structure from it on loading? That is
what the Cal3D loaders do. Cal3D doesn't really expect anything exotic,
so it should be very easy to do. I didn't do it for mesh, but I had a
Cal3D character skeleton created and driven from outside before.
Nothing crazy was required.

The only exception are probably LOD levels in Cal that work in a bit
unusual way - by collapsing mesh dynamically - instead of the more
normal way of swapping around different meshes, but that is not really
an issue, especially if the software skinning in Cal is not used.

 I don't think the idea behind osgSkeleton is limited to a transformation 
 hierarchy.  Most OSG users know we already have that functionality.  My 
 understanding is that osgSkeleton would provide the necessary 
 infrastructure for skinning and character animation, and the required 
 data could come from Collada, Cal3D, or whatever other plugin that can 
 provide it.  

That is fine, but I do not see much point in it - it would be only
re-implementation of what already exists in Cal3D.

 That's the main advantage I see in creating a new nodekit.  It makes the 
 rendering orthogonal to the data format.

Is the current Cal3D situation different? Non-orthogonal? I understand
that you are somehow implying that without using the Cal3D data formats
you cannot use Cal3D library. That isn't the case, as outlined above.
Cal doesn't care where the data come from once they are loaded. If you
load them from Collada file, no problem.

Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHYFXzn11XseNj94gRAui8AJ9EjTvrnrAyHp/APfoCVvOdJBOjOgCgz1Gl
I+MSnqL7/+eKRclYsvGBAKQ=
=gfRw
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-12 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Vladimir Shabanov wrote:

 Yes, it has different implementation. But what about skeletal
 character with morphing face and maybe some particles around his body
 (imagine a small devil). Different rendering methods are tightly
 coupled here. And their animations must be synchronized.
 
 So while the rendering implementation can be separated (not sure about
 morphs and skeleton) the animations must be ran from single place.

You have a valid point here. However that doesn't require a huge,
all-encompassing node kit for managing all kinds of animation, does it?

If you want to have a character that is both skeletally animated and has
morph targets for e.g. face, it could be a composite structure with two
components - face and the rest. I would leave this to the user to
implement a class managing a character like that and have OSG have two
animation node kits - one for skeleton, deforming the mesh and then
another one that will work on the pre-deformed mesh and fix the face or
whatever. The morphing is useful even without the skeletal animation
that brings a lot of extra baggage in and I wouldn't like it to be
tightly tied together. However, this could be tricky to implement.

Otherwise, then let's not talk about a general animation package but
something specific to character animation. Then it would be OK to have a
character class supporting both things out of the box, but we wouldn't
be pretending that this is something more generic.

Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHYFgYn11XseNj94gRArtvAJ0aexy7mtZZiR2O+vlJVDBNgcJ1VwCdERc9
wZ84pXuBajnwdJCi2a4Ce7Q=
=RYar
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-12 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hello Jeremy,

Jeremy Moles wrote:
 
 Nothing more was ever implied given the code provided, so I'm not sure
 why you even brought this up? The example is clearly a purposefully
 succinct and shortened summation. What brings it up to speed is adding
 the mixing, interpolation, etc, which I also mentioned at the end of the
 paragraph.

Yes, I agree, however, who is going to do it? Those parts are the least
sexy and most difficult in the animation code. My answer wasn't so
much targeted at you (you know what this stuff is about, I believe), as
much as at the others who could get a false impression that once we have
a skeleton support and skinning code, all is going to work by magic.

 Secondly, and I'm not speaking as a total foreigner here since I do have
 a lot of experience w/ Cal3D and a decent amount of affiliation with the
 project, when he can use osgCal or Replicant that work already is
 really the issue that is up for debate in my mind.

My issue is more on the resource level - is there anybody willing to
commit himself to redo this stuff that Cal3D provides? The animation
parts are tricky, requiring good math skills and certain experience. I
didn't see anybody stepping up and saying I will do this until now.
Unless we have this, it would be rather unwise to make a half-cooked
toolkit that is not practically usable.

 Vladimir has made many posts regarding his changes to osgCal2 today, and
 from the information I can gather he was required to basically
 re-implement portions of Cal3D in his plugin just to get acceptable
 performance and support for hardware skinning. It sounds like osgCal2 is
 really more of a hybrid Cal3D adaptation than just a simple Cal3D
 wrapper/plugin. While his changes my create the outward appearance of
 animation working already, as a developer it certainly doesn't qualify
 as such to me, though I often admittedly fall victim to putting too much
 emphasis on the wrong things.

I think that this was answered elsewhere by him already.

 
 Perhaps Cal3D just isn't the tool for the job here. Or at least, it
 shouldn't (and perhaps I'm wrong for believing will become as much) be
 THE character animation solution for OSG, long term.

I agree with this, however, there isn't anything better on the table at
the moment. Unless somebody offers to replace Cal, I suggest an
evolution rather than revolution. I gather that this is also what Robert
wants, judging from one of his last emails on the topic. If we can
eliminate the dependency on Cal long term, great. However, I would
hesitate to remove it until we have a replacement, including the design
pipeline.

 At any rate, unless I'm willing to step up and code to solve the
 problem, I probably shouldn't say too much more on the issue. Unless I'm
 able to provide real working code, it just looks like I'm forum
 trolling, which I'm not trying to do. :)

:-))

Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHYFzon11XseNj94gRAhPvAJ0YI+GqRuOuHwqxvLNaPR3lbwLQxACg1cd7
z/QGWZKaZ5KLoCTd+E5B4ac=
=Yeu4
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-12 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Vladimir Shabanov wrote:

 As I said before cal3d meshes are not used by osgCal for performance
 and memory usage reasons. They are used at export stage to generate
 ready to direct load meshes file. For compability loading from cal3d
 .cmf-files is still here.
 
 The only things needed to be integrated in OSG to remove cal3d
 dependeny are skeleton support and skeleton animation support. OSG and
 osgCal have all other things.

Skeleton animation is actually probably the trickiest part. Getting
animations to blend right and to mix right, allowing procedural
animation (bones driven by an algorithm, not just keyframe
interpolation) and such are quite a big deal. That is why I am not so
enthusiastic about ripping out Cal3D - nobody has so far offered to do
this hard part. Rendering it is comparably easy.

 
 But skeleton animations is not enough, exporters to these animations
 are also needed. It is artist pipeline that need most work.

Very important point!

 No. It's not linux only. osgCal2 works on windows also. There is no
 CMake files in osgCal2, it uses old OSG make files to make osgCal on
 unix systems and on mingw under windows. People have made Visual
 Studio project files and osgCal works ok on windows.

I didn't try the hardware accelerated version, but the software skinned
one used to work just fine on Windows, indeed.


Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHYFjvn11XseNj94gRAliKAJ92I/sQvTRduNCzMOkCT6PlJ1yPmQCgxTXB
4oGghkNNzCmVB1QdsnRfVyI=
=GIwL
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-11 Thread John Donovan
Robert Osfield wrote:
 On Dec 11, 2007 6:31 AM, J.P. Delport [EMAIL PROTECTED] wrote:
 could we get support for multiple render targets (MRT) integrated into
 2.4? I know some people are using hacky patches for this. Some patches
 have been submitted, but they have to be reworked.

 I can help with this if needed.
 
 If we can get a clean set of patches to support MRT then I'm for
 reviewing/merging them :-)

Mea culpa... I implemented JP's hack into my source and it worked for what I
needed it for. Then I submitted a half-baked patch which Robert was right to
refuse, but then I was dragged off to do other things. I'll have time to play
around with it over chrimbo in my spare time, so if you're around between
christmas day and new year JP, we could collaborate on a decent fix. We're most
of the way there really.

-JD


__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-11 Thread J.P. Delport
Hi,

John Donovan wrote:
 Robert Osfield wrote:
 If we can get a clean set of patches to support MRT then I'm for
 reviewing/merging them :-)
 
 Mea culpa... I implemented JP's hack into my source and it worked for what I
 needed it for. Then I submitted a half-baked patch which Robert was right to
 refuse, but then I was dragged off to do other things. I'll have time to play
 around with it over chrimbo in my spare time, so if you're around between
 christmas day and new year JP, we could collaborate on a decent fix. We're 
 most
 of the way there really.

It'd be great if you can give it a bash before January. I think if you 
address the things we've talked about in the earlier discussion on 
osg-submissions, we can get it merged. I'll be away until 7th Jan, but 
will then have some time to look at/test it.

regards
jp

-- 
This message is subject to the CSIR's copyright terms and conditions, e-mail 
legal notice, and implemented Open Document Format (ODF) standard. 
The full disclaimer details can be found at 
http://www.csir.co.za/disclaimer.html.

This message has been scanned for viruses and dangerous content by MailScanner, 
and is believed to be clean.  MailScanner thanks Transtec Computers for their 
support.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-11 Thread Jeremy Moles

On Tue, 2007-12-11 at 09:18 +, Robert Osfield wrote:
 On Dec 10, 2007 8:27 PM, Jeremy Moles [EMAIL PROTECTED] wrote:
  One thing that should be kept in mind when using Cal3D is that in it's
  current state, Cal3D isn't a skeletal system alone--it's a skeletal
  animation system+mesh format, and one cannot be divorced from the other.
  Furthermore, there is a lot of data reproduction in Cal3D that already
  exists in OSG, and no way to easily (or cleanly) make changes therein.
 
 How big is Cal3D?  I ask in terms how much effort would it be required
 to reimplement the unique parts not found in the core OSG?

It's hard to say--there's a lot of code in Cal3D supporting the mesh
format, XML loading, matrices, vectors, quaternions, etc. If I had to
estimate, I'd guess OSG already contains 20-25% of what Cal3D has to
implement itself to be graphics library/system agnostic, and another
20-25% or so is code relating to it's mesh format. So, you'd probably
have to re-implement half of it... :(

  In the opinion of someone who is familiar with Cal3D, I'd say that we
  wait a bit on inclusion of this until someone has the time to cleanup
  the current plugin. Hardware skinning is a pretty common performance
  boost these days, and whatever solution arises for OSG, I'd personally
  look at support for this feature as the make-or-break aspect.
 
 I thought there was already hardware skinning support in place.  So
 which versions which hardware skinning?

Not in Cal3D itself. The software doesn't make any attempt to bind
itself to any graphics API, so things like hardware skinning are left up
to the user (though they do include examples using the old
shader/assembly code or whatever it's called). Vladimir patched support
for GLSL skinning into osgCal2, but it's currently Linux only...

  To be completely honest, character animation is such a huge issue unto
  itself that it probably deserves a lot of discussion and review before
  any steps are taken--but that's just my opinoin.
 
 Indeed - a good topic to break out into a separate thread...
 
  P. S. When I finish a release-candidate version of osgHUD (or whatever
  you want to change the name to), I'll be peddling that for inclusion as
  well. :) I've made a number of changes in the last few days if anyone is
  keeping up with SVN, and almost done with a decent implementation of a
  table layout, very similar to how HTML tables are done... however, no
  one posted any complaints to my first thread, so I'm just going to keep
  proceeding as normal, though I did remove the silly functional code that
  no one could have possibly understood but myself... it's a shame how
  difficult it is to do use something as [conceptually] easy as
  std::for_each()--it's a nightmare, when you can almost always achieve
  the same thing cleaner and with less code using for(iter;iter;++)...
 
 If you can get osgHUD ready for integration then I'm very open to
 reviewing it with a view to inclusion in 2.4/2.6.  We do need to save
 people from the trials and tribulations of going with something like
 CEGUI.

2.6 is my goal...

 W.r.t awkwardness of some program concepts, C++ is the culprit here.
 My own feeling is that scripting languages shine for high level GUI
 work.  One could use a scripting language for both the control and the
 layout setup.  How to make this integration possible is another big
 topic...
 
 Robert.
 

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-11 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Robert Osfield wrote:
 On Dec 10, 2007 8:27 PM, Jeremy Moles [EMAIL PROTECTED] wrote:
 One thing that should be kept in mind when using Cal3D is that in it's
 current state, Cal3D isn't a skeletal system alone--it's a skeletal
 animation system+mesh format, and one cannot be divorced from the other.
 Furthermore, there is a lot of data reproduction in Cal3D that already
 exists in OSG, and no way to easily (or cleanly) make changes therein.
 
 How big is Cal3D?  I ask in terms how much effort would it be required
 to reimplement the unique parts not found in the core OSG?

Cal3D implements basically these things:

1) Data loading (including exporters for popular modelling packages) -
mesh, skeleton, animation files. Skeleton can be arbitrary - e.g. an
octopus or even a car, it is not restricted to humanoid skeletons
(important feature, IMO!).

2) Keyframe interpolation - you get two poses of the skeleton and you
need to calculate the in-betweens smoothly. Basically quaternion
slerping, but it can get hairy.

3) Animation blending/mixing. You want a guy to walk and e.g. wave his
hand or fire a weapon at the same time - this is animation mixing.
Switching between animations should be smooth, not abrupt - blending
between poses of different animations over a given time.

4) A little bit of support for spring-mass systems, this was intended
for cloth simulation. It doesn't work too well.

5) Software skinning - after calculating the final pose of the skeleton,
the mesh is deformed to conform with it. This can be bypassed, if the
renderer implements hardware skinning instead.

6) Support for attachments - e.g. a guy picking up a sword from the
ground and the sword is then animated together with his hand.

As such, the library is not really big. I would hesitate to go and
re-implement it without reason, because lot of things you cannot do too
differently than what Cal3D does already. If there are specific issues
with the library, I would prefer to try to fix it first before throwing
it away, together with the large amount of existing data for it and the
set of working exporters.

On the other hand, a person who knows what he is doing with regards to
character animation could re-implement most of the Cal3D functionality
easily. However, please, keep in mind that the animation stuff goes way
beyond rendering a guy using a hardwired shader for skinning playing a
single animation (that is what e.g. osgCharacter does). That is a toy
that is not really usable. At least, the keyframe interpolation and
animation blending/mixing are essential and need to be in place. Only
then can a system such as ReplicantBody or even higher level be used to
actually build a usable animation control system on top of it - with
navigation, path finding, ground following, motion planning, etc.

I do not see much issue with data duplication - the only thing that
could be duplicated is the mesh geometry that OSG could potentially load
from elsewhere. Skeletons and animations have no support in OSG at the
moment. There is also no rendering code in Cal3D itself - all happens on
abstract data structures, the library is completely independent on any
renderer. It only provides data suitable for feeding into e.g. vertex
arrays in OpenGL.

However, there is no problem with adding an external loader for these
data to Cal3D - everything can be built procedurally, bypassing the
native data formats (XML-based, btw). Potential integration could be
e.g. with Collada file format that seems to have some support for
skeletal animation built-in.

 In the opinion of someone who is familiar with Cal3D, I'd say that we
 wait a bit on inclusion of this until someone has the time to cleanup
 the current plugin. Hardware skinning is a pretty common performance
 boost these days, and whatever solution arises for OSG, I'd personally
 look at support for this feature as the make-or-break aspect.
 
 I thought there was already hardware skinning support in place.  So
 which versions which hardware skinning?

The osgCal2 plugin has hardware skinning already, however the code needs
a bit stabilization and cleanup, IMO. Also, it could use wider testing,
specifically for the threading issues.

 To be completely honest, character animation is such a huge issue unto
 itself that it probably deserves a lot of discussion and review before
 any steps are taken--but that's just my opinoin.
 
 Indeed - a good topic to break out into a separate thread...

True. However, Cal3D and osgCal2 are fairly mature libraries, being in
development for many years (Cal3D at least). They provide at the very
least the minimal support one needs to get skeletal animation running.
Unless somebody sits down today and delivers a new library tomorrow,
there is nothing else free (as in freedom) available on the table with
comparable features.

Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva 

Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-11 Thread Vladimir Shabanov
2007/12/10, Jeremy Moles [EMAIL PROTECTED]:
 I noticed there was a lot of Cal3D discussion going on here so I'd
 figure I'd chime in and say a few things.

 I have write access to Cal3D SVN I obtained a year or so ago when Palle
 Raabjerg and myself rewrote the Cal3D Blender exporter, which we built
 by starting from the version in the Soya project; I've also fixed a few
 small bugs here and there in Cal3D proper. I'm pretty familiar with
 Cal3D in general, and with the various Cal3D OSG plugins that exist. As
 a matter of fact, I'm the one who made the Cal3D videos on the website,
 and I used OSG to do it. :)

 http://home.gna.org/cal3d/

 For a bit of info (and some personal opinion):

 Firstly, there is the generally-referred-to osgCal (officially called
 osgCal2), which was originally made by Ruben Lopez and has had many
 additional edits since then. There is also a GPL version that is
 incredibly more sophisticated which was created by the people at
 Underware, but the license wouldn't not allow for wholesale inclusion
 into OSG.

 Vladimir Shabanov recently made some changes to osgCal2, and I believe
 he and Ruben coordinated so that his changes were committed upstream.
 However, as I mentioned back then and I believe Jan Ciger has alluded to
 earlier in this thread: the code will need a lot of love before it's
 ready for serious inclusion. For example, the last time I checked, the
 shaders were somehow parsed by sed before actually being written into a
 valid shader file, and there's simply no way I can see anyone in the
 Windows or Mac world willing to accept such a restriction.

Shader files that are preprocessed by sed are also kept in SVN, so
there is no need for windows/mac users to run sed. Preprocessing can
be done using OpenGL driver but it compilcates shader debugging (it's
easier to see final shader code than try to think what defines are
processed and what are not).

 One thing that should be kept in mind when using Cal3D is that in it's
 current state, Cal3D isn't a skeletal system alone--it's a skeletal
 animation system+mesh format, and one cannot be divorced from the other.
 Furthermore, there is a lot of data reproduction in Cal3D that already
 exists in OSG, and no way to easily (or cleanly) make changes therein.

BTW osgCal doesn't uses cal3d's mesh files (.cmf). There is a tool
osgCalPreparer (not sure is it a good name) that prepares
cal3d.cfg.meshes.cache file which contatins all the necessary data
ready for fast loading (vertex, normal, texcoord, weight, matrix
index, tangent and handedness buffers). If meshes cache file doesn't
exists this data is created implicitly.

Cal3d's meshes are not ready for hardware skinning. There is a
separate CalHardwareModel class which fills vertex arrays with the
necessary data (and it is lengthly operation for hi-poly models). Also
cal3d incorrectly calculates tangent-binormal-normal basis for meshes
with mirrored UV. So osgCal calculates TBN too.

Also osgCal performs mesh deformation calculation itself, not using CalRenderer.

So the only things osgCal currently uses from cal3d is material
description loading plus skeleton and animation system.
(And it uses CalHardwareModel but it is needed only at export stage).

 In the opinion of someone who is familiar with Cal3D, I'd say that we
 wait a bit on inclusion of this until someone has the time to cleanup
 the current plugin.

Not sure that there is a need for some major clean up for osgCal. Many
things was reworked in past few months and osgCal is not far from
stable release.

 As far as ReplicantBody is concerned I'm unsure--I've never looked at
 it.

 To be completely honest, character animation is such a huge issue unto
 itself that it probably deserves a lot of discussion and review before
 any steps are taken--but that's just my opinoin. Every time I'm forced
 to put any thought into the issue, I just get sleepy. What we __really__
 need is an osgSkeleton NodeKit, which can then be exercised/demonstrated
 in the Collada importer, but would be usable alone as well in true OSG
 style:

 osgSkeleton::Skeleton* skel  = new osgSkeleton::Skeleton();
 osgSkeleton::Bone* root  = new osgSkeleton::Bone();
 osgSkeleton::Bone* child = new osgSkeleton::Bone();

 root-addChildBone(child);

 skel-setRootBone(root);

 I bet once a basic, simple system was released, people would go to town
 making the necessary changes to bring it up to speed with other kits. It
 wouldn't have to be perfect, but as long as it was adaptable and done in
 true OSG fashion, people could subcass things in osgSkeleton for their
 own uses or to inject their desired interpolation algorithms (which is a
 big area of interest for animations buffs)...

osgSkeleton is a good idea. The cal3d dependency can be removed with
it. But there can be much work to make osgSkeleton.
___
osg-users mailing list
osg-users@lists.openscenegraph.org

Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-11 Thread Vladimir Shabanov
2007/12/11, Jeremy Moles [EMAIL PROTECTED]:
  How big is Cal3D?  I ask in terms how much effort would it be required
  to reimplement the unique parts not found in the core OSG?

 It's hard to say--there's a lot of code in Cal3D supporting the mesh
 format, XML loading, matrices, vectors, quaternions, etc. If I had to
 estimate, I'd guess OSG already contains 20-25% of what Cal3D has to
 implement itself to be graphics library/system agnostic, and another
 20-25% or so is code relating to it's mesh format. So, you'd probably
 have to re-implement half of it... :(

As I said before cal3d meshes are not used by osgCal for performance
and memory usage reasons. They are used at export stage to generate
ready to direct load meshes file. For compability loading from cal3d
.cmf-files is still here.

The only things needed to be integrated in OSG to remove cal3d
dependeny are skeleton support and skeleton animation support. OSG and
osgCal have all other things.

But skeleton animations is not enough, exporters to these animations
are also needed. It is artist pipeline that need most work.

   In the opinion of someone who is familiar with Cal3D, I'd say that we
   wait a bit on inclusion of this until someone has the time to cleanup
   the current plugin. Hardware skinning is a pretty common performance
   boost these days, and whatever solution arises for OSG, I'd personally
   look at support for this feature as the make-or-break aspect.
 
  I thought there was already hardware skinning support in place.  So
  which versions which hardware skinning?

 Not in Cal3D itself. The software doesn't make any attempt to bind
 itself to any graphics API, so things like hardware skinning are left up
 to the user (though they do include examples using the old
 shader/assembly code or whatever it's called). Vladimir patched support
 for GLSL skinning into osgCal2, but it's currently Linux only...

No. It's not linux only. osgCal2 works on windows also. There is no
CMake files in osgCal2, it uses old OSG make files to make osgCal on
unix systems and on mingw under windows. People have made Visual
Studio project files and osgCal works ok on windows.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-11 Thread Vladimir Shabanov
2007/12/9, Jan Ciger [EMAIL PROTECTED]:
 I am not sure what are you referring to when speaking about keyframe
 animation, though. Do you mean 3D morphing of meshes? I would keep that
 separate, it is a completely different beast with different problems
 than skeletal animation. Animation of an inflating baloon is quite
 different issue than animation of a human or an octopus :)

Yes, it has different implementation. But what about skeletal
character with morphing face and maybe some particles around his body
(imagine a small devil). Different rendering methods are tightly
coupled here. And their animations must be synchronized.

So while the rendering implementation can be separated (not sure about
morphs and skeleton) the animations must be ran from single place.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-11 Thread Jason Daly
Jan Ciger wrote:
 However, it doesn't solve any of the animation and skinning issues and
 is completely useless by itself. I cannot imagine somebody bringing it
 up to speed with other kits from this alone, for that you need
 something actually usable to start from. This is why e.g. osgCharacter
 is a toy only - it does exactly this. You could display a stick-figure
 character, but that would be about it. I do not see why somebody would
 spend time on this when he can use osgCal or Replicant that work already?
   

osgCal/Replicant are great, provided that you want to use Cal3D 
characters only.

I don't think the idea behind osgSkeleton is limited to a transformation 
hierarchy.  Most OSG users know we already have that functionality.  My 
understanding is that osgSkeleton would provide the necessary 
infrastructure for skinning and character animation, and the required 
data could come from Collada, Cal3D, or whatever other plugin that can 
provide it.  Or, as mentioned, the data could be created on the fly in code.

That's the main advantage I see in creating a new nodekit.  It makes the 
rendering orthogonal to the data format.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-11 Thread James Halliday
Jan Ciger wrote:
 Actually, I think that the focus should be on providing a meaningful API
 to export to these languages. That could even mean a wrapper in order to
 eliminate/minimize usage of pointers and some C++ functionality that is
 difficult to translate (templates?). Once you have that, the language
 bindings could be done very quickly for almost any language, even in an
 automated way (e.g. using SWIG or something similar). Ideally, the
 wrappers should be made automatically from the current code.

I've been using osgswig ( http://code.google.com/p/osgswig/ ) for a
project on a cave-type system combining python, vrjuggler, and osg.
osgswig supports python, ruby, java and lua, although I've only played
with the python features. I had tried to use osgPython and pyosg before,
but they only work with older versions of osg.

Jan Ciger wrote:
/ 1) Application is written in C/C++ and calls embedded scripts. This is/
/ fairly typical for game development - game is written in C/C++ and e.g./
/ AI is scripted using a built-in scripting engine. Here Lua is great (it/
/ was written for it), because it is fairly easy to maintain separation/
/ between different scripts (exception/error in one script does not crash/
/ the whole thing). Furthermore, Lua is really tiny, with negligible/
/ overhead. Another contender is Javascript (e.g. VRML standard uses it/
/ for exactly this purpose). I wouldn't target this case, because it is/
/ very application-specific and there is little a generic scene graph/
/ binding could provide to it.
///
/ 2) Application is written in a high level language and calls into C/C++/
/ code to run the performance critical stuff. I think that this is what/
/ you want (... enable us to/
/ develop applications purely from scripting languages, so developers in/
/ this realm would just need the binaries to the OSG installed, and no/
/ need for C++ dev environment).

/The osgswig project seems to be primarily designed for scenario 2,
although in my application I've been using osgswig as in scenario 1 by
getting out a void pointer to the opaque values from the python api. I'm
not sure how possible this approach is with other languages though.


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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-11 Thread Anders Backman
Just want to share my experience with using Lua for building applications.

We have been using Lua fo building applications for quite some years now.
THe binding is using tolua++ where we have exported most of osg, openal++,
osgal, replicantbody, physics library etc...

We took the path of exporting all functionality, so that there is nearly a
1-1 match of programming in c++ and lua.
You can if you want derive from classes and get c++ to call overridden
methods written in lua and vice versa.

Really time critical things is written in C++ and exported as one or more
classes to lua.
THis means that one can build whole applications more or less using a
viewer, which loads the appropriate configuration scripts+luascripts+plugins
(written in c++).

This is really great for flexibility, fast prototyping, productivity really.

The BIIIG drawback is the type flexibility of lua. You dont really know you
are using the right types in a call until you get to that exact point in the
code. This is rather tiresome, as you might write nodee, instead of node,
where lua interpretes nodee as a NIL value (which is a NULL pointer really).

I think there are plugins for checking this, but it has nevertheless been a
timeconsumer in some projects.

Other things are fear of new/delete, as tolua++ really uses that quite a lot
for methods like: Vec3 Matrix::getTrans();

It allocates a new Vec3(), stores a reference to it and when the receiving
variable goes out of scope, it is garbage collected (at some point in time).
This required for some scheduling of garbage collection. When that was done,
it worked quite well.

So I guess this fulfills both 12 in the above list of use for Lua, both
building functionality inside lua, and using C++ code exported into lua.

Why choose:-)

Just my 2 cents.

/Anders



On Dec 11, 2007 11:50 PM, James Halliday [EMAIL PROTECTED] wrote:

 Jan Ciger wrote:
  Actually, I think that the focus should be on providing a meaningful API
  to export to these languages. That could even mean a wrapper in order to
  eliminate/minimize usage of pointers and some C++ functionality that is
  difficult to translate (templates?). Once you have that, the language
  bindings could be done very quickly for almost any language, even in an
  automated way (e.g. using SWIG or something similar). Ideally, the
  wrappers should be made automatically from the current code.

 I've been using osgswig ( http://code.google.com/p/osgswig/ ) for a
 project on a cave-type system combining python, vrjuggler, and osg.
 osgswig supports python, ruby, java and lua, although I've only played
 with the python features. I had tried to use osgPython and pyosg before,
 but they only work with older versions of osg.

 Jan Ciger wrote:
 / 1) Application is written in C/C++ and calls embedded scripts. This is/
 / fairly typical for game development - game is written in C/C++ and
 e.g./
 / AI is scripted using a built-in scripting engine. Here Lua is great
 (it/
 / was written for it), because it is fairly easy to maintain separation/
 / between different scripts (exception/error in one script does not
 crash/
 / the whole thing). Furthermore, Lua is really tiny, with negligible/
 / overhead. Another contender is Javascript (e.g. VRML standard uses it/
 / for exactly this purpose). I wouldn't target this case, because it is/
 / very application-specific and there is little a generic scene graph/
 / binding could provide to it.
 ///
 / 2) Application is written in a high level language and calls into
 C/C++/
 / code to run the performance critical stuff. I think that this is what/
 / you want (... enable us to/
 / develop applications purely from scripting languages, so developers in/
 / this realm would just need the binaries to the OSG installed, and no/
 / need for C++ dev environment).

 /The osgswig project seems to be primarily designed for scenario 2,
 although in my application I've been using osgswig as in scenario 1 by
 getting out a void pointer to the opaque values from the python api. I'm
 not sure how possible this approach is with other languages though.


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




-- 



Anders Backman   Email:[EMAIL PROTECTED]
HPC2N/VRlab  Phone:+46 (0)90-786 9936
Umea university  Cellular: +46 (0)70-392 64 67
S-901 87 UMEA SWEDEN Fax:  +46 90-786 6126
  http://www.cs.umu.se/~andersb
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-10 Thread Robert Osfield
Hi Cedric,

On Dec 10, 2007 10:48 AM, Cedric Pinson [EMAIL PROTECTED] wrote:
 I would not like to have those node kit in the core of osg, because the
 functionnality they provide is not the core of osg, they are adaptators
 for others libs, and for me it should be a nodekit in a third party.

The problem with 3rd party libs out in the community is often there
are many different variants, but essentially do the same thing, this
fractures the user/developer base using them and makes keeping things
in sync with the core more problematic.  It also requires users to go
chasing this commonly used down.

The downside for people who don't need these extra NodeKit is more
source code, but since Cmake picks up on dependencies automatically -
if you don't need them then the build system won't build them - so
there is no overhead for you.  Its not quite free as the snv update
etc will be larger, but its actually pretty low cost for those who
don't need them.


 Instead i think an osgPython or osgOQ are a place in the core, because
 it's realated directly with openGL and the scripting (osgPython) is a
 wrapper to osg. But it seems i am the only one to have this opinion so
 it means it will be integrated in the core ;) For the scripting language
 i would prefer osgPython because python is a language Object and lua not
 (maybe now it is ?).

Lua can do OO just fine, its a very flexible little language.

Also exposing functionality like osgAL and osgCal is easier within the
scripted languages if they are already built as part of the core.
End users will be much nearer the one stop shop when it comes to use
of the OSG.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-10 Thread Jeremy Moles
On Sat, 2007-12-08 at 14:07 +, Robert Osfield wrote:
 Hi All,
 
 After a two month break I'm now doing a purge of the submissions
 backlog.  I doubt I'll get all the way through before Monday, but on
 Monday I'll tag the first dev release since 2.2 stable was made.  This
 dev release will be 2.3.0 and be the first concrete step towards the
 final 2.4.  This leads me on to asking the question - what features
 should we aim to integrate with 2.4?
 
 My own short list for contenders for integration are:
 
   osgOQ - Occlusion Querry support
   osgCal - Cal3D integration

I noticed there was a lot of Cal3D discussion going on here so I'd
figure I'd chime in and say a few things.

I have write access to Cal3D SVN I obtained a year or so ago when Palle
Raabjerg and myself rewrote the Cal3D Blender exporter, which we built
by starting from the version in the Soya project; I've also fixed a few
small bugs here and there in Cal3D proper. I'm pretty familiar with
Cal3D in general, and with the various Cal3D OSG plugins that exist. As
a matter of fact, I'm the one who made the Cal3D videos on the website,
and I used OSG to do it. :)

http://home.gna.org/cal3d/

For a bit of info (and some personal opinion):

Firstly, there is the generally-referred-to osgCal (officially called
osgCal2), which was originally made by Ruben Lopez and has had many
additional edits since then. There is also a GPL version that is
incredibly more sophisticated which was created by the people at
Underware, but the license wouldn't not allow for wholesale inclusion
into OSG.

Vladimir Shabanov recently made some changes to osgCal2, and I believe
he and Ruben coordinated so that his changes were committed upstream.
However, as I mentioned back then and I believe Jan Ciger has alluded to
earlier in this thread: the code will need a lot of love before it's
ready for serious inclusion. For example, the last time I checked, the
shaders were somehow parsed by sed before actually being written into a
valid shader file, and there's simply no way I can see anyone in the
Windows or Mac world willing to accept such a restriction.

One thing that should be kept in mind when using Cal3D is that in it's
current state, Cal3D isn't a skeletal system alone--it's a skeletal
animation system+mesh format, and one cannot be divorced from the other.
Furthermore, there is a lot of data reproduction in Cal3D that already
exists in OSG, and no way to easily (or cleanly) make changes therein.

In the opinion of someone who is familiar with Cal3D, I'd say that we
wait a bit on inclusion of this until someone has the time to cleanup
the current plugin. Hardware skinning is a pretty common performance
boost these days, and whatever solution arises for OSG, I'd personally
look at support for this feature as the make-or-break aspect. We also
need exporters, and while I wrote a significant portion of the Cal3D
Blender exporter currently in SVN, I did it at a time where my knowledge
of both Cal3D, Blender, and graphics/3D development in general was very
poor, and thus cannot attest for it's reliability or cleanliness. :)

As far as ReplicantBody is concerned I'm unsure--I've never looked at
it.

To be completely honest, character animation is such a huge issue unto
itself that it probably deserves a lot of discussion and review before
any steps are taken--but that's just my opinoin. Every time I'm forced
to put any thought into the issue, I just get sleepy. What we __really__
need is an osgSkeleton NodeKit, which can then be exercised/demonstrated
in the Collada importer, but would be usable alone as well in true OSG
style:

osgSkeleton::Skeleton* skel  = new osgSkeleton::Skeleton();
osgSkeleton::Bone* root  = new osgSkeleton::Bone();
osgSkeleton::Bone* child = new osgSkeleton::Bone();

root-addChildBone(child);

skel-setRootBone(root);

I bet once a basic, simple system was released, people would go to town
making the necessary changes to bring it up to speed with other kits. It
wouldn't have to be perfect, but as long as it was adaptable and done in
true OSG fashion, people could subcass things in osgSkeleton for their
own uses or to inject their desired interpolation algorithms (which is a
big area of interest for animations buffs)...


P. S. When I finish a release-candidate version of osgHUD (or whatever
you want to change the name to), I'll be peddling that for inclusion as
well. :) I've made a number of changes in the last few days if anyone is
keeping up with SVN, and almost done with a decent implementation of a
table layout, very similar to how HTML tables are done... however, no
one posted any complaints to my first thread, so I'm just going to keep
proceeding as normal, though I did remove the silly functional code that
no one could have possibly understood but myself... it's a shame how
difficult it is to do use something as [conceptually] easy as
std::for_each()--it's a nightmare, when you can almost always 

Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-10 Thread J.P. Delport
Hi,

could we get support for multiple render targets (MRT) integrated into 
2.4? I know some people are using hacky patches for this. Some patches 
have been submitted, but they have to be reworked.

I can help with this if needed.

regards
jp

Robert Osfield wrote:
 Hi All,
 
 After a two month break I'm now doing a purge of the submissions
 backlog.  I doubt I'll get all the way through before Monday, but on
 Monday I'll tag the first dev release since 2.2 stable was made.  This
 dev release will be 2.3.0 and be the first concrete step towards the
 final 2.4.  This leads me on to asking the question - what features
 should we aim to integrate with 2.4?
 
 My own short list for contenders for integration are:
 
   osgOQ - Occlusion Querry support
   osgCal - Cal3D integration
   osgAL - OpenAL integration
 
 I'm not personally familiar with these libraries, but do know that
 they are known to work with the latest OSG so should be relatively
 straight forward to integrate.  Thoughts for the authors, maintainers?
  What extra work would be appropriate before integration?  Would you
 be happy with integration?
 
 My own inclination towards integration is to make it a bit easier for
 OSG users to assemble their application without chasing down lots of
 different nodekits all of which are maintained in different places
 with different build system and different release schedules.  The
 downside for me is there is more work involved at my end at least
 initially while we get the build systems working well across the range
 of platforms that the OSG supports.  Long term I'd hope that this will
 diminish and it'll be less support work associated with helping end
 users get things working at there end.  It should also be possible to
 make the overall OSG dev experience for end users slicker as we should
 be able properly test and get areas like multiple
 window/multi-threaded usage properly excercised.
 
 I would also like to see the core OSG have support for scripting out
 of the bag, as well as integration with the main browsers.  One has to
 gauage what is doable in what time frame so should be considered in
 terms of 2.4 or 2.6 etc versions.
 
 I'd like to see scripting supported out of the box to enable us to
 develop applications purely from scripting languages, so developers in
 this realm would just need the binaries to the OSG installed, and no
 need for C++ dev environment.  There are limits to how much
 functionality you can expose in this direction, but my guess is it
 should be possible to write reasonable useful apps, and especially
 good for prototyping and cross platform portability.   One has to ask
 which scripting languages to go for - Lua and/or Python?  Lua would be
 the easiest to integrate in terms of being very self contained i.e.
 which could stick the whole of the lua interpreter into the core OSG
 distribution and one would hardly notice as its so tiny.
 
 Thoughts?
 Robert.
 
 ps. I'm still very busy with other on going work so please don't
 expect me to be able to dive into this stuff right away.  Come 2008 I
 should start become a bit more available and able to start looking at
 progressing some of the above, so opening this stuff off for
 discussion now will help us mesh gears better when the time comes.
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 

-- 
This message is subject to the CSIR's copyright terms and conditions, e-mail 
legal notice, and implemented Open Document Format (ODF) standard. 
The full disclaimer details can be found at 
http://www.csir.co.za/disclaimer.html.

This message has been scanned for viruses and dangerous content by MailScanner, 
and is believed to be clean.  MailScanner thanks Transtec Computers for their 
support.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-09 Thread Robert Osfield
Hi Paul,

On Dec 8, 2007 4:48 PM, Paul Martz [EMAIL PROTECTED] wrote:
 It is one Node, OcclusionQueryNode, derived from Group. This node has a few
 supporting classes that aren't exported. It also has a handful of small
 NodeVisitors for utility purposes.

 If we put this Node in a NodeKit rather than the osg library, how would it
 delete the query IDs? In our previous discussion on this subject, you
 outlined a new design for deleting OpenGL objects; I don't have the cycles
 to contribute to this development.

If we put the node directly into the core osg library then issue of
deleting ID's would be easily solvable but just encoding it into the
library.

Cull traversal wise it might make it more convenient to merge with the
core OSG as well, i.e. osgUtil could then know about it explicitly and
be able to do things accordingly.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-09 Thread Robert Osfield
On Dec 8, 2007 9:12 PM, Anders Backman [EMAIL PROTECTED] wrote:
 I would say that osgAL is working rather well with osg as for now.
 OpenAL++ is a rather healthy abstraction rather than integrating OpenAL
 directly into osg...
 You get support for ogg-vorbis, streaming sound, capture (from input
 devices) etc...

Is OpenAL++ is now part of osgAL?

 So I don't thing integrating osgAL would introduce any major problems, it
 depends on OpenAL and ogg-vorbis, thats it.
 Both are more or less standard in unix environments, and can easily be
 included in the OpenSceneGraph dependency package for windows, so no issues
 there as far as I see.

Is the ogg-vorbis integration optional?   Could it be factored out
into a plugin?

I'm just thinking about keeping a lid on essential external dependencies.


 What I have been lacking is CMake environment. Most of the questions
 regarding osgal I get is about building it together with osg, and it is
 usually in linux. I really like CMake, and introducing Cmake into osgal
 would make it pretty easy to integrate with osg.

CMake integration should be straight forward, the only real extra job
would be adding FindOpenAL.cmake and FindOgg-Vorbis.cmake.


 What is the feature list for osgCal these days?
 Im not following it in any detail, and I guess Im home-blind as we
 developed ReplicantBody and have been rather satisfied with that...

 Would there be any interest to merge the two?
 As far as I know, there are a few things in ReplicantBody that is good to
 have, ground following, animation blending, fileformat specification etc

I am aware of both osgCal and ReplicantBody body am not very
familiar with the code bases/current feature sets.

I would like to see consolidation of related functionality.  There is
also the osgCharacter library out in the the community section that
could be considered in terms of functionality.

I do wonder if something like osgCal could be the basis for a more
generic osgAnimation library.  Items like key frame animation would be
great to support, as well as skeletal animation like in Cal3D.   It be
desirable to integrate Cal3D style functionality directly within such
a library and do away with the external dependency.  This is longer
term speculation though, we need to walk before we can run, so having
some character animation support would be a good first step.

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-09 Thread Anders Backman
Yes osgAL is tied with OpenAL++
And with Cmake it would be rather easy to make the ogg/vorbis integration a
simple choice in the Cmake gui.

/Anders

On Dec 9, 2007 1:28 PM, Robert Osfield [EMAIL PROTECTED] wrote:

 Hi Jan,

 On Dec 8, 2007 7:11 PM, Jan Ciger [EMAIL PROTECTED] wrote:
  Another good contender for integration would be some physics engine. I
  have experience with ODE, Bullet and the Opal wrapper, all three are
  reasonably usable with OSG (I have running code for this). However,
  physics integration is a bit more involved - there needs to be support
  for loaders of physically-simulated objects because the collision
  proxies need to match the geometry being displayed and the rigid bodies
  being simulated need to be initialized as well. Collada has some support
  for this already and it would be great to have this integrated. I know
  that Bullet has a Collada loader implemented already. One really cool
  thing would be to integrate osgCal with e.g. Bullet or ODE to provide
  rag dolls - I have this on my plate for a while already, unfortunately
  the days have only 24 hours :)

 I have been thinking about physics integration as well, but not
 suggested it on this round as there wasn't a contender sitting of the
 shelf ready to integrate.

 Longer term I'd like to see physics integration, ideally in a way that
 we can plug in different physics engine implementation, be them open
 source or commercial.  OPAL might the a basis for such an
 implementation, or perhaps just inspiration to how to tackle/how not
 to tackle it ;-)

 I'd suggest member of the community experienced in this area propose
 what they see as a workable route forward.  Even better get some code
 together for it 8-D


   One has to ask
   which scripting languages to go for - Lua and/or Python?  Lua would be
   the easiest to integrate in terms of being very self contained i.e.
   which could stick the whole of the lua interpreter into the core OSG
   distribution and one would hardly notice as its so tiny.
 
  That does not make really sense.

 And that doesn't really parse ;-)

 There are actually two very different
  ways of integrating scripting:
 
  1) Application is written in C/C++ and calls embedded scripts. This is
  fairly typical for game development - game is written in C/C++ and e.g.
  AI is scripted using a built-in scripting engine. Here Lua is great (it
  was written for it), because it is fairly easy to maintain separation
  between different scripts (exception/error in one script does not crash
  the whole thing). Furthermore, Lua is really tiny, with negligible
  overhead. Another contender is Javascript (e.g. VRML standard uses it
  for exactly this purpose). I wouldn't target this case, because it is
  very application-specific and there is little a generic scene graph
  binding could provide to it.
 
  2) Application is written in a high level language and calls into C/C++
  code to run the performance critical stuff. I think that this is what
  you want (... enable us to
  develop applications purely from scripting languages, so developers in
  this realm would just need the binaries to the OSG installed, and no
  need for C++ dev environment).
 
  In this case I would go for a full featured language with a rich set of
  libraries. Python trumps Lua very easily here with its huge collection
  of libraries and tools. Lua is a very minimalistic language designed for
  embedding, not for writing whole applications in. Soya3D 3D engine is
  written in this manner - programs are written in Python, calling C/C++
  libraries that provide the functionality on top of OpenGL.
 
  Moreover, the Python bindings (osgPython?) do exist already, even though
  probably unmaintained at the moment ...

 Agree with all the above, and this is what I had in mind with my own
 introduction of motives.

 One of the reasons to integrate osgLua and/or osgPython with the core
 is facilitate all the above usage, but also help consolidate the
 effort on making these libraries better supported and maintained.
 There libraries will need work to get them fully functional.  This is
 something I can help mentor, but being stretched for time and skills
 will be unlikely to be able contribute too much to the development.

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




-- 



Anders Backman   Email:[EMAIL PROTECTED]
HPC2N/VRlab  Phone:+46 (0)90-786 9936
Umea university  Cellular: +46 (0)70-392 64 67
S-901 87 UMEA SWEDEN Fax:  +46 90-786 6126
  http://www.cs.umu.se/~andersb
___
osg-users mailing list
osg-users@lists.openscenegraph.org

Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-09 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Rizzen wrote:

 Good points Jan, though maybe we should have a compromise here. Thus OSG
 supports two scripting languages, the best one for each scenario.
 Scenario 1: Have Lua for embedded scripting via osgLua, which would go
 well for the gaming environment where processing speed is important.

However, this is extremely application specific - you typically want to
manipulate the game objects at a higher level from this type of scripts,
such as reduce hitpoints on missile impact or make a path-finding/AI
decision when your character sees a target. There is little need to
access the scene graph directly from such code. That is easier (and a
lot faster) to do from the C/C++ side. Think Quake C or Unreal script here.

I am not sure how can you make this generic enough to be actually useful
- - almost everybody would need to add their own bindings to the engine in
order to explicitly expose the application-specific objects and the bulk
of the OSG-related code will go unused. The only exception would be to
make a another VRML where the scripting is used to drive/animate the
scene graph objects themselves, but that has a fairly limited use if you
do not expose additional functionality.

 Scenario 2: While have Python for high level language dev environment
 via osgPython, where speed is not important for idea testing, or
 business or scientific applications where maximum speed is not
 important, but ease of development is important.

Actually, this has nothing at all to do with execution speed. The
perception Python large = slow and Lua small = fast is first
incorrect and second irrelevant here.

In this case the performance-critical code (rendering and such) would be
written in C/C++ (e.g. core OSG code) and only controlled from Python or
another language. Basically, if the code is properly written, it should
make no difference whether you write your application in C/C++ only or
in Python - the performance bottlenecks will be always in the C/C++
code, not in Python. However, you do gain the advantage of very fast
development with Python. The Python code handles things like GUI, user
input and perhaps some business logic/reasoning and for that Python is
plenty fast. Have a look either at Soya3D
(http://home.gna.org/oomadness/en/soya3d/index.html) or PyOpenGL
(http://pyopengl.sourceforge.net/) in order to get a taste of
development in this style.

Regards,

Jan


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHXC6Qn11XseNj94gRAjS/AJ4vj+1dJlxsdT82c+dkBRXwofoZKgCg2eqk
x2FgMhQriTt3m7q+HIYOv4k=
=By0b
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-09 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Robert Osfield wrote:

 I am aware of both osgCal and ReplicantBody body am not very
 familiar with the code bases/current feature sets.
 
 I would like to see consolidation of related functionality.  There is
 also the osgCharacter library out in the the community section that
 could be considered in terms of functionality.

osgCharacter is more an experiment in hardware skinning than a useful
tool IMHO, it doesn't have even the basic animation-related
functionality. Moreover, I do not think that it is maintained any more.

 I do wonder if something like osgCal could be the basis for a more
 generic osgAnimation library.  Items like key frame animation would be
 great to support, as well as skeletal animation like in Cal3D.   It be
 desirable to integrate Cal3D style functionality directly within such
 a library and do away with the external dependency.  This is longer
 term speculation though, we need to walk before we can run, so having
 some character animation support would be a good first step.

osgCal is essentially only a tiny rendering wrapper on top of Cal3D.
Cal3D does the animation (loading, interpolation, blending, mixing ...)
and calculates the skinned mesh for you if you want, but you need to
provide your own rendering code. That is what osgCal does - it takes
pre-calculated data from Cal3D and renders them using either
osg::Geometry or more recently using some shader code to do the skinning
in hardware. There are other renderers, even some using DirectX based on
Cal3D.

On the other hand Replicant is providing some higher level functionality
on top of Cal3D - such as ground following, including calculation of the
correct translation speed to avoid feet sliding. However, it has its own
rendering back-end, not using osgCal at the moment. This would be good
thing to merge, because osgCal rendering is quite a bit faster.

I am not sure what are you referring to when speaking about keyframe
animation, though. Do you mean 3D morphing of meshes? I would keep that
separate, it is a completely different beast with different problems
than skeletal animation. Animation of an inflating baloon is quite
different issue than animation of a human or an octopus :)

Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHXDFcn11XseNj94gRAhtuAJ48xRX7Tz4u+F2jNqZEfl5YfTTxXwCg6S1j
/myXSz4kIBk9FRuOChFIH1w=
=pEMo
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-09 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Robert Osfield wrote:
 
 I have been thinking about physics integration as well, but not
 suggested it on this round as there wasn't a contender sitting of the
 shelf ready to integrate.
 
 Longer term I'd like to see physics integration, ideally in a way that
 we can plug in different physics engine implementation, be them open
 source or commercial.  OPAL might the a basis for such an
 implementation, or perhaps just inspiration to how to tackle/how not
 to tackle it ;-)

Opal looks OK, but it doesn't seem to be actively developed. The most
recent version of ODE breaks with it quite horribly. However, some of
the design is quite nice.

 
 I'd suggest member of the community experienced in this area propose
 what they see as a workable route forward.  Even better get some code
 together for it 8-D

I have working code for Bullet at the moment, but this has worked the
same for Opal too. Basically, it consists of three things:

1) A special node powering Bullet engine on every frame, either by
means of an update callback or through an overridden accept(). This
steps the physical simulation by elapsed real time between frames,
calculating collisions and resolving them on the way. Here we can play
with real/non-real time, decoupling between rendering and simulation
time, etc.

2) Every rigid body has an update callback that when called updates the
 OSG transform of the node from the corresponding Bullet transform of
the rigid body. This ensures that the objects are rendered where Bullet
tells them to be and with right orientations.

3) Object loader. This is the tricky beast, because physics engines
support objects built up out of several pieces connected by joints
(hierarchies). Think of a car or a rag doll. Each piece has a collision
proxy mesh and physical properties (mass, position, initial velocity and
torque, material parameters ...)

At the moment I have only a loader that takes a simple geometry
(something osgDB can load) and builds up a collision proxy either
automatically using bounding boxes or takes one from a config file,
together with the remaining parameters. I do not support joint
hierarchies yet, but the code exists in Bullet examples for this.

Then the loader has to instantiate all rigid bodies and all geometry,
link them together using update callbacks and ideally deliver the whole
collection of objects somewhere as a higher level object (e.g. called
car or character).

Here one would think that the hierarchy should have a root and you
simply keep a reference to that, but it may not actually have one - e.g.
a simple car could be 4 cylinders (wheels) and a platform, connected
by joints - there isn't really an explicit notion of a root transform in
the scene graph sense. All pieces are simulated independently in world
coordinates, the joints ensuring that the pieces stay together (or not -
Bullet supports breakable joints). I have this solved by something
called an object manager which keeps track of these kind of objects,
but I am fairly open to design discussion because I do not like this too
much - it is hassle to deal with, e.g. from scripting code.

I am willing to contribute this code, however I am not sure whether this
is a meaningful design - especially when it comes to possible
scalability issues with all those callbacks and the object
loading/management. Also, loading of the physics data should be ideally
integrated with loading of the geometry itself - e.g. Collada supports
export of physical properties of objects.

 That does not make really sense.
 
 And that doesn't really parse ;-)

:-p

 Agree with all the above, and this is what I had in mind with my own
 introduction of motives.
 
 One of the reasons to integrate osgLua and/or osgPython with the core
 is facilitate all the above usage, but also help consolidate the
 effort on making these libraries better supported and maintained.
 There libraries will need work to get them fully functional.  This is
 something I can help mentor, but being stretched for time and skills
 will be unlikely to be able contribute too much to the development.

Actually, I think that the focus should be on providing a meaningful API
to export to these languages. That could even mean a wrapper in order to
eliminate/minimize usage of pointers and some C++ functionality that is
difficult to translate (templates?). Once you have that, the language
bindings could be done very quickly for almost any language, even in an
automated way (e.g. using SWIG or something similar). Ideally, the
wrappers should be made automatically from the current code.

It also neatly sidesteps a problem that some people may not like Python
or Lua or whatever for any kind of reason - they are free to build their
own bindings, since the API is there already and it would be only a
matter of running SWIG or whatever on it. Even something like CORBA
binding to OSG would be possible without too much hassle. Think
scene/viewer control 

Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-09 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hello Anders,

Anders Backman wrote:

 If the new osgCal, or whatever name it will have can make benefit of a
 tight osg connection, together with the high-level functionality of rbody,
 I  think this is a good start.
 
 Then when its working, it can be re-factored to meet other functionality.
 
 We will actually have some time in the beginning of next year to look over
 ReplicantBody and perhaps the integration/merge of osgCal rendering...


That would be great - I am willing to help with that work as I need to
get this working myself.


Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHXDjKn11XseNj94gRAr+zAKDQGX8H7GeFAw8Xus0nyIxxMdi4vACgjoOp
aljRZtJZ+m14PTHFHhsh0C8=
=mclP
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-09 Thread Jean-Sébastien Guay
Hello Anders and Jan,

 I agree, the most logical path (and I think we have discussed this quite a
 few times before) is to merge osgCal (with its better rendering back-end),
 with the higher functionality of ReplicantBody.

That would be excellent! I am sure I am not the only one who wanted at  
one point to integrate some character animation into a project and  
couldn't decide between osgCal(2) and ReplicantBody. A merge and  
integration into core OSG would be a great boon to the community I  
think.

I look forward to seeing an testing your work,

J-S
-- 
__
Jean-Sebastien Guay [EMAIL PROTECTED]
 http://whitestar02.webhop.org/


This message was sent using IMP, the Internet Messaging Program.


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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-08 Thread Paul Martz
Hi Robert -- I'm happy to help with integrating osgOQ into the core
distribution. At this point, .ive support needs to be added, but this should
be trivial. Then it'd be nice to have a solution for cleaning up query IDs
(discussed recently); I can easily use the existing framework if the
OcclusionQueryNode is added to the osg library.

I'm getting some testing from ISU (who funded the project), but nothing
other than run the demo testing from others. It'd be nice to see more
testing.

I am investigating one bug at this time, but it is only in non-osgViewer
usage, so this shouldn't be a showstopper for 2.4 integration.
   -Paul


 -Original Message-
 From: [EMAIL PROTECTED] 
 [mailto:[EMAIL PROTECTED] On Behalf 
 Of Robert Osfield
 Sent: Saturday, December 08, 2007 7:08 AM
 To: OpenSceneGraph Users
 Subject: [osg-users] Looking towards 2.4, and what might go into it.
 
 Hi All,
 
 After a two month break I'm now doing a purge of the 
 submissions backlog.  I doubt I'll get all the way through 
 before Monday, but on Monday I'll tag the first dev release 
 since 2.2 stable was made.  This dev release will be 2.3.0 
 and be the first concrete step towards the final 2.4.  This 
 leads me on to asking the question - what features should we 
 aim to integrate with 2.4?
 
 My own short list for contenders for integration are:
 
   osgOQ - Occlusion Querry support
   osgCal - Cal3D integration
   osgAL - OpenAL integration
 
 I'm not personally familiar with these libraries, but do know 
 that they are known to work with the latest OSG so should be 
 relatively straight forward to integrate.  Thoughts for the 
 authors, maintainers?
  What extra work would be appropriate before integration?  
 Would you be happy with integration?
 
 My own inclination towards integration is to make it a bit 
 easier for OSG users to assemble their application without 
 chasing down lots of different nodekits all of which are 
 maintained in different places with different build system 
 and different release schedules.  The downside for me is 
 there is more work involved at my end at least initially 
 while we get the build systems working well across the range 
 of platforms that the OSG supports.  Long term I'd hope that 
 this will diminish and it'll be less support work associated 
 with helping end users get things working at there end.  It 
 should also be possible to make the overall OSG dev 
 experience for end users slicker as we should be able 
 properly test and get areas like multiple 
 window/multi-threaded usage properly excercised.
 
 I would also like to see the core OSG have support for 
 scripting out of the bag, as well as integration with the 
 main browsers.  One has to gauage what is doable in what time 
 frame so should be considered in terms of 2.4 or 2.6 etc versions.
 
 I'd like to see scripting supported out of the box to enable 
 us to develop applications purely from scripting languages, 
 so developers in this realm would just need the binaries to 
 the OSG installed, and no need for C++ dev environment.  
 There are limits to how much functionality you can expose in 
 this direction, but my guess is it should be possible to 
 write reasonable useful apps, and especially
 good for prototyping and cross platform portability.   One has to ask
 which scripting languages to go for - Lua and/or Python?  Lua 
 would be the easiest to integrate in terms of being very self 
 contained i.e.
 which could stick the whole of the lua interpreter into the 
 core OSG distribution and one would hardly notice as its so tiny.
 
 Thoughts?
 Robert.
 
 ps. I'm still very busy with other on going work so please 
 don't expect me to be able to dive into this stuff right 
 away.  Come 2008 I should start become a bit more available 
 and able to start looking at progressing some of the above, 
 so opening this stuff off for discussion now will help us 
 mesh gears better when the time comes.
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-opensce
negraph.org

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-08 Thread Robert Osfield
Hi Paul,

How big is osgOQ?  I am wondering if its small enough it could be
integrated into another NodeKit.  Thoughts?

Robert.

On Dec 8, 2007 4:19 PM, Paul Martz [EMAIL PROTECTED] wrote:
 Hi Robert -- I'm happy to help with integrating osgOQ into the core
 distribution. At this point, .ive support needs to be added, but this should
 be trivial. Then it'd be nice to have a solution for cleaning up query IDs
 (discussed recently); I can easily use the existing framework if the
 OcclusionQueryNode is added to the osg library.

 I'm getting some testing from ISU (who funded the project), but nothing
 other than run the demo testing from others. It'd be nice to see more
 testing.

 I am investigating one bug at this time, but it is only in non-osgViewer
 usage, so this shouldn't be a showstopper for 2.4 integration.
-Paul



  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf
  Of Robert Osfield
  Sent: Saturday, December 08, 2007 7:08 AM
  To: OpenSceneGraph Users
  Subject: [osg-users] Looking towards 2.4, and what might go into it.
 
  Hi All,
 
  After a two month break I'm now doing a purge of the
  submissions backlog.  I doubt I'll get all the way through
  before Monday, but on Monday I'll tag the first dev release
  since 2.2 stable was made.  This dev release will be 2.3.0
  and be the first concrete step towards the final 2.4.  This
  leads me on to asking the question - what features should we
  aim to integrate with 2.4?
 
  My own short list for contenders for integration are:
 
osgOQ - Occlusion Querry support
osgCal - Cal3D integration
osgAL - OpenAL integration
 
  I'm not personally familiar with these libraries, but do know
  that they are known to work with the latest OSG so should be
  relatively straight forward to integrate.  Thoughts for the
  authors, maintainers?
   What extra work would be appropriate before integration?
  Would you be happy with integration?
 
  My own inclination towards integration is to make it a bit
  easier for OSG users to assemble their application without
  chasing down lots of different nodekits all of which are
  maintained in different places with different build system
  and different release schedules.  The downside for me is
  there is more work involved at my end at least initially
  while we get the build systems working well across the range
  of platforms that the OSG supports.  Long term I'd hope that
  this will diminish and it'll be less support work associated
  with helping end users get things working at there end.  It
  should also be possible to make the overall OSG dev
  experience for end users slicker as we should be able
  properly test and get areas like multiple
  window/multi-threaded usage properly excercised.
 
  I would also like to see the core OSG have support for
  scripting out of the bag, as well as integration with the
  main browsers.  One has to gauage what is doable in what time
  frame so should be considered in terms of 2.4 or 2.6 etc versions.
 
  I'd like to see scripting supported out of the box to enable
  us to develop applications purely from scripting languages,
  so developers in this realm would just need the binaries to
  the OSG installed, and no need for C++ dev environment.
  There are limits to how much functionality you can expose in
  this direction, but my guess is it should be possible to
  write reasonable useful apps, and especially
  good for prototyping and cross platform portability.   One has to ask
  which scripting languages to go for - Lua and/or Python?  Lua
  would be the easiest to integrate in terms of being very self
  contained i.e.
  which could stick the whole of the lua interpreter into the
  core OSG distribution and one would hardly notice as its so tiny.
 
  Thoughts?
  Robert.
 
  ps. I'm still very busy with other on going work so please
  don't expect me to be able to dive into this stuff right
  away.  Come 2008 I should start become a bit more available
  and able to start looking at progressing some of the above,
  so opening this stuff off for discussion now will help us
  mesh gears better when the time comes.
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-opensce
 negraph.org

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

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


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-08 Thread Paul Martz
It is one Node, OcclusionQueryNode, derived from Group. This node has a few
supporting classes that aren't exported. It also has a handful of small
NodeVisitors for utility purposes.

If we put this Node in a NodeKit rather than the osg library, how would it
delete the query IDs? In our previous discussion on this subject, you
outlined a new design for deleting OpenGL objects; I don't have the cycles
to contribute to this development.
   -Paul




 Hi Paul,
 
 How big is osgOQ?  I am wondering if its small enough it 
 could be integrated into another NodeKit.  Thoughts?
 
 Robert.
 
 On Dec 8, 2007 4:19 PM, Paul Martz [EMAIL PROTECTED] wrote:
  Hi Robert -- I'm happy to help with integrating osgOQ into the core 
  distribution. At this point, .ive support needs to be 
 added, but this 
  should be trivial. Then it'd be nice to have a solution for 
 cleaning 
  up query IDs (discussed recently); I can easily use the existing 
  framework if the OcclusionQueryNode is added to the osg library.
 
  I'm getting some testing from ISU (who funded the project), but 
  nothing other than run the demo testing from others. It'd 
 be nice to 
  see more testing.
 
  I am investigating one bug at this time, but it is only in 
  non-osgViewer usage, so this shouldn't be a showstopper for 
 2.4 integration.
 -Paul
 
 
 
   -Original Message-
   From: [EMAIL PROTECTED]
   [mailto:[EMAIL PROTECTED] On Behalf Of 
   Robert Osfield
   Sent: Saturday, December 08, 2007 7:08 AM
   To: OpenSceneGraph Users
   Subject: [osg-users] Looking towards 2.4, and what might 
 go into it.
  
   Hi All,
  
   After a two month break I'm now doing a purge of the submissions 
   backlog.  I doubt I'll get all the way through before 
 Monday, but on 
   Monday I'll tag the first dev release since 2.2 stable was made.  
   This dev release will be 2.3.0 and be the first concrete step 
   towards the final 2.4.  This leads me on to asking the question - 
   what features should we aim to integrate with 2.4?
  
   My own short list for contenders for integration are:
  
 osgOQ - Occlusion Querry support
 osgCal - Cal3D integration
 osgAL - OpenAL integration
  
   I'm not personally familiar with these libraries, but do 
 know that 
   they are known to work with the latest OSG so should be 
 relatively 
   straight forward to integrate.  Thoughts for the authors, 
   maintainers?
What extra work would be appropriate before integration?
   Would you be happy with integration?
  
   My own inclination towards integration is to make it a bit easier 
   for OSG users to assemble their application without chasing down 
   lots of different nodekits all of which are maintained in 
 different 
   places with different build system and different release 
 schedules.  
   The downside for me is there is more work involved at my end at 
   least initially while we get the build systems working 
 well across 
   the range of platforms that the OSG supports.  Long term I'd hope 
   that this will diminish and it'll be less support work associated 
   with helping end users get things working at there end.  
 It should 
   also be possible to make the overall OSG dev experience for end 
   users slicker as we should be able properly test and get 
 areas like 
   multiple window/multi-threaded usage properly excercised.
  
   I would also like to see the core OSG have support for 
 scripting out 
   of the bag, as well as integration with the main 
 browsers.  One has 
   to gauage what is doable in what time frame so should be 
 considered 
   in terms of 2.4 or 2.6 etc versions.
  
   I'd like to see scripting supported out of the box to 
 enable us to 
   develop applications purely from scripting languages, so 
 developers 
   in this realm would just need the binaries to the OSG 
 installed, and 
   no need for C++ dev environment.
   There are limits to how much functionality you can expose in this 
   direction, but my guess is it should be possible to write 
 reasonable 
   useful apps, and especially
   good for prototyping and cross platform portability.   
 One has to ask
   which scripting languages to go for - Lua and/or Python?  
 Lua would 
   be the easiest to integrate in terms of being very self contained 
   i.e.
   which could stick the whole of the lua interpreter into 
 the core OSG 
   distribution and one would hardly notice as its so tiny.
  
   Thoughts?
   Robert.
  
   ps. I'm still very busy with other on going work so please don't 
   expect me to be able to dive into this stuff right away.  
 Come 2008 
   I should start become a bit more available and able to 
 start looking 
   at progressing some of the above, so opening this stuff off for 
   discussion now will help us mesh gears better when the time comes.
   ___
   osg-users mailing list
   osg-users@lists.openscenegraph.org
   http://lists.openscenegraph.org/listinfo.cgi/osg-users-opensce

Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-08 Thread Panagiotis Papadakos
Hi!

Any chance for 
http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2007-October/003523.html


Regards
Panagiotis Papadakos

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


[osg-users] Looking towards 2.4, and what might go into it.

2007-12-08 Thread Robert Osfield
Hi All,

After a two month break I'm now doing a purge of the submissions
backlog.  I doubt I'll get all the way through before Monday, but on
Monday I'll tag the first dev release since 2.2 stable was made.  This
dev release will be 2.3.0 and be the first concrete step towards the
final 2.4.  This leads me on to asking the question - what features
should we aim to integrate with 2.4?

My own short list for contenders for integration are:

  osgOQ - Occlusion Querry support
  osgCal - Cal3D integration
  osgAL - OpenAL integration

I'm not personally familiar with these libraries, but do know that
they are known to work with the latest OSG so should be relatively
straight forward to integrate.  Thoughts for the authors, maintainers?
 What extra work would be appropriate before integration?  Would you
be happy with integration?

My own inclination towards integration is to make it a bit easier for
OSG users to assemble their application without chasing down lots of
different nodekits all of which are maintained in different places
with different build system and different release schedules.  The
downside for me is there is more work involved at my end at least
initially while we get the build systems working well across the range
of platforms that the OSG supports.  Long term I'd hope that this will
diminish and it'll be less support work associated with helping end
users get things working at there end.  It should also be possible to
make the overall OSG dev experience for end users slicker as we should
be able properly test and get areas like multiple
window/multi-threaded usage properly excercised.

I would also like to see the core OSG have support for scripting out
of the bag, as well as integration with the main browsers.  One has to
gauage what is doable in what time frame so should be considered in
terms of 2.4 or 2.6 etc versions.

I'd like to see scripting supported out of the box to enable us to
develop applications purely from scripting languages, so developers in
this realm would just need the binaries to the OSG installed, and no
need for C++ dev environment.  There are limits to how much
functionality you can expose in this direction, but my guess is it
should be possible to write reasonable useful apps, and especially
good for prototyping and cross platform portability.   One has to ask
which scripting languages to go for - Lua and/or Python?  Lua would be
the easiest to integrate in terms of being very self contained i.e.
which could stick the whole of the lua interpreter into the core OSG
distribution and one would hardly notice as its so tiny.

Thoughts?
Robert.

ps. I'm still very busy with other on going work so please don't
expect me to be able to dive into this stuff right away.  Come 2008 I
should start become a bit more available and able to start looking at
progressing some of the above, so opening this stuff off for
discussion now will help us mesh gears better when the time comes.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-08 Thread Jan Ciger
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Robert Osfield wrote:
 Hi All,
 
 After a two month break I'm now doing a purge of the submissions
 backlog.  I doubt I'll get all the way through before Monday, but on
 Monday I'll tag the first dev release since 2.2 stable was made.  This
 dev release will be 2.3.0 and be the first concrete step towards the
 final 2.4.  This leads me on to asking the question - what features
 should we aim to integrate with 2.4?
 
 My own short list for contenders for integration are:
 
   osgOQ - Occlusion Querry support
   osgCal - Cal3D integration
   osgAL - OpenAL integration
 
 I'm not personally familiar with these libraries, but do know that
 they are known to work with the latest OSG so should be relatively
 straight forward to integrate.  Thoughts for the authors, maintainers?
  What extra work would be appropriate before integration?  Would you
 be happy with integration?


osgCal is pretty small and its inclusion to the core would be a good
opportunity to clean up the code. However, be careful about the two
version of this library - one is GPL and the other is LGPL licensed.

Regarding OpenAL integration - I am not sure how well is osgAL
maintained. We have integrated OpenAL with OSG on our own, because osgAL
had some additional dependencies and didn't seem to be maintained at the
time. It may have changed in the meantime, though. One way or another,
OpenAL is fairly easy to interface with OSG - it needs only the
positions of the sound sources and the listener's position, the rest is
independent from the scene graph (sound data management, triggering of
sounds, etc.)

Another good contender for integration would be some physics engine. I
have experience with ODE, Bullet and the Opal wrapper, all three are
reasonably usable with OSG (I have running code for this). However,
physics integration is a bit more involved - there needs to be support
for loaders of physically-simulated objects because the collision
proxies need to match the geometry being displayed and the rigid bodies
being simulated need to be initialized as well. Collada has some support
for this already and it would be great to have this integrated. I know
that Bullet has a Collada loader implemented already. One really cool
thing would be to integrate osgCal with e.g. Bullet or ODE to provide
rag dolls - I have this on my plate for a while already, unfortunately
the days have only 24 hours :)

 One has to ask
 which scripting languages to go for - Lua and/or Python?  Lua would be
 the easiest to integrate in terms of being very self contained i.e.
 which could stick the whole of the lua interpreter into the core OSG
 distribution and one would hardly notice as its so tiny.

That does not make really sense. There are actually two very different
ways of integrating scripting:

1) Application is written in C/C++ and calls embedded scripts. This is
fairly typical for game development - game is written in C/C++ and e.g.
AI is scripted using a built-in scripting engine. Here Lua is great (it
was written for it), because it is fairly easy to maintain separation
between different scripts (exception/error in one script does not crash
the whole thing). Furthermore, Lua is really tiny, with negligible
overhead. Another contender is Javascript (e.g. VRML standard uses it
for exactly this purpose). I wouldn't target this case, because it is
very application-specific and there is little a generic scene graph
binding could provide to it.

2) Application is written in a high level language and calls into C/C++
code to run the performance critical stuff. I think that this is what
you want (... enable us to
develop applications purely from scripting languages, so developers in
this realm would just need the binaries to the OSG installed, and no
need for C++ dev environment).

In this case I would go for a full featured language with a rich set of
libraries. Python trumps Lua very easily here with its huge collection
of libraries and tools. Lua is a very minimalistic language designed for
embedding, not for writing whole applications in. Soya3D 3D engine is
written in this manner - programs are written in Python, calling C/C++
libraries that provide the functionality on top of OpenGL.

Moreover, the Python bindings (osgPython?) do exist already, even though
probably unmaintained at the moment ...

Regards,

Jan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFHWux2n11XseNj94gRAieUAJ90RrKitL+FunLHNFkIhOzWcD+2IACgnaH7
I1Jq6mvn7/nOnfPd7CZOsds=
=9xr/
-END PGP SIGNATURE-
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-08 Thread KSpam
 My own short list for contenders for integration are:

   osgOQ - Occlusion Querry support
   osgCal - Cal3D integration
   osgAL - OpenAL integration

osgEphemeris would be a nice node kit to integrate for 2.4 as well.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-08 Thread Anders Backman
I would say that osgAL is working rather well with osg as for now.

OpenAL++ is a rather healthy abstraction rather than integrating OpenAL
directly into osg...
You get support for ogg-vorbis, streaming sound, capture (from input
devices) etc...

So I don't thing integrating osgAL would introduce any major problems, it
depends on OpenAL and ogg-vorbis, thats it.
Both are more or less standard in unix environments, and can easily be
included in the OpenSceneGraph dependency package for windows, so no issues
there as far as I see.

What I have been lacking is CMake environment. Most of the questions
regarding osgal I get is about building it together with osg, and it is
usually in linux. I really like CMake, and introducing Cmake into osgal
would make it pretty easy to integrate with osg.


What is the feature list for osgCal these days?
Im not following it in any detail, and I guess Im home-blind as we
developed ReplicantBody and have been rather satisfied with that...

Would there be any interest to merge the two?
As far as I know, there are a few things in ReplicantBody that is good to
have, ground following, animation blending, fileformat specification etc


Comments?


/Anders


On Dec 8, 2007 9:42 PM, KSpam [EMAIL PROTECTED] wrote:

  My own short list for contenders for integration are:
 
osgOQ - Occlusion Querry support
osgCal - Cal3D integration
osgAL - OpenAL integration

 osgEphemeris would be a nice node kit to integrate for 2.4 as well.
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




-- 



Anders Backman   Email:[EMAIL PROTECTED]
HPC2N/VRlab  Phone:+46 (0)90-786 9936
Umea university  Cellular: +46 (0)70-392 64 67
S-901 87 UMEA SWEDEN Fax:  +46 90-786 6126
  http://www.cs.umu.se/~andersb
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Looking towards 2.4, and what might go into it.

2007-12-08 Thread Rizzen
Jan Ciger wrote:
  One has to ask
  which scripting languages to go for - Lua and/or Python? Lua would be
  the easiest to integrate in terms of being very self contained i.e.
  which could stick the whole of the lua interpreter into the core OSG
  distribution and one would hardly notice as its so tiny.

 That does not make really sense. There are actually two very different
 ways of integrating scripting:

 1) Application is written in C/C++ and calls embedded scripts. This is
 fairly typical for game development - game is written in C/C++ and e.g.
 AI is scripted using a built-in scripting engine. Here Lua is great (it
 was written for it), because it is fairly easy to maintain separation
 between different scripts (exception/error in one script does not crash
 the whole thing). Furthermore, Lua is really tiny, with negligible
 overhead. Another contender is Javascript (e.g. VRML standard uses it
 for exactly this purpose). I wouldn't target this case, because it is
 very application-specific and there is little a generic scene graph
 binding could provide to it.

 2) Application is written in a high level language and calls into C/C++
 code to run the performance critical stuff. I think that this is what
 you want (... enable us to
 develop applications purely from scripting languages, so developers in
 this realm would just need the binaries to the OSG installed, and no
 need for C++ dev environment).

 In this case I would go for a full featured language with a rich set of
 libraries. Python trumps Lua very easily here with its huge collection
 of libraries and tools. Lua is a very minimalistic language designed for
 embedding, not for writing whole applications in. Soya3D 3D engine is
 written in this manner - programs are written in Python, calling C/C++
 libraries that provide the functionality on top of OpenGL.

 Moreover, the Python bindings (osgPython?) do exist already, even though
 probably unmaintained at the moment ...
Good points Jan, though maybe we should have a compromise here. Thus OSG
supports two scripting languages, the best one for each scenario.
Scenario 1: Have Lua for embedded scripting via osgLua, which would go
well for the gaming environment where processing speed is important.
Scenario 2: While have Python for high level language dev environment
via osgPython, where speed is not important for idea testing, or
business or scientific applications where maximum speed is not
important, but ease of development is important.

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