Isosurf Demo (Geometry shaders in action)
-
- OGRE Retired Team Member
- Posts: 714
- Joined: Mon Jan 31, 2005 7:21 pm
- Location: Israel
- x 2
Isosurf Demo (Geometry shaders in action)
Hi all
I'm taking part in this year's Google Summer of Code project, adding geometry shader support to our favorite open source 3d rendering engine.
(For those interested, this is the thread : http://www.ogre3d.org/phpBB2/viewtopic.php?t=40261 )
The 5th part of the project was to create an impressive demo, showing real usage of geometry shaders. I decided to port the IsoSurf sample from nvidia's OpenGL SDK to Ogre.
So... Here it is!
For those of you who want to try it out for yourselves, download it now!
Ogre IsoSurf Demo Download
Demo requirements : Geforce 8 or higher graphics card. Sorry ATI users. Tell them to add proper OpenGL support
If you don't have a compatible graphics card, check out a video of the demo.
For those of you who want to try and compile it for yourselves, you can get the code at the svn branch of my SoC project :
https://svn.ogre3d.org/svnroot/ogre/bra ... eomshaders
Geometry shaders in Ogre are a reality!
I'm taking part in this year's Google Summer of Code project, adding geometry shader support to our favorite open source 3d rendering engine.
(For those interested, this is the thread : http://www.ogre3d.org/phpBB2/viewtopic.php?t=40261 )
The 5th part of the project was to create an impressive demo, showing real usage of geometry shaders. I decided to port the IsoSurf sample from nvidia's OpenGL SDK to Ogre.
So... Here it is!
For those of you who want to try it out for yourselves, download it now!
Ogre IsoSurf Demo Download
Demo requirements : Geforce 8 or higher graphics card. Sorry ATI users. Tell them to add proper OpenGL support
If you don't have a compatible graphics card, check out a video of the demo.
For those of you who want to try and compile it for yourselves, you can get the code at the svn branch of my SoC project :
https://svn.ogre3d.org/svnroot/ogre/bra ... eomshaders
Geometry shaders in Ogre are a reality!
Last edited by Noman on Sat Jul 19, 2008 1:31 pm, edited 2 times in total.
-
- OGRE Contributor
- Posts: 1316
- Joined: Tue Nov 21, 2006 11:28 am
- Location: Groningen, The Netherlands
- x 18
-
- Ogre Magi
- Posts: 1266
- Joined: Tue Aug 12, 2003 1:53 am
- Location: Melbourne, Australia
- x 1
-
- Orc
- Posts: 441
- Joined: Tue Aug 01, 2006 1:43 am
- Location: Spain!!
- x 8
-
- Halfling
- Posts: 46
- Joined: Mon Apr 23, 2007 8:38 pm
- Location: Austria
-
- OGRE Retired Team Member
- Posts: 714
- Joined: Mon Jan 31, 2005 7:21 pm
- Location: Israel
- x 2
Thanks for the replies (and for testing that the demo actually works) !
yuriythebest - Yea I know. But i've been able to reproduce pretty much all of the side effects I've managed to get in my demo in the NVIDIA demo as well. Most of the artifacts have to do with the ball locations becoming near the edge of the Isosurf sampling area.
For those of you who don't have a Geforce 8, I updated the first post with a video of the demo.
Another thing that suprises me is the huge performance difference between the different graphics cards. I guess NVIDIA really didn't put much geometry shader firepower in the first gen of geometry shader capable cards...
yuriythebest - Yea I know. But i've been able to reproduce pretty much all of the side effects I've managed to get in my demo in the NVIDIA demo as well. Most of the artifacts have to do with the ball locations becoming near the edge of the Isosurf sampling area.
For those of you who don't have a Geforce 8, I updated the first post with a video of the demo.
Another thing that suprises me is the huge performance difference between the different graphics cards. I guess NVIDIA really didn't put much geometry shader firepower in the first gen of geometry shader capable cards...
-
- OGRE Moderator
- Posts: 7157
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 535
-
- OGRE Retired Moderator
- Posts: 9481
- Joined: Fri Feb 18, 2005 2:03 am
- Location: Dublin, CA, US
- x 22
http://en.wikipedia.org/wiki/GeForce_8_ ... s_Overview
A large part of it is the number of stream processors on each card. 8600 has 32; 8800 GTS/GTX/Ultra have 128, with 3X the bus bandwidth. So you basically have a 12X difference in processing power (an order of magnitude, in other words) -- 15x or more, actually, if you factor in clock speed differences.
There's a reason that I bought my 8600GT for $200 last year when the 8800GTX was still $600 -- because there is a difference. nVidia (as well as ATI) provides different levels of power at different price points for a reason -- so that the consumer has the choice of how much power they want. There's nothing new about that in the 8 series -- it's just that now the raw horsepower has gotten to the point that the differences within a line are actually rather noticeable.
That said, the 8600GT in my quad core was more than enough to play FEAR when I put together the rig, and that's all that mattered at the time.
A large part of it is the number of stream processors on each card. 8600 has 32; 8800 GTS/GTX/Ultra have 128, with 3X the bus bandwidth. So you basically have a 12X difference in processing power (an order of magnitude, in other words) -- 15x or more, actually, if you factor in clock speed differences.
There's a reason that I bought my 8600GT for $200 last year when the 8800GTX was still $600 -- because there is a difference. nVidia (as well as ATI) provides different levels of power at different price points for a reason -- so that the consumer has the choice of how much power they want. There's nothing new about that in the 8 series -- it's just that now the raw horsepower has gotten to the point that the differences within a line are actually rather noticeable.
That said, the 8600GT in my quad core was more than enough to play FEAR when I put together the rig, and that's all that mattered at the time.
-
- OGRE Expert User
- Posts: 867
- Joined: Fri Oct 01, 2004 9:13 pm
- Location: Carinthia, Austria
- x 1
Kudos
You are doing an excellent job, keep it up
Although, I have noticed an artifact as well...
It looks like there is a depth sorting (or tesselation) problem when the moving metaball should occlude the stationary one.
I just thought I should let you know.
Again, great work (No)man
You are doing an excellent job, keep it up
exactly same values/gpu heremr.Zog wrote:Very nice!
~110FPS, 8800 GTS 640MB in 1024x768
Although, I have noticed an artifact as well...
It looks like there is a depth sorting (or tesselation) problem when the moving metaball should occlude the stationary one.
I just thought I should let you know.
Again, great work (No)man
-
- Orc
- Posts: 441
- Joined: Tue Aug 01, 2006 1:43 am
- Location: Spain!!
- x 8
Uhm... I have just realised that i have the same artifact.stoneCold wrote:Kudos
You are doing an excellent job, keep it up
exactly same values/gpu heremr.Zog wrote:Very nice!
~110FPS, 8800 GTS 640MB in 1024x768
Although, I have noticed an artifact as well...
It looks like there is a depth sorting (or tesselation) problem when the moving metaball should occlude the stationary one.
I just thought I should let you know.
Again, great work (No)man
-
- OGRE Team Member
- Posts: 1525
- Joined: Fri Feb 03, 2006 10:37 pm
- Location: Austria - Leoben
- x 99
-
- Kobold
- Posts: 26
- Joined: Sun Sep 24, 2006 3:41 pm
great work, keep it up
performance is well. i had 150 fps in 1600x1200 with FSAA 4 on a 8800 GTS 512 ( 60 fps with FSAA 32 )
but when you move the camera behind those things you get weird glitches...
performance is well. i had 150 fps in 1600x1200 with FSAA 4 on a 8800 GTS 512 ( 60 fps with FSAA 32 )
but when you move the camera behind those things you get weird glitches...
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg. (Bjarne Stroustrup)
-
- OGRE Retired Team Member
- Posts: 714
- Joined: Mon Jan 31, 2005 7:21 pm
- Location: Israel
- x 2
There are some visual glitches in the demo. Its (mostly) a matter of tweaking the constants...
Even the NVIDIA demo has some weird visual stuff :
I might put a bit more effort into making some extreme cases disappear.
As for adding more features to the demo, I'm not sure... I really want to move on to the next feature (RenderToBuffer support), and I think its more important than adding capabilities to the demo.
(You're all welcome to disagree and voice your opinion here, its part of the project)
Feel free to check out the developer discussion thread (link at first post) if you want more info...
Even the NVIDIA demo has some weird visual stuff :
I might put a bit more effort into making some extreme cases disappear.
As for adding more features to the demo, I'm not sure... I really want to move on to the next feature (RenderToBuffer support), and I think its more important than adding capabilities to the demo.
(You're all welcome to disagree and voice your opinion here, its part of the project)
Feel free to check out the developer discussion thread (link at first post) if you want more info...
-
- OGRE Moderator
- Posts: 7157
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 535
-
- Kobold
- Posts: 26
- Joined: Sun Sep 24, 2006 3:41 pm
maybe due to a slow cpu? after I upgraded my CPU, i almost got twice the powerKojack wrote:Hmm, I wonder why my 8800gts 512 only gives 86fps in 1024x768 with no fsaa?performance is well. i had 150 fps in 1600x1200 with FSAA 4 on a 8800 GTS 512 ( 60 fps with FSAA 32 )
C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows away your whole leg. (Bjarne Stroustrup)
-
- OGRE Moderator
- Posts: 7157
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 535
Athlon X2 4400.
Hmm, you're right, I checked cpu usage and the demo maxes out both of my cores. Switching from 1024x768 to 1600x1200 has almost no effect on speed.
I would have thought that isosurfaces on a geometry shader would be primarily a gpu hit, not a cpu hit. Either there's a lot more work than I expected needed in the background (haven't looked at the code yet), or the nvidia extensions for geometry shaders on xp are software emulated.
Hmm, you're right, I checked cpu usage and the demo maxes out both of my cores. Switching from 1024x768 to 1600x1200 has almost no effect on speed.
I would have thought that isosurfaces on a geometry shader would be primarily a gpu hit, not a cpu hit. Either there's a lot more work than I expected needed in the background (haven't looked at the code yet), or the nvidia extensions for geometry shaders on xp are software emulated.
-
- OGRE Retired Team Member
- Posts: 714
- Joined: Mon Jan 31, 2005 7:21 pm
- Location: Israel
- x 2
Wowzers.
I thought there was something wrong with my implementation, so I checked out the nvidia demo. Maxes out both of my CPUs as well.
*Shock*
I wonder if when working at this mode, the vertex pipeline is emulated as well or are 300,000 vertices read from the graphics card and written back each frame.
I thought there was something wrong with my implementation, so I checked out the nvidia demo. Maxes out both of my CPUs as well.
*Shock*
I wonder if when working at this mode, the vertex pipeline is emulated as well or are 300,000 vertices read from the graphics card and written back each frame.
-
- Gremlin
- Posts: 181
- Joined: Thu Feb 09, 2006 1:48 am
- Location: The Netherlands
-
- OGRE Moderator
- Posts: 7157
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 535