#include "pch.h" #include "app.h" #include "canvas.h" #include "renderer_gl/opengl_capabilities.h" namespace { [[nodiscard]] GLenum depth_test_state() noexcept { return static_cast(pp::renderer::gl::depth_test_state()); } [[nodiscard]] GLenum program_point_size_state() noexcept { return static_cast(pp::renderer::gl::program_point_size_state()); } [[nodiscard]] GLenum source_alpha_blend_factor() noexcept { return static_cast(pp::renderer::gl::source_alpha_blend_factor()); } [[nodiscard]] GLenum one_minus_source_alpha_blend_factor() noexcept { return static_cast(pp::renderer::gl::one_minus_source_alpha_blend_factor()); } [[nodiscard]] GLenum add_blend_equation() noexcept { return static_cast(pp::renderer::gl::add_blend_equation()); } } void App::cmd_convert(std::string pano_path, std::string out_path) { glDisable(depth_test_state()); glEnable(program_point_size_state()); glBlendFunc(source_alpha_blend_factor(), one_minus_source_alpha_blend_factor()); glBlendEquation(add_blend_equation()); Canvas* command_canvas = new Canvas; command_canvas->create(CANVAS_RES, CANVAS_RES); command_canvas->project_open_thread(pano_path); command_canvas->export_equirectangular_thread(out_path); }