#pragma once
#include "pipeline.h"

class segment_pipeline : public pipeline {
public:
    struct param {
        Eigen::Matrix4f projection_matrix;
        Eigen::Vector2f point_a;
        Eigen::Vector2f point_b;
        float thickness;
    };

    bool init() override;
    void destroy() override;

    void set_param(const param& in_param);
protected:
    renderer_buffer* param_buffer = nullptr;
};
