static void DrawPartitions() { face_t *face; winding_t *w; // create temporary winding to draw the split plane w = BaseWindingForNode(drawSplitNode); ChopWindingByBounds(&w, drawSplitNode->mins, drawSplitNode->maxs, 32); if(w != NULL) { Draw_Winding(w, 0, 0, 1, 0.3); FreeWinding(w); } for(face = drawChildLists[0]; face != NULL; face = face->next) { w = face->w; Draw_Winding(w, 0, 1, 0, 0.3); } for(face = drawChildLists[1]; face != NULL; face = face->next) { w = face->w; Draw_Winding(w, 1, 0, 0, 0.3); } }
static void DrawPortal(portal_t * p, qboolean areaportal) { winding_t *w; int sides; sides = PortalVisibleSides(p); if(!sides) return; w = p->winding; if(sides == 2) // back side w = ReverseWinding(w); if(areaportal) { Draw_AuxWinding(w); } else { Draw_Winding(w); } if(sides == 2) FreeWinding(w); }
/* ================ DrawBrushList ================ */ void DrawBrushList(bspBrush_t * brush) { int i; side_t *s; for(; brush; brush = brush->next) { for(i = 0; i < brush->numsides; i++) { s = &brush->sides[i]; if(!s->winding) continue; Draw_Winding(s->winding); } } }