Re: [osg-users] RTT and stereo (corrected)

2008-12-11 Thread Robert Osfield
Hi Roman,

On Thu, Dec 11, 2008 at 6:57 AM, Roman Grigoriev [EMAIL PROTECTED] wrote:
 So for now I solve problem by doing all postprocess operations for left and
 right eye and have huge frame drop to 25 fps L

Stereo rendering normally incurrs a performacne hit, as you are
doubling the amount of work done.  Is ther performance
disproportional?

 Could someone please give me recommendations what is better render to one
 big texture both left and right eye (1600*600) or render to two small
 textures (800*600)?

Design wise it would be much easier to have one texture pure eye.
Performance wise it probably won't make too much difference as the
bottlenecks aren't likely to be related to setup of FBO's/teuxtures.
You might see a performance improvement with using a single texture,
but I doubt it would be worthwhile.

I'd recommend looking at your wider performance bottlenecks.  What is
your cull/draw costs? Due you have two graphics cards and a multi-core
GPU available?

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


Re: [osg-users] RTT and stereo (corrected)

2008-12-11 Thread Roman Grigoriev
Thanx Robert for your reply.
With single view I have 50 fps with stereo I have 25 fps. It is very
predictable result.
Event 0.05
Update 1.36 (two Intersense InertiaCube3 sensors)
Cull   5.2 (clouds)
Draw   2.16 (ephemeris,clouds)
GPU  27.2
I simply try to improve it.
I have single 8600GT. But for stereo config I will use double GTX280. Hopes
that It will change situation.
Bye


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Robert
Osfield
Sent: Thursday, December 11, 2008 12:20 PM
To: OpenSceneGraph Users
Subject: Re: [osg-users] RTT and stereo (corrected)

Hi Roman,

On Thu, Dec 11, 2008 at 6:57 AM, Roman Grigoriev [EMAIL PROTECTED]
wrote:
 So for now I solve problem by doing all postprocess operations for left
and
 right eye and have huge frame drop to 25 fps L

Stereo rendering normally incurrs a performacne hit, as you are
doubling the amount of work done.  Is ther performance
disproportional?

 Could someone please give me recommendations what is better render to one
 big texture both left and right eye (1600*600) or render to two small
 textures (800*600)?

Design wise it would be much easier to have one texture pure eye.
Performance wise it probably won't make too much difference as the
bottlenecks aren't likely to be related to setup of FBO's/teuxtures.
You might see a performance improvement with using a single texture,
but I doubt it would be worthwhile.

I'd recommend looking at your wider performance bottlenecks.  What is
your cull/draw costs? Due you have two graphics cards and a multi-core
GPU available?

Robert.
___
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] RTT and stereo (corrected)

2008-12-11 Thread Robert Osfield
Hi Roman,

The performance you are getting it not to surprising.  Your GPU costs
are obviously the biggest bottleneck.

Moving to a single GTX280 will radically improve this, there is little
reason why you shouldn't be able to do 60Hz in stereo.  Using two
GTX280 would give you an even wider margin for hitting a solid 60Hz.

Once you move to the 280's you probably find that the GPU is no longer
the bottleneck and your cull could well be the longest element, but if
you're hitting a solid 60Hz in stereo already no need to worry.

When doing stereo with two 280's use two viewer Camera's to make the
most of multi-threading performance that the OSG has to offer.


Robert.

On Thu, Dec 11, 2008 at 9:41 AM, Roman Grigoriev [EMAIL PROTECTED] wrote:
 Thanx Robert for your reply.
 With single view I have 50 fps with stereo I have 25 fps. It is very
 predictable result.
 Event 0.05
 Update 1.36 (two Intersense InertiaCube3 sensors)
 Cull   5.2 (clouds)
 Draw   2.16 (ephemeris,clouds)
 GPU  27.2
 I simply try to improve it.
 I have single 8600GT. But for stereo config I will use double GTX280. Hopes
 that It will change situation.
 Bye


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 12:20 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 On Thu, Dec 11, 2008 at 6:57 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 So for now I solve problem by doing all postprocess operations for left
 and
 right eye and have huge frame drop to 25 fps L

 Stereo rendering normally incurrs a performacne hit, as you are
 doubling the amount of work done.  Is ther performance
 disproportional?

 Could someone please give me recommendations what is better render to one
 big texture both left and right eye (1600*600) or render to two small
 textures (800*600)?

 Design wise it would be much easier to have one texture pure eye.
 Performance wise it probably won't make too much difference as the
 bottlenecks aren't likely to be related to setup of FBO's/teuxtures.
 You might see a performance improvement with using a single texture,
 but I doubt it would be worthwhile.

 I'd recommend looking at your wider performance bottlenecks.  What is
 your cull/draw costs? Due you have two graphics cards and a multi-core
 GPU available?

 Robert.
 ___
 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

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


Re: [osg-users] RTT and stereo (corrected)

2008-12-11 Thread Roman Grigoriev
When doing stereo with two 280's use two viewer Camera's to make the
most of multi-threading performance that the OSG has to offer.
Could you please explain it?
But if I have 2 views I have to share scenegraph between windows. So OSG
simply duplicate geometries?
Or maybe I don't understand something?
Roman


-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Robert
Osfield
Sent: Thursday, December 11, 2008 1:33 PM
To: OpenSceneGraph Users
Subject: Re: [osg-users] RTT and stereo (corrected)

Hi Roman,

The performance you are getting it not to surprising.  Your GPU costs
are obviously the biggest bottleneck.

Moving to a single GTX280 will radically improve this, there is little
reason why you shouldn't be able to do 60Hz in stereo.  Using two
GTX280 would give you an even wider margin for hitting a solid 60Hz.

Once you move to the 280's you probably find that the GPU is no longer
the bottleneck and your cull could well be the longest element, but if
you're hitting a solid 60Hz in stereo already no need to worry.

When doing stereo with two 280's use two viewer Camera's to make the
most of multi-threading performance that the OSG has to offer.


Robert.

On Thu, Dec 11, 2008 at 9:41 AM, Roman Grigoriev [EMAIL PROTECTED]
wrote:
 Thanx Robert for your reply.
 With single view I have 50 fps with stereo I have 25 fps. It is very
 predictable result.
 Event 0.05
 Update 1.36 (two Intersense InertiaCube3 sensors)
 Cull   5.2 (clouds)
 Draw   2.16 (ephemeris,clouds)
 GPU  27.2
 I simply try to improve it.
 I have single 8600GT. But for stereo config I will use double GTX280.
Hopes
 that It will change situation.
 Bye


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 12:20 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 On Thu, Dec 11, 2008 at 6:57 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 So for now I solve problem by doing all postprocess operations for left
 and
 right eye and have huge frame drop to 25 fps L

 Stereo rendering normally incurrs a performacne hit, as you are
 doubling the amount of work done.  Is ther performance
 disproportional?

 Could someone please give me recommendations what is better render to one
 big texture both left and right eye (1600*600) or render to two small
 textures (800*600)?

 Design wise it would be much easier to have one texture pure eye.
 Performance wise it probably won't make too much difference as the
 bottlenecks aren't likely to be related to setup of FBO's/teuxtures.
 You might see a performance improvement with using a single texture,
 but I doubt it would be worthwhile.

 I'd recommend looking at your wider performance bottlenecks.  What is
 your cull/draw costs? Due you have two graphics cards and a multi-core
 GPU available?

 Robert.
 ___
 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

___
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] RTT and stereo (corrected)

2008-12-11 Thread Robert Osfield
Hi Roman,

When doing stereo you would typically use a single View with a single
master Camera that controls the what the overall view of the scene is.
 This View would then have two slave Cameras that are offset from the
master Camera's view/projection matrix to provide the appropriate
view.  The scene graph is shared between the two slave Cameras.  If
the slave Camera have different graphics contexts then you can have
separate OpenGL objects per context, but the OSG will automatically
manage this all for you, it also offers the opportunity for threading
the graphics contexts.

Robert.

On Thu, Dec 11, 2008 at 11:20 AM, Roman Grigoriev [EMAIL PROTECTED] wrote:
When doing stereo with two 280's use two viewer Camera's to make the
most of multi-threading performance that the OSG has to offer.
 Could you please explain it?
 But if I have 2 views I have to share scenegraph between windows. So OSG
 simply duplicate geometries?
 Or maybe I don't understand something?
 Roman


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 1:33 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 The performance you are getting it not to surprising.  Your GPU costs
 are obviously the biggest bottleneck.

 Moving to a single GTX280 will radically improve this, there is little
 reason why you shouldn't be able to do 60Hz in stereo.  Using two
 GTX280 would give you an even wider margin for hitting a solid 60Hz.

 Once you move to the 280's you probably find that the GPU is no longer
 the bottleneck and your cull could well be the longest element, but if
 you're hitting a solid 60Hz in stereo already no need to worry.

 When doing stereo with two 280's use two viewer Camera's to make the
 most of multi-threading performance that the OSG has to offer.


 Robert.

 On Thu, Dec 11, 2008 at 9:41 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 Thanx Robert for your reply.
 With single view I have 50 fps with stereo I have 25 fps. It is very
 predictable result.
 Event 0.05
 Update 1.36 (two Intersense InertiaCube3 sensors)
 Cull   5.2 (clouds)
 Draw   2.16 (ephemeris,clouds)
 GPU  27.2
 I simply try to improve it.
 I have single 8600GT. But for stereo config I will use double GTX280.
 Hopes
 that It will change situation.
 Bye


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 12:20 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 On Thu, Dec 11, 2008 at 6:57 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 So for now I solve problem by doing all postprocess operations for left
 and
 right eye and have huge frame drop to 25 fps L

 Stereo rendering normally incurrs a performacne hit, as you are
 doubling the amount of work done.  Is ther performance
 disproportional?

 Could someone please give me recommendations what is better render to one
 big texture both left and right eye (1600*600) or render to two small
 textures (800*600)?

 Design wise it would be much easier to have one texture pure eye.
 Performance wise it probably won't make too much difference as the
 bottlenecks aren't likely to be related to setup of FBO's/teuxtures.
 You might see a performance improvement with using a single texture,
 but I doubt it would be worthwhile.

 I'd recommend looking at your wider performance bottlenecks.  What is
 your cull/draw costs? Due you have two graphics cards and a multi-core
 GPU available?

 Robert.
 ___
 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

 ___
 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

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


Re: [osg-users] RTT and stereo (corrected)

2008-12-11 Thread Roman Grigoriev
Thanx Robert!
I try to use this config:
CompositeViewer (2 View)
First View1 800*600 (left eye first DVI output) Left eye camera
Second View2 800*600 (right eye second DVI output) right eye camera
 So I only need to execute 
view1.setSceneData(root); 
view2.setSceneData(root);
Roman

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Robert
Osfield
Sent: Thursday, December 11, 2008 2:58 PM
To: OpenSceneGraph Users
Subject: Re: [osg-users] RTT and stereo (corrected)

Hi Roman,

When doing stereo you would typically use a single View with a single
master Camera that controls the what the overall view of the scene is.
 This View would then have two slave Cameras that are offset from the
master Camera's view/projection matrix to provide the appropriate
view.  The scene graph is shared between the two slave Cameras.  If
the slave Camera have different graphics contexts then you can have
separate OpenGL objects per context, but the OSG will automatically
manage this all for you, it also offers the opportunity for threading
the graphics contexts.

Robert.

On Thu, Dec 11, 2008 at 11:20 AM, Roman Grigoriev [EMAIL PROTECTED]
wrote:
When doing stereo with two 280's use two viewer Camera's to make the
most of multi-threading performance that the OSG has to offer.
 Could you please explain it?
 But if I have 2 views I have to share scenegraph between windows. So OSG
 simply duplicate geometries?
 Or maybe I don't understand something?
 Roman


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 1:33 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 The performance you are getting it not to surprising.  Your GPU costs
 are obviously the biggest bottleneck.

 Moving to a single GTX280 will radically improve this, there is little
 reason why you shouldn't be able to do 60Hz in stereo.  Using two
 GTX280 would give you an even wider margin for hitting a solid 60Hz.

 Once you move to the 280's you probably find that the GPU is no longer
 the bottleneck and your cull could well be the longest element, but if
 you're hitting a solid 60Hz in stereo already no need to worry.

 When doing stereo with two 280's use two viewer Camera's to make the
 most of multi-threading performance that the OSG has to offer.


 Robert.

 On Thu, Dec 11, 2008 at 9:41 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 Thanx Robert for your reply.
 With single view I have 50 fps with stereo I have 25 fps. It is very
 predictable result.
 Event 0.05
 Update 1.36 (two Intersense InertiaCube3 sensors)
 Cull   5.2 (clouds)
 Draw   2.16 (ephemeris,clouds)
 GPU  27.2
 I simply try to improve it.
 I have single 8600GT. But for stereo config I will use double GTX280.
 Hopes
 that It will change situation.
 Bye


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 12:20 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 On Thu, Dec 11, 2008 at 6:57 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 So for now I solve problem by doing all postprocess operations for left
 and
 right eye and have huge frame drop to 25 fps L

 Stereo rendering normally incurrs a performacne hit, as you are
 doubling the amount of work done.  Is ther performance
 disproportional?

 Could someone please give me recommendations what is better render to
one
 big texture both left and right eye (1600*600) or render to two small
 textures (800*600)?

 Design wise it would be much easier to have one texture pure eye.
 Performance wise it probably won't make too much difference as the
 bottlenecks aren't likely to be related to setup of FBO's/teuxtures.
 You might see a performance improvement with using a single texture,
 but I doubt it would be worthwhile.

 I'd recommend looking at your wider performance bottlenecks.  What is
 your cull/draw costs? Due you have two graphics cards and a multi-core
 GPU available?

 Robert.
 ___
 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

 ___
 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

___
osg-users mailing list
osg-users@lists.openscenegraph.org
http

Re: [osg-users] RTT and stereo (corrected)

2008-12-11 Thread Robert Osfield
HI Roman,

As I send in my previous email you shouldn't use two separate views
for what you are doing, it's neither conceptually a good fit, nor
programatically.  Use a single View with two slave Camaras, it's
simpler coding wise, and you conceptually just have a single view,
either though it's composed of two eye images.  Lots has been
discussed on this topic on osg-users in the past so please do a search
for the topics of Camera / Viewer / CompositeViewer.

Robert.

On Thu, Dec 11, 2008 at 1:02 PM, Roman Grigoriev [EMAIL PROTECTED] wrote:
 Thanx Robert!
 I try to use this config:
 CompositeViewer (2 View)
 First View1 800*600 (left eye first DVI output) Left eye camera
 Second View2 800*600 (right eye second DVI output) right eye camera
  So I only need to execute
 view1.setSceneData(root);
 view2.setSceneData(root);
 Roman

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 2:58 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 When doing stereo you would typically use a single View with a single
 master Camera that controls the what the overall view of the scene is.
  This View would then have two slave Cameras that are offset from the
 master Camera's view/projection matrix to provide the appropriate
 view.  The scene graph is shared between the two slave Cameras.  If
 the slave Camera have different graphics contexts then you can have
 separate OpenGL objects per context, but the OSG will automatically
 manage this all for you, it also offers the opportunity for threading
 the graphics contexts.

 Robert.

 On Thu, Dec 11, 2008 at 11:20 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
When doing stereo with two 280's use two viewer Camera's to make the
most of multi-threading performance that the OSG has to offer.
 Could you please explain it?
 But if I have 2 views I have to share scenegraph between windows. So OSG
 simply duplicate geometries?
 Or maybe I don't understand something?
 Roman


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 1:33 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 The performance you are getting it not to surprising.  Your GPU costs
 are obviously the biggest bottleneck.

 Moving to a single GTX280 will radically improve this, there is little
 reason why you shouldn't be able to do 60Hz in stereo.  Using two
 GTX280 would give you an even wider margin for hitting a solid 60Hz.

 Once you move to the 280's you probably find that the GPU is no longer
 the bottleneck and your cull could well be the longest element, but if
 you're hitting a solid 60Hz in stereo already no need to worry.

 When doing stereo with two 280's use two viewer Camera's to make the
 most of multi-threading performance that the OSG has to offer.


 Robert.

 On Thu, Dec 11, 2008 at 9:41 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 Thanx Robert for your reply.
 With single view I have 50 fps with stereo I have 25 fps. It is very
 predictable result.
 Event 0.05
 Update 1.36 (two Intersense InertiaCube3 sensors)
 Cull   5.2 (clouds)
 Draw   2.16 (ephemeris,clouds)
 GPU  27.2
 I simply try to improve it.
 I have single 8600GT. But for stereo config I will use double GTX280.
 Hopes
 that It will change situation.
 Bye


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 12:20 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 On Thu, Dec 11, 2008 at 6:57 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 So for now I solve problem by doing all postprocess operations for left
 and
 right eye and have huge frame drop to 25 fps L

 Stereo rendering normally incurrs a performacne hit, as you are
 doubling the amount of work done.  Is ther performance
 disproportional?

 Could someone please give me recommendations what is better render to
 one
 big texture both left and right eye (1600*600) or render to two small
 textures (800*600)?

 Design wise it would be much easier to have one texture pure eye.
 Performance wise it probably won't make too much difference as the
 bottlenecks aren't likely to be related to setup of FBO's/teuxtures.
 You might see a performance improvement with using a single texture,
 but I doubt it would be worthwhile.

 I'd recommend looking at your wider performance bottlenecks.  What is
 your cull/draw costs? Due you have two graphics cards and a multi-core
 GPU available?

 Robert.
 ___
 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

Re: [osg-users] RTT and stereo (corrected)

2008-12-11 Thread Roman Grigoriev
Thanx Robert!
I'll make like you said.
P.S. Could you please tell me in what situation I should use
CompositeViewer? Because as far as I got for opengl it's better to have one
big window than two small windows?
Roman   

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Robert
Osfield
Sent: Thursday, December 11, 2008 4:07 PM
To: OpenSceneGraph Users
Subject: Re: [osg-users] RTT and stereo (corrected)

HI Roman,

As I send in my previous email you shouldn't use two separate views
for what you are doing, it's neither conceptually a good fit, nor
programatically.  Use a single View with two slave Camaras, it's
simpler coding wise, and you conceptually just have a single view,
either though it's composed of two eye images.  Lots has been
discussed on this topic on osg-users in the past so please do a search
for the topics of Camera / Viewer / CompositeViewer.

Robert.

On Thu, Dec 11, 2008 at 1:02 PM, Roman Grigoriev [EMAIL PROTECTED]
wrote:
 Thanx Robert!
 I try to use this config:
 CompositeViewer (2 View)
 First View1 800*600 (left eye first DVI output) Left eye camera
 Second View2 800*600 (right eye second DVI output) right eye camera
  So I only need to execute
 view1.setSceneData(root);
 view2.setSceneData(root);
 Roman

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 2:58 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 When doing stereo you would typically use a single View with a single
 master Camera that controls the what the overall view of the scene is.
  This View would then have two slave Cameras that are offset from the
 master Camera's view/projection matrix to provide the appropriate
 view.  The scene graph is shared between the two slave Cameras.  If
 the slave Camera have different graphics contexts then you can have
 separate OpenGL objects per context, but the OSG will automatically
 manage this all for you, it also offers the opportunity for threading
 the graphics contexts.

 Robert.

 On Thu, Dec 11, 2008 at 11:20 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
When doing stereo with two 280's use two viewer Camera's to make the
most of multi-threading performance that the OSG has to offer.
 Could you please explain it?
 But if I have 2 views I have to share scenegraph between windows. So OSG
 simply duplicate geometries?
 Or maybe I don't understand something?
 Roman


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 1:33 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 The performance you are getting it not to surprising.  Your GPU costs
 are obviously the biggest bottleneck.

 Moving to a single GTX280 will radically improve this, there is little
 reason why you shouldn't be able to do 60Hz in stereo.  Using two
 GTX280 would give you an even wider margin for hitting a solid 60Hz.

 Once you move to the 280's you probably find that the GPU is no longer
 the bottleneck and your cull could well be the longest element, but if
 you're hitting a solid 60Hz in stereo already no need to worry.

 When doing stereo with two 280's use two viewer Camera's to make the
 most of multi-threading performance that the OSG has to offer.


 Robert.

 On Thu, Dec 11, 2008 at 9:41 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 Thanx Robert for your reply.
 With single view I have 50 fps with stereo I have 25 fps. It is very
 predictable result.
 Event 0.05
 Update 1.36 (two Intersense InertiaCube3 sensors)
 Cull   5.2 (clouds)
 Draw   2.16 (ephemeris,clouds)
 GPU  27.2
 I simply try to improve it.
 I have single 8600GT. But for stereo config I will use double GTX280.
 Hopes
 that It will change situation.
 Bye


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
 Sent: Thursday, December 11, 2008 12:20 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 On Thu, Dec 11, 2008 at 6:57 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 So for now I solve problem by doing all postprocess operations for left
 and
 right eye and have huge frame drop to 25 fps L

 Stereo rendering normally incurrs a performacne hit, as you are
 doubling the amount of work done.  Is ther performance
 disproportional?

 Could someone please give me recommendations what is better render to
 one
 big texture both left and right eye (1600*600) or render to two small
 textures (800*600)?

 Design wise it would be much easier to have one texture pure eye.
 Performance wise it probably won't make too much difference as the
 bottlenecks aren't likely to be related to setup of FBO's/teuxtures.
 You might see a performance improvement with using a single texture,
 but I doubt it would be worthwhile.

 I'd recommend

Re: [osg-users] RTT and stereo (corrected)

2008-12-11 Thread Максим Гаммер
or Matrix Head2GO )))

Gammer Max.

2008/12/11 Roman Grigoriev [EMAIL PROTECTED]

 Thanx Robert!
 I try to use this config:
 CompositeViewer (2 View)
 First View1 800*600 (left eye first DVI output) Left eye camera
 Second View2 800*600 (right eye second DVI output) right eye camera
  So I only need to execute
 view1.setSceneData(root);
 view2.setSceneData(root);
 Roman

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Robert
 Osfield
  Sent: Thursday, December 11, 2008 2:58 PM
 To: OpenSceneGraph Users
 Subject: Re: [osg-users] RTT and stereo (corrected)

 Hi Roman,

 When doing stereo you would typically use a single View with a single
 master Camera that controls the what the overall view of the scene is.
  This View would then have two slave Cameras that are offset from the
 master Camera's view/projection matrix to provide the appropriate
 view.  The scene graph is shared between the two slave Cameras.  If
 the slave Camera have different graphics contexts then you can have
 separate OpenGL objects per context, but the OSG will automatically
 manage this all for you, it also offers the opportunity for threading
 the graphics contexts.

 Robert.

 On Thu, Dec 11, 2008 at 11:20 AM, Roman Grigoriev [EMAIL PROTECTED]
 wrote:
 When doing stereo with two 280's use two viewer Camera's to make the
 most of multi-threading performance that the OSG has to offer.
  Could you please explain it?
  But if I have 2 views I have to share scenegraph between windows. So OSG
  simply duplicate geometries?
  Or maybe I don't understand something?
  Roman
 
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Robert
  Osfield
  Sent: Thursday, December 11, 2008 1:33 PM
  To: OpenSceneGraph Users
  Subject: Re: [osg-users] RTT and stereo (corrected)
 
  Hi Roman,
 
  The performance you are getting it not to surprising.  Your GPU costs
  are obviously the biggest bottleneck.
 
  Moving to a single GTX280 will radically improve this, there is little
  reason why you shouldn't be able to do 60Hz in stereo.  Using two
  GTX280 would give you an even wider margin for hitting a solid 60Hz.
 
  Once you move to the 280's you probably find that the GPU is no longer
  the bottleneck and your cull could well be the longest element, but if
  you're hitting a solid 60Hz in stereo already no need to worry.
 
  When doing stereo with two 280's use two viewer Camera's to make the
  most of multi-threading performance that the OSG has to offer.
 
 
  Robert.
 
  On Thu, Dec 11, 2008 at 9:41 AM, Roman Grigoriev [EMAIL PROTECTED]
  wrote:
  Thanx Robert for your reply.
  With single view I have 50 fps with stereo I have 25 fps. It is very
  predictable result.
  Event 0.05
  Update 1.36 (two Intersense InertiaCube3 sensors)
  Cull   5.2 (clouds)
  Draw   2.16 (ephemeris,clouds)
  GPU  27.2
  I simply try to improve it.
  I have single 8600GT. But for stereo config I will use double GTX280.
  Hopes
  that It will change situation.
  Bye
 
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of Robert
  Osfield
  Sent: Thursday, December 11, 2008 12:20 PM
  To: OpenSceneGraph Users
  Subject: Re: [osg-users] RTT and stereo (corrected)
 
  Hi Roman,
 
  On Thu, Dec 11, 2008 at 6:57 AM, Roman Grigoriev [EMAIL PROTECTED]
 
  wrote:
  So for now I solve problem by doing all postprocess operations for left
  and
  right eye and have huge frame drop to 25 fps L
 
  Stereo rendering normally incurrs a performacne hit, as you are
  doubling the amount of work done.  Is ther performance
  disproportional?
 
  Could someone please give me recommendations what is better render to
 one
  big texture both left and right eye (1600*600) or render to two small
  textures (800*600)?
 
  Design wise it would be much easier to have one texture pure eye.
  Performance wise it probably won't make too much difference as the
  bottlenecks aren't likely to be related to setup of FBO's/teuxtures.
  You might see a performance improvement with using a single texture,
  but I doubt it would be worthwhile.
 
  I'd recommend looking at your wider performance bottlenecks.  What is
  your cull/draw costs? Due you have two graphics cards and a multi-core
  GPU available?
 
  Robert.
  ___
  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
 
  ___
  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

Re: [osg-users] RTT and stereo (corrected)

2008-12-11 Thread Robert Osfield
Hi Roman,

On Thu, Dec 11, 2008 at 1:31 PM, Roman Grigoriev [EMAIL PROTECTED] wrote:
 P.S. Could you please tell me in what situation I should use
 CompositeViewer?

Please search my previous explanations of CompositeViewer vs Viewer.

 Because as far as I got for opengl it's better to have one
 big window than two small windows?

It depends...  If you have one graphics card, a single window with two
viewports will be more efficient than two windows.  If you have two
graphics cards then use two windows with a single viewport on each.

osgViewer is written so that is very easy to move between using two
Camera's sharing a single GraphicsWIndow, or two Camera's each with
their own GrpahicsWindow.  The only thing you change is creation and
assigned on windows/viewports, everything else stays the same.
osgViewer will manage all the implementation details for you,
including threading.

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


Re: [osg-users] RTT and stereo

2008-12-10 Thread Robert Osfield
On Wed, Dec 10, 2008 at 10:34 AM, Sukender [EMAIL PROTECTED] wrote:
 Hi Roman,

 Hum, it seems you're in the Funding thread (If my mail client doesn't make 
 a mistake). Please start another thread.

It looks like a separate thread to me... So I'd guess your mail client
is playing up.

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


Re: [osg-users] RTT and stereo

2008-12-10 Thread Paul Melis

Robert Osfield wrote:

On Wed, Dec 10, 2008 at 10:34 AM, Sukender [EMAIL PROTECTED] wrote:
  

Hi Roman,

Hum, it seems you're in the Funding thread (If my mail client doesn't make a 
mistake). Please start another thread.



It looks like a separate thread to me... So I'd guess your mail client
is playing up.
  
Sukender's mail to which Roman replied had Message-ID  
[EMAIL PROTECTED].
Roman replied to that mail but changed the subject to start a new 
thread, the headers in his mail reveal this:


From: Roman Grigoriev [EMAIL PROTECTED]
To: 'OpenSceneGraph Users' osg-users@lists.openscenegraph.org
References: [EMAIL PROTECTED]   [EMAIL PROTECTED]
[EMAIL PROTECTED]
In-Reply-To: [EMAIL PROTECTED]

...

So I guess my mailer (thunderbird) is doing the technically correct 
thing by keeping these mail in a single thread.
Now if only more mailing list users did the socially correct thing by 
starting a new thread for each new subject instead of hijacking an 
existing one...


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


Re: [osg-users] RTT and stereo

2008-12-10 Thread Alberto Luaces
Hi,

El Miércoles 10 Diciembre 2008ES 11:38:41 Robert Osfield escribió:
 On Wed, Dec 10, 2008 at 10:34 AM, Sukender [EMAIL PROTECTED] wrote:
  Hi Roman,
 
  Hum, it seems you're in the Funding thread (If my mail client doesn't
  make a mistake). Please start another thread.

 It looks like a separate thread to me... So I'd guess your mail client
 is playing up.


Mine (kmail) also behaves as Sukender's, so even some mail agents look only at 
subject title when threading, it's usually not enough to change it in order 
to start a new thread.

Regards,

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


Re: [osg-users] RTT and stereo

2008-12-10 Thread Sukender
Sorry then. I really have problems with it...

Sukender
PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/


Le Wed, 10 Dec 2008 11:38:41 +0100, Robert Osfield [EMAIL PROTECTED] a écrit:

 On Wed, Dec 10, 2008 at 10:34 AM, Sukender [EMAIL PROTECTED] wrote:
 Hi Roman,

 Hum, it seems you're in the Funding thread (If my mail client doesn't make 
 a mistake). Please start another thread.

 It looks like a separate thread to me... So I'd guess your mail client
 is playing up.

 Robert.
 ___
 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] RTT and stereo

2008-12-10 Thread Sukender
Hi Roman,

Hum, it seems you're in the Funding thread (If my mail client doesn't make a 
mistake). Please start another thread.

Sukender
PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/


Le Wed, 10 Dec 2008 11:20:27 +0100, Roman Grigoriev [EMAIL PROTECTED] a écrit:

 Good day
 I try to use stereo modes for stereo HMD rendering
 But I use also RTT postprocessing and simple adding this code to my app
 don't work

 osg::DisplaySettings::instance()-setStereo(true);
 osg::DisplaySettings::instance()-setStereoMode(osg::DisplaySettings::Stereo
 Mode::HORIZONTAL_SPLIT);

 so I need manually create 2 windows on each DVI output have and 2 cameras
 that render left and right?
 Maybe there is elegant solution to this situation?

 Thanx in advance
 Roman
   


 ___
 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] RTT and stereo (revisited)...

2007-10-10 Thread Farshid Lashkari
Hi Mike

You need to set the left/right cull masks on the SceneView. Then set
the node masks for each camera to the appropriate cull mask. I've
successfully used this technique to render camera nodes in stereo.

-Farshid

On 10/10/07, Mike Logan [EMAIL PROTECTED] wrote:


 ahem..  Looking for some free debugging.. 8)

 I've included a very slimmed down  modified osgprerender.cpp
  example with a second camera added in an attempt to
 get stereo-rtt working..

 I've discovered that the
  RenderImplementation = osg::Camera::SEPERATE_WINDOW
 is a very useful tool (run with the --window option).

 It seems to show that the program is basically working
  in stereo but the final main window only shows the right eye.

 I've tried this on OSX (anaglyph) and Linux (quad-buffer) and
  they perform roughtly the same.   (OSG-SVN 2.2.10+  or so)

 Anyone done this already with the SVN version?
 See anything obvious?

 ml


 #include osg/GLExtensions
 #include osg/DrawPixels
 #include osg/Node
 #include osg/Geometry
 #include osg/Notify
 #include osg/MatrixTransform
 #include osg/Texture2D
 #include osg/TextureRectangle
 #include osg/Stencil
 #include osg/ColorMask
 #include osg/Depth
 #include osg/Billboard
 #include osg/Material
 #include osg/AnimationPath

 #include osgGA/TrackballManipulator
 #include osgGA/FlightManipulator
 #include osgGA/DriveManipulator

 #include osgUtil/SmoothingVisitor

 #include osgDB/Registry
 #include osgDB/ReadFile

 #include osgViewer/Viewer

 #include iostream



 osg::Camera*
 create_camera( const int eye, const osg::BoundingSphere bs,
 unsigned int tex_width,
 unsigned int tex_height,
 osg::Camera::RenderTargetImplementation
 renderImplementation )

 {
 osg::Camera* camera = new osg::Camera;

 // set up the background color and clear mask.

 //camera-setClearColor(osg::Vec4(0.1f,0.1f,0.3f,1.0f));
 camera-setClearMask(GL_COLOR_BUFFER_BIT |
 GL_DEPTH_BUFFER_BIT);

 float znear = 1.0f*bs.radius();
 float zfar  = 3.0f*bs.radius();

 // 2:1 aspect ratio as per flag geometry above.
 float proj_top   = 0.25f*znear;
 float proj_right = 0.5f*znear;
 // 1:1 aspect ratio as per flag geometry above.
 /*mal*/proj_top   = 1.0f*znear;
 /*mal*/proj_right = 1.0f*znear;

 znear *= 0.9f;
 zfar *= 1.1f;

 // set up projection.

 camera-setProjectionMatrixAsFrustum(-proj_right,proj_right,-proj_top,proj_top,znear,zfar);

 // set view

 camera-setReferenceFrame(osg::Transform::ABSOLUTE_RF);
 camera-setViewMatrixAsLookAt(
 bs.center()-osg::Vec3(0.0f,1.0f,0.0f)*bs.radius(),
bs.center(),
osg::Vec3(0.0f,0.0f,1.0f));

 // set viewport
 camera-setViewport(0,0,tex_width,tex_height);

 // set stereo parameters

 camera-setCullMaskLeft( 0x1 );
 camera-setCullMaskRight( 0x2 );

 switch( eye ) {
 case 0:

 camera-setClearColor(osg::Vec4(0.3f,0.3f,0.1f,1.0f));
 break;
 case 0x1:
 camera-setCullMask( 0x1 );

 //camera-setViewport(0,0,tex_width/2,tex_height/2);

 camera-setClearColor(osg::Vec4(0.3f,0.1f,0.1f,1.0f));
 camera-setViewMatrixAsLookAt(
 bs.center()-osg::Vec3(0.1f,1.0f,0.0f)*bs.radius(),
bs.center(),
osg::Vec3(0.0f,0.0f,1.0f));
 break;
 case 0x2:
 camera-setCullMask( 0x2 );

 //camera-setViewport(tex_width/2,0,tex_width/2,tex_height/2);

 camera-setClearColor(osg::Vec4(0.1f,0.1f,0.3f,1.0f));
 camera-setViewMatrixAsLookAt(
 bs.center()-osg::Vec3(-0.1f,1.0f,0.0f)*bs.radius(),
bs.center(),
osg::Vec3(0.0f,0.0f,1.0f));
 break;
 }

 // set the camera to render before the main camera.
 camera-setRenderOrder(osg::Camera::PRE_RENDER);

 // tell the camera to use OpenGL frame buffer object where
 supported.

 camera-setRenderTargetImplementation(renderImplementation);

 return camera;
 }

 osg::Node*
 createPreRenderSubGraph(
   osg::Node* subgraph,
   unsigned int tex_width,
   unsigned int tex_height,
   osg::Camera::RenderTargetImplementation
 renderImplementation)

 {
 if (!subgraph) return 0;

 // create a group to contain the flag and the pre rendering camera.
 osg::Group* parent = new osg::Group;

 // texture to render to and to use for rendering of flag.

 osg::Texture* texture = 0;
 osg::Texture2D* texture2D = new osg::Texture2D;
 texture2D-setTextureSize(tex_width, tex_height);
 texture2D-setInternalFormat(GL_RGBA);

 texture2D-setFilter(osg::Texture2D::MIN_FILTER,osg::Texture2D::LINEAR);

 texture2D-setFilter(osg::Texture2D::MAG_FILTER,osg::Texture2D::LINEAR);