想一个三角形里面套一个三角形,做法完全是平淡无奇,中规中矩的:
         GLUtesselator*tess;//生成对象
tess=gluNewTess();
gluTessCallback(tess,GLU_BEGIN,(void(__stdcall*)())glBegin);//定义回调
gluTessCallback(tess,GLU_END,(void(__stdcall*)())glEnd);
gluTessCallback(tess,GLU_VERTEX,(void(__stdcall*)())glVertex3dv);
gluTessProperty(tess,GLU_TESS_BOUNDARY_ONLY,GL_TRUE);
GLdouble inside[3][3]={{0.0,0.5,0.0},{-0.5,0.0,0.0},{0.5,0.0,0.0}};//定义点
GLdouble outside[3][3]={{0.0,0.9,0.0},{-0.9,0.0,0.0},{0.9,0.0,0.0}};                  gluTessBeginPolygon(tess,NULL);//开始画
gluTessBeginContour(tess);//画外层
gluTessVertex(tess,outside[0],NULL);
gluTessVertex(tess,outside[1],NULL);
gluTessVertex(tess,outside[2],NULL);
gluTessEndContour(tess); gluTessBeginContour(tess);//画内层
gluTessVertex(tess,inside[0],NULL);
gluTessVertex(tess,inside[1],NULL);
gluTessVertex(tess,inside[2],NULL);
gluTessEndContour(tess);
         gluTessEndPolygon(tess);//画完.
 编译时通过,运行时崩溃. 调试时说是一个叫NVOGLNT.DLL的DLL文件里有访问错误,我就头大了. 昨天刚升级到OGL1.5,不会是版本的问题吧