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
Re: [osg-users] RTT and stereo (corrected)
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)
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)
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)
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)
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)
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)
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)
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)
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
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
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
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
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
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)...
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);