void PolygonNode::calcVertexes(const VertexDataPtr& pVertexData, Pixel32 color) { if (getNumDifferentPts(m_Pts) < 3) { return; } if (m_EffTexCoords.empty()) { calcEffPolyLineTexCoords(m_EffTexCoords, m_TexCoords, m_CumulDist); } calcPolyLine(m_Pts, m_EffTexCoords, true, m_LineJoin, pVertexData, color); for (unsigned i = 0; i < m_Holes.size(); i++) { calcPolyLine(m_Holes[i], m_EffTexCoords, true, m_LineJoin, pVertexData, color); } }
void PolyLineNode::calcVertexes(const VertexDataPtr& pVertexData, Pixel32 color) { if (getNumDifferentPts(m_Pts) < 2) { return; } if (m_EffTexCoords.empty()) { calcEffPolyLineTexCoords(m_EffTexCoords, m_TexCoords, m_CumulDist); } calcPolyLine(m_Pts, m_EffTexCoords, false, m_LineJoin, pVertexData, color); }
void RectNode::calcVertexes(const VertexDataPtr& pVertexData, Pixel32 color) { glm::vec2 pivot = m_Rect.tl+m_Rect.size()/2.f; glm::vec2 p1 = m_Rect.tl; glm::vec2 p2(m_Rect.tl.x, m_Rect.br.y); glm::vec2 p3 = m_Rect.br; glm::vec2 p4(m_Rect.br.x, m_Rect.tl.y); vector<glm::vec2> pts; pts.push_back(getRotatedPivot(p1, m_Angle, pivot)); pts.push_back(getRotatedPivot(p2, m_Angle, pivot)); pts.push_back(getRotatedPivot(p3, m_Angle, pivot)); pts.push_back(getRotatedPivot(p4, m_Angle, pivot)); calcPolyLine(pts, m_TexCoords, true, LJ_MITER, pVertexData, color); }