#pragma once
#include "pipeline.h"

class rounded_rect_pipeline : public pipeline {
public:
    struct param {
        Eigen::Matrix4f projection_matrix;
        Eigen::Vector2f size;
        Eigen::Vector2f pos;
        Eigen::Vector4f radius; // 左上, 右上, 左下, 右下
    };

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

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