glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glBegin(GL_TRIANGLES);//开始以g_ViewMode模式绘制 glColor3ub(182.0f,88.0f,157.0f); for(int j = 0; j < objAndRoofIndex.size(); j+=2) // 遍历所有的面 { for(int tex = 0; tex < 3; tex++) // 遍历三角形的所有点 { int index = pLoadModels->g_3DModel[0].pObject[objAndRoofIndex[j]].pFaces[objAndRoofIndex[j+1]].vertIndex[tex]; // 获得面对每个点的索引 float x,y,z; x = pLoadModels->g_3DModel[0].pObject[objAndRoofIndex[j]].pVerts[index].x; y = pLoadModels->g_3DModel[0].pObject[objAndRoofIndex[j]].pVerts[index].y; z = pLoadModels->g_3DModel[0].pObject[objAndRoofIndex[j]].pVerts[index].z; glVertex3f(x,y,z); } } glEnd();// 绘制结束
在glBegin之前插入glPolygonMode,就能以线框模式绘制多边形或者三角形,默认的是以填充模式绘制多边形。