/* Implement tangents and binormals using http://oss.sgi.com/projects/ogl-sample/registry/EXT/coordinate_frame.txt
this is easy so long as the OpenGL implementation supports it, otherwise drop back to calculating the
normal using tangents where no normal data has been provided */
#if 0
strided->u.s.tangent.lpData = data;
strided->u.s.tangent.dwType = element->type;
strided->u.s.tangent.dsString = stride;
#endif
TRACE("Tangents\n");
break;
caseD3DDECLUSAGE_BINORMAL:
/* Binormals are really bitangents perpendicular to the normal but s-aligned to the tangent, basicly they are the vectors of any two lines on the plain at right angles to the normal and at right angles to each other, like the x,y,z axis.
tangent data makes it easier to perform some calcualtions (a bit like using 2d graph paper instead of the normal of the piece of paper)
The only thing they are usefull for in fixed function would be working out normals when none are give.
*/
#if 0
strided->u.s.binormal.lpData = data;
strided->u.s.binormal.dwType = element->type;
strided->u.s.binormal.dsString = stride;
#endif
/* Don't bother showing fixme's tangents aren't that interesting */
TRACE("BI-Normal\n");
break;
caseD3DDECLUSAGE_TESSFACTOR:
/* a google for D3DDECLUSAGE_TESSFACTOR turns up a wopping 36 entries, 7 of which are from MSDN.
*/
#if 0
strided->u.s.tessFacrot.lpData = data;
strided->u.s.tessFactor.dwType = element->type;
strided->u.s.tessFactor.dsString = stride;
#else
FIXME("Tess Factor\n");
#endif
break;
caseD3DDECLUSAGE_POSITIONT:
switch(element->UsageIndex){
case0:/* N-patch */
strided->u.s.position.lpData=data;
strided->u.s.position.dwType=element->Type;
strided->u.s.position.dwStride=stride;
break;
case1:/* skinning */
/* see http://rsn.gamedev.net/tutorials/ms3danim.asp