47 lines
1.3 KiB
C++
47 lines
1.3 KiB
C++
#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<GLenum>(pp::renderer::gl::depth_test_state());
|
|
}
|
|
|
|
[[nodiscard]] GLenum program_point_size_state() noexcept
|
|
{
|
|
return static_cast<GLenum>(pp::renderer::gl::program_point_size_state());
|
|
}
|
|
|
|
[[nodiscard]] GLenum source_alpha_blend_factor() noexcept
|
|
{
|
|
return static_cast<GLenum>(pp::renderer::gl::source_alpha_blend_factor());
|
|
}
|
|
|
|
[[nodiscard]] GLenum one_minus_source_alpha_blend_factor() noexcept
|
|
{
|
|
return static_cast<GLenum>(pp::renderer::gl::one_minus_source_alpha_blend_factor());
|
|
}
|
|
|
|
[[nodiscard]] GLenum add_blend_equation() noexcept
|
|
{
|
|
return static_cast<GLenum>(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);
|
|
}
|