PDA

View Full Version : NV_evaluators



Julien Cayzac
07-25-2002, 05:34 AM
Considering thip 4x4 map:



float control_points[4][4][3] = {
{{-30.f, .0f, -30.f}, {-10.f, .0f, -30.f}, {10.f, .0f, -30.f}, {30.f, .0f, -30.f}},
{{-30.f, .0f, -10.f}, {-10.f, .0f, -10.f}, {10.f, .0f, -10.f}, {30.f, .0f, -10.f}},
{{-30.f, .0f, 10.f}, {-10.f, .0f, 10.f}, {10.f, .0f, 10.f}, {30.f, .0f, 10.f}},
{{-30.f, .0f, 30.f}, {-10.f, .0f, 30.f}, {10.f, .0f, 30.f}, {30.f, .0f, 30.f}}
};

It gives me garbage when rendered. Shouldn't it give me a flat grid ?

I searched NV_evaluators in google, but didn't manage to get a single tutorial or code snipet. The only example I found is the uncommented Bumpy Shiny Patch demo from cass...

Julien.

davepermen
07-25-2002, 06:10 AM
there is, or was, a very simple example showing simply a quad with one edge lifted up.. that was the first evaluatordemo i've seen

actually, the only one http://www.opengl.org/discussion_boards/ubb/wink.gif

Julien Cayzac
07-25-2002, 06:19 AM
Forget it, I specified the strides in GL_FLOAT units, not bytes..... http://www.opengl.org/discussion_boards/ubb/smile.gif

Julien.

Julien Cayzac
07-25-2002, 01:45 PM
Hmmm I'm a bit disapointed :p
I just ran a benchmark which render a 4x4 patch with XYZ and color mappings only, and at 50FPS my tesselation settings are (180.f, 180.f, 180.f, 180.f). That's only about 65.000 triangles per frame, or 3.25MTri/s on a gf4ti4200.
I expected something more, e.g. 30MTri/s...
Is there any way to improve performances ? Cass, any comment?

<edit>A more accurate measurement gave me 4.5MTri/s (tesselation level=300 -> 25fps), which is better but yet slow...</edit>

Julien.

[This message has been edited by deepmind (edited 07-25-2002).]

cass
07-25-2002, 05:11 PM
Hi Julien,

NV_evaluators support is being pulled from the OpenGL drivers, so it's probably best to not spend too much time on them. http://www.opengl.org/discussion_boards/ubb/frown.gif

Thanks -
Cass

SirKnight
07-25-2002, 06:02 PM
Why is it being pulled? I have never gotten the chance yet to try them out. http://www.opengl.org/discussion_boards/ubb/frown.gif I better hurry. http://www.opengl.org/discussion_boards/ubb/smile.gif

-SirKnight

Julien Cayzac
07-25-2002, 10:49 PM
Originally posted by cass:

NV_evaluators support is being pulled from the OpenGL drivers, so it's probably best to not spend too much time on them. http://www.opengl.org/discussion_boards/ubb/frown.gif


Why is it ????
Too bad http://www.opengl.org/discussion_boards/ubb/frown.gif
With every so-called "DX9-compliant" card supporting some kind of HOS hardware tesselation, why removing NV_evaluators? Will you expose a new HOS extension?

Julien.

cass
07-26-2002, 07:07 AM
Julien,

NV_evaluators did not have enough performance to warrant keeping them. HOS is certainly relevant, so don't expect they're gone forever.

Thanks -
Cass

Rob The Bloke
07-28-2002, 06:55 AM
Originally posted by cass:

Julien,

NV_evaluators did not have enough performance to warrant keeping them. HOS is certainly relevant, so don't expect they're gone forever.

Thanks -
Cass

I've always found that the problem with NV_Evaluators and the bog standard Glu ones is that they don't offer the ability to cache tessellation LOD's of a given surface.

When you look at what is required in a parametric surface, you'll see that most calculations can be cached to give you suprisingly little to do at tessellation time. Most of what is left, fits very neatly into SIMD instructions which gives you a bit more speed in your computations. The other thing to bear in mind is that all of this fits very nicely into triangle strips. Nice.

Changing the LOD of a surface is the only time that takes significant calculation. I'm sure I've posted a million more indepth posts about this though....