|
|
|
@ -294,6 +294,8 @@ void NvgWindow::updateFrameMat(int w, int h) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void NvgWindow::drawLaneLines(QPainter &painter, const UIState *s) { |
|
|
|
|
painter.save(); |
|
|
|
|
|
|
|
|
|
const UIScene &scene = s->scene; |
|
|
|
|
// lanelines
|
|
|
|
|
for (int i = 0; i < std::size(scene.lane_line_vertices); ++i) { |
|
|
|
@ -329,9 +331,13 @@ void NvgWindow::drawLaneLines(QPainter &painter, const UIState *s) { |
|
|
|
|
} |
|
|
|
|
painter.setBrush(bg); |
|
|
|
|
painter.drawPolygon(scene.track_vertices.v, scene.track_vertices.cnt); |
|
|
|
|
|
|
|
|
|
painter.restore(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void NvgWindow::drawLead(QPainter &painter, const cereal::ModelDataV2::LeadDataV3::Reader &lead_data, const QPointF &vd) { |
|
|
|
|
painter.save(); |
|
|
|
|
|
|
|
|
|
const float speedBuff = 10.; |
|
|
|
|
const float leadBuff = 40.; |
|
|
|
|
const float d_rel = lead_data.getX()[0]; |
|
|
|
@ -361,6 +367,8 @@ void NvgWindow::drawLead(QPainter &painter, const cereal::ModelDataV2::LeadDataV |
|
|
|
|
QPointF chevron[] = {{x + (sz * 1.25), y + sz}, {x, y}, {x - (sz * 1.25), y + sz}}; |
|
|
|
|
painter.setBrush(redColor(fillAlpha)); |
|
|
|
|
painter.drawPolygon(chevron, std::size(chevron)); |
|
|
|
|
|
|
|
|
|
painter.restore(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void NvgWindow::paintGL() { |
|
|
|
@ -370,8 +378,6 @@ void NvgWindow::paintGL() { |
|
|
|
|
painter.setRenderHint(QPainter::Antialiasing); |
|
|
|
|
painter.setPen(Qt::NoPen); |
|
|
|
|
|
|
|
|
|
drawHud(painter); |
|
|
|
|
|
|
|
|
|
UIState *s = uiState(); |
|
|
|
|
if (s->worldObjectsVisible()) { |
|
|
|
|
|
|
|
|
@ -388,6 +394,8 @@ void NvgWindow::paintGL() { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
drawHud(painter); |
|
|
|
|
|
|
|
|
|
double cur_draw_t = millis_since_boot(); |
|
|
|
|
double dt = cur_draw_t - prev_draw_t; |
|
|
|
|
double fps = fps_filter.update(1. / dt * 1000); |
|
|
|
|