GPU Tessellation

Started by
18 comments, last by ZealousEngine 16 years, 4 months ago
There have to be some implementation details floating around.. Im surprised more people arent excited about this technique (it really is the future imo).
Advertisement
N-Patches were already the future five years ago :-) ... I even used them on DX8.1 hardware. All depends on how well this stuff is supported in hardware :-) ... the geometry shader support comes here to mind :-)
But if it was the future five years ago why are there ZERO articles on it? Well maybe there are a couple, but I cant seem to find them...

Yes geometry shaders will make it 'faster' and im sure more popular, but everyone says it is possible to do NOW, but nobody seems to know how...
There were plenty of presentations at developer conferences that talked about N patches back then and quite a lot of talk in the specialist media as a result of the marketing. I think I first heard about them at one of the Meltdown conferences (2000 or 2001 if memory serves).

ATI had them in consumer hardware first so were the ones making the most noise about them. ISTR the ATI marketing name for N-patches was TruForm.

The fact that none of the other hardware vendors had support for them and some artwork authoring headaches (tesselate uniformly and some edges you wanted to always stay sharp can end up smooth) meant that use oustide of demos and OEM releases, the use of N-patches in games was thin on the ground (if any shipped using them at all for that matter).

Having an ATI GPU in a popular games console (and a set of powerful co-processors in its nearest competitor that are perfect for implementing things like N-patches) have changed all that.


Quote:But if it was the future five years ago why are there ZERO articles on it?


Hmmmm, your Google-Fu must be weak [wink]

SIGGRAPH 2001: http://alex.vlachos.com/graphics/CurvedPNTriangles.pdf

ATI 2001: http://www.graphicshardware.org/previous/www_2001/presentations/Hot3D_Mark_Fowler.pdf

Gamasutra 2002: http://www.gamasutra.com/features/20020715/mollerhaines_01.htm

Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site

Perhaps I need to take a closer look, but non of those articles have implementation details. They are 90% 'how bezier curves work'. They then suggest you magically 'do the tessellation' after primitive assembly and before vertex shading. How?

Im working with Ogre. Call me oldschool, but all I understand is drawcall->vertex shader->pixel shader. How do I 'insert' gpu tesselation into this equation?
Typically they utilise undocumented render state calls, and the like. I'm sure the ATI Developer SDK would have more information and samples. I believe only the HD2x00 series and above has a hardware tesselator, so don't expect it to run on Nvidia hardware.
NextWar: The Quest for Earth available now for Windows Phone 7.
Maybe that's what you are looking for: GS-NPatch-Tessellation
"This sample shows how to smoothen a low-polygon mesh by n-patch tessellating the input triangles in the geometry shader."
http://ati.amd.com/developer/SDK/AMD_SDK_Samples_May2007/D3D_10/GS-NPatch-Tessellation.zip
Gah! Another d3d10 implementation :(.. Does this technique just suck unless you dont have dx10/geometry shaders? Is that why nobody seems to use it?
Quote:Original post by ZealousEngine
Gah! Another d3d10 implementation :(.. Does this technique just suck unless you dont have dx10/geometry shaders? Is that why nobody seems to use it?


IDirect3DDevice9::SetNPatchMode(), D3DDEVCAPS_NPATCHES, ...

Only being supported by ATI (and XGI but I wouldn't trust their caps one little bit...) is the reason not many people use them on PC. On console it's a different story.

Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site

Quote:Only being supported by ATI


Ok so are you saying there is no way to do gpu tessellation with dx9 unless you have specific ATI brand hardware?

This topic is closed to new replies.

Advertisement