| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #ifndef REMOTEAR2_AUGMENT_RENDERER_H
- #define REMOTEAR2_AUGMENT_RENDERER_H
- #include "scene_manager.hpp"
- #include "texture_renderer.h"
- #include <opencv2/core/cuda.hpp>
- #include <Eigen/Geometry>
- #include <memory>
- #include <string_view>
- 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<impl> pimpl;
- };
- #endif //REMOTEAR2_AUGMENT_RENDERER_H
|