There is lots of redundant/useless stuff in the renderer that should be removed
e.g. tr_init.c
cvar_t *r_ext_NV_fog_dist;
cvar_t *r_nv_fogdist_mode;
cvar_t *r_ext_ATI_pntriangles;
cvar_t *r_ati_truform_tess; //
cvar_t *r_ati_truform_normalmode; // linear/quadratic
cvar_t *r_ati_truform_pointmode; // linear/cubic
ATi Tessellation code that never worked c
//----(SA) added
void (APIENTRY *qglPNTrianglesiATI)(GLenum pname, GLint param);
void (APIENTRY *qglPNTrianglesfATI)(GLenum pname, GLfloat param);
/*
The tessellation level and normal generation mode are specified with:
void qglPNTriangles{if}ATI(enum pname, T param)
If <pname> is:
GL_PN_TRIANGLES_NORMAL_MODE_ATI -
<param> must be one of the symbolic constants:
- GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI or
- GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI
which will select linear or quadratic normal interpolation respectively.
GL_PN_TRIANGLES_POINT_MODE_ATI -
<param> must be one of the symbolic constants:
- GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI or
- GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI
which will select linear or cubic interpolation respectively.
GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI -
<param> should be a value specifying the number of evaluation points on each edge. This value must be
greater than 0 and less than or equal to the value given by GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI.
An INVALID_VALUE error will be generated if the value for <param> is less than zero or greater than the max value.
Associated 'gets':
Get Value Get Command Type Minimum Value Attribute
--------- ----------- ---- ------------ ---------
PN_TRIANGLES_ATI IsEnabled B False PN Triangles/enable
PN_TRIANGLES_NORMAL_MODE_ATI GetIntegerv Z2 PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI PN Triangles
PN_TRIANGLES_POINT_MODE_ATI GetIntegerv Z2 PN_TRIANGLES_POINT_MODE_CUBIC_ATI PN Triangles
PN_TRIANGLES_TESSELATION_LEVEL_ATI GetIntegerv Z+ 1 PN Triangles
MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI GetIntegerv Z+ 1 -
*/
//----(SA) end
//----(SA) added
r_ext_ATI_pntriangles = ri.Cvar_Get("r_ext_ATI_pntriangles", "0", CVAR_ARCHIVE | CVAR_LATCH | CVAR_UNSAFE); //----(SA) default to '0'
r_ati_truform_tess = ri.Cvar_Get("r_ati_truform_tess", "1", CVAR_ARCHIVE | CVAR_UNSAFE);
r_ati_truform_normalmode = ri.Cvar_Get("r_ati_truform_normalmode", "GL_PN_TRIANGLES_NORMAL_MODE_LINEAR", CVAR_ARCHIVE | CVAR_UNSAFE);
r_ati_truform_pointmode = ri.Cvar_Get("r_ati_truform_pointmode", "GL_PN_TRIANGLES_POINT_MODE_LINEAR", CVAR_ARCHIVE | CVAR_UNSAFE);
r_ati_fsaa_samples = ri.Cvar_Get("r_ati_fsaa_samples", "1", CVAR_ARCHIVE | CVAR_UNSAFE); //DAJ valids are 1, 2, 4
c