#ifndef REMOTEAR2_AUGMENT_RENDERER_H #define REMOTEAR2_AUGMENT_RENDERER_H #include "scene_manager.hpp" #include "texture_renderer.h" #include #include #include #include class vtkActor; class augment_renderer { public: struct camera_info { int width, height; float angle; void *remap_data; }; augment_renderer(const camera_info *cam_info, cv::Size bg_size); ~augment_renderer(); void set_background(const cv::cuda::GpuMat *background); static void add_scene(scene_manager *scene); void set_camera_pose(const Eigen::Isometry3d &pose); void enable_augment(bool enable); struct render_config { float x, y; float width, height; }; bool render(const render_config &config, cv::cuda::Stream &stream = cv::cuda::Stream::Null()); private: struct impl; std::unique_ptr pimpl; }; #endif //REMOTEAR2_AUGMENT_RENDERER_H