#ifndef DEPTHGUIDE_IMAGE_AUGMENT_HELPER_V2_IMPL_H #define DEPTHGUIDE_IMAGE_AUGMENT_HELPER_V2_IMPL_H #include "module/image_augment_helper_v2.h" #include "module/camera_augment_helper_v2.h" #include "module/viewport_downloader.hpp" #include "render/render_tools.h" struct image_augment_helper_v2::impl { // TODO: make configurable static constexpr auto max_camera_y_axis_len = 3.f; image_augment_helper_v2 *q_this = nullptr; create_config conf; obj_conn_type img_conn; using fbo_conf_type = smart_frame_buffer::create_config; smart_texture remap_tex; std::unique_ptr cam_helper; fbo_conf_type fbo_aug_conf; smart_frame_buffer fbo_aug; fbo_conf_type fbo_conf; smart_frame_buffer fbo; color_image_render img_ren; std::unique_ptr img_down; image_ptr output_img; color_image_render out_ren; explicit impl(create_config conf); ~impl(); void img_callback(obj_name_type name); void set_camera_info(const camera_intrinsic_v0 &info); void render(); // render augment frame buffer void render_augment(); }; #endif //DEPTHGUIDE_IMAGE_AUGMENT_HELPER_V2_IMPL_H