Isosurf Demo (Geometry shaders in action)

A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
Post Reply
User avatar
Noman
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 714
Joined: Mon Jan 31, 2005 7:21 pm
Location: Israel
x 2
Contact:

Isosurf Demo (Geometry shaders in action)

Post by Noman »

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!

Image
Image
Image
Image

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.
User avatar
PolyVox
OGRE Contributor
OGRE Contributor
Posts: 1316
Joined: Tue Nov 21, 2006 11:28 am
Location: Groningen, The Netherlands
x 18
Contact:

Post by PolyVox »

Excellent work! I get between 15-20 fps on my laptop with 8600M GS. It's very cool, but you should have left in the colouring according to the normal (like in your other thread) as it's a cool effect :D
Vectrex
Ogre Magi
Posts: 1266
Joined: Tue Aug 12, 2003 1:53 am
Location: Melbourne, Australia
x 1
Contact:

Post by Vectrex »

nice work. 135 fps here on 8800GT
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Post by Assaf Raman »

8400M GS, 1024X768, no AA, ~17 fps

Good work.

ATI users will wait for the d3d10 code.

This is an example of a SoC project that is on the right track.
Watch out for my OGRE related tweets here.
User avatar
Brocan
Orc
Posts: 441
Joined: Tue Aug 01, 2006 1:43 am
Location: Spain!!
x 8

Post by Brocan »

Good, ~18fps over 8600M GS at 800x600. :)
mr.Zog
Halfling
Posts: 46
Joined: Mon Apr 23, 2007 8:38 pm
Location: Austria
Contact:

Post by mr.Zog »

Very nice!

~110FPS, 8800 GTS 640MB in 1024x768
User avatar
oddrose
Orc
Posts: 470
Joined: Thu Feb 15, 2007 2:08 pm
Location: Gothenburg, Sweden
Contact:

Post by oddrose »

~150FPS @ 8800 GT TOP (around 130 with 8xAA)

It looks really great!
User avatar
yuriythebest
Orc
Posts: 468
Joined: Sun Jul 10, 2005 11:44 am
Location: Kiev, Ukraine
Contact:

Post by yuriythebest »

~50Fps on 8600GTS 256mb

I also get some weird black artifacts for seconds at a time on the white spheres.
asteroidWars - an OGRE game
NOOB MAKE MMORPG- the flash movie
User avatar
Noman
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 714
Joined: Mon Jan 31, 2005 7:21 pm
Location: Israel
x 2
Contact:

Post by Noman »

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...
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7154
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 525

Post by Kojack »

86fps on my 8800GTS 512.
But I do have a ton of other stuff running at the same time. :)
User avatar
nikki
Old One
Posts: 2730
Joined: Sat Sep 17, 2005 10:08 am
Location: San Francisco
x 13
Contact:

Post by nikki »

I'm on a crappy laptop right now, so I can't check it out, but I saw the video, and it looks pretty damn cool. :wink:
User avatar
yuriythebest
Orc
Posts: 468
Joined: Sun Jul 10, 2005 11:44 am
Location: Kiev, Ukraine
Contact:

Post by yuriythebest »

Noman wrote:
Another thing that suprises me is the huge performance difference between the different graphics cards.
yup, the 8600 and 8800 are worlds apart, as I discovered.
asteroidWars - an OGRE game
NOOB MAKE MMORPG- the flash movie
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

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. :)
Do you need help? What have you tried?

Image

Angels can fly because they take themselves lightly.
User avatar
stoneCold
OGRE Expert User
OGRE Expert User
Posts: 867
Joined: Fri Oct 01, 2004 9:13 pm
Location: Carinthia, Austria
x 1

Post by stoneCold »

Kudos :!:
You are doing an excellent job, keep it up :wink:
mr.Zog wrote:Very nice!
~110FPS, 8800 GTS 640MB in 1024x768
exactly same values/gpu here

Although, I have noticed an artifact as well...
Image
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 :D
User avatar
Brocan
Orc
Posts: 441
Joined: Tue Aug 01, 2006 1:43 am
Location: Spain!!
x 8

Post by Brocan »

stoneCold wrote:Kudos :!:
You are doing an excellent job, keep it up :wink:
mr.Zog wrote:Very nice!
~110FPS, 8800 GTS 640MB in 1024x768
exactly same values/gpu here

Although, I have noticed an artifact as well...
Image
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 :D
Uhm... I have just realised that i have the same artifact.
User avatar
Wolfmanfx
OGRE Team Member
OGRE Team Member
Posts: 1525
Joined: Fri Feb 03, 2006 10:37 pm
Location: Austria - Leoben
x 99
Contact:

Post by Wolfmanfx »

Can u display the grid like nvDemo. I have also implemented Metaballs using MCubes and such artefacts are normal if the ball get 'clipped' by the rectilinear grid.
BloodyFanatic
Kobold
Posts: 26
Joined: Sun Sep 24, 2006 3:41 pm
Contact:

Post by BloodyFanatic »

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 ) :P
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)
User avatar
Noman
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 714
Joined: Mon Jan 31, 2005 7:21 pm
Location: Israel
x 2
Contact:

Post by Noman »

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 :

Image

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...
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7154
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 525

Post by Kojack »

performance is well. i had 150 fps in 1600x1200 with FSAA 4 on a 8800 GTS 512 ( 60 fps with FSAA 32 )
Hmm, I wonder why my 8800gts 512 only gives 86fps in 1024x768 with no fsaa?
BloodyFanatic
Kobold
Posts: 26
Joined: Sun Sep 24, 2006 3:41 pm
Contact:

Post by BloodyFanatic »

Kojack wrote:
performance is well. i had 150 fps in 1600x1200 with FSAA 4 on a 8800 GTS 512 ( 60 fps with FSAA 32 )
Hmm, I wonder why my 8800gts 512 only gives 86fps in 1024x768 with no fsaa?
maybe due to a slow cpu? after I upgraded my CPU, i almost got twice the power
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)
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7154
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 525

Post by Kojack »

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.
User avatar
Noman
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 714
Joined: Mon Jan 31, 2005 7:21 pm
Location: Israel
x 2
Contact:

Post by Noman »

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.
User avatar
jorrit5477
Gremlin
Posts: 181
Joined: Thu Feb 09, 2006 1:48 am
Location: The Netherlands

Post by jorrit5477 »

~120fps at 1280x1024 with 8 FSAA on 8800GTX
User avatar
Kojack
OGRE Moderator
OGRE Moderator
Posts: 7154
Joined: Sun Jan 25, 2004 7:35 am
Location: Brisbane, Australia
x 525

Post by Kojack »

I rebooted into Vista. Same settings gave me 143fps (cpu still maxed out on both cores).
That's quite a big performance boost.
Post Reply