if (gbPNTriangles)
{
glEnable(GL_PN_TRIANGLES_ATI);
}
if (gbPosCubic)
{
glPNTrianglesiATI( GL_PN_TRIANGLES_POINT_MODE_ATI, GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI);
}
else
{
glPNTrianglesiATI( GL_PN_TRIANGLES_POINT_MODE_ATI, GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI);
}
if (gbNormQuadratic)
{
glPNTrianglesiATI( GL_PN_TRIANGLES_NORMAL_MODE_ATI, GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI);
}
else
{
glPNTrianglesiATI( GL_PN_TRIANGLES_NORMAL_MODE_ATI, GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI);
}
glPNTrianglesiATI( GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI, gPNTrianglesLevel);
Nvidia didn't push it, it wasen't one of their "big" things for the card.Ostsol said:NVidia supported RT patches (though I can't recall whether it was the Geforce 3 or 4 that introduced it), which developers seem to have ignored entirely.
Impossible, ATI TrueForm is not fully HW accelerated on newer ATI cards, you must use Vertex Shader (which is everywhere todayShapeshifter said:On that note I really wish developers would use truform and put that extra bit of work into the models/env so they could benifit from it.
The tesselation is fixed, so has very low CPU cost (i.e. zero just extra things to submit). The actual deformation is then done on the vertex shader via barycentric coords.Ostsol said:The vertex shader is incapable of generating vertices. Emulation is performed entirely on the CPU.
Do you mean that predefined patches are used (and then deformed)?DeanoC said:The tesselation is fixed, so has very low CPU cost (i.e. zero just extra things to submit). The actual deformation is then done on the vertex shader via barycentric coords.Ostsol said:The vertex shader is incapable of generating vertices. Emulation is performed entirely on the CPU.
I published the code in ShaderX2 (I think it was 2 anyway).
Ostsol said:Do you mean that predefined patches are used (and then deformed)?