| 666 | } |
| 667 | |
| 668 | void LineRenderer::pushSegment(PosColorVertex verts[2]) { |
| 669 | uint64_t state = BGFX_STATE_WRITE_RGB | BGFX_STATE_WRITE_A | BGFX_STATE_PT_LINESTRIP | BlendFunc::Default.toValue(); |
| 670 | if (state != _lastState) { |
| 671 | render(); |
| 672 | } |
| 673 | _lastState = state; |
| 674 | if (!_vertices.empty()) { |
| 675 | _vertices.reserve(_vertices.size() + 4); |
| 676 | _vertices.push_back(_vertices.back()); |
| 677 | _vertices.back().abgr = 0; |
| 678 | _vertices.push_back(verts[0]); |
| 679 | _vertices.back().abgr = 0; |
| 680 | } else { |
| 681 | _vertices.reserve(_vertices.size() + 2); |
| 682 | } |
| 683 | _vertices.push_back(verts[0]); |
| 684 | _vertices.push_back(verts[1]); |
| 685 | } |
| 686 | |
| 687 | void LineRenderer::render() { |
| 688 | if (!_vertices.empty()) { |