スポンサーリンク
C++の例が少ないので載せておく。
#include <Open3D/IO/ClassIO/TriangleMeshIO.h> #include<Open3D/Geometry/TriangleMesh.h> // 表示に必要 #include<Open3D/Visualization/Visualizer/Visualizer.h> // 表示に必要 #pragma comment(lib,"glew.lib") #pragma comment(lib,"glfw3.lib") #pragma comment(lib,"opengl32.lib") int main() { auto mesh = std::make_shared<open3d::geometry::TriangleMesh>(); open3d::io::ReadTriangleMeshFromPLY("bunny.ply",*mesh,true); //これがないとライトで照らせない mesh->ComputeTriangleNormals(true); open3d::visualization::Visualizer vis; vis.CreateVisualizerWindow("O3D"); //CreateVisualizerWindowを呼び出してからオブジェクトを登録 vis.AddGeometry(mesh); Eigen::Vector3d center = mesh->GetCenter(); // Change view open3d::visualization::ViewControl& view_control = vis.GetViewControl(); auto view_params = open3d::visualization::ViewParameters(); view_control.ConvertToViewParameters(view_params); view_params.front_ = Eigen::Vector3d(0, -1, 0); view_params.lookat_ = center; view_params.up_ = Eigen::Vector3d(0, 0, 1); //view_params.zoom_ = 1.0; view_control.ConvertFromViewParameters(view_params); // PollEventsはウィンドウが閉じられるときにfalseを返す while (vis.PollEvents() == true) { vis.UpdateGeometry(); vis.UpdateRender(); } vis.DestroyVisualizerWindow(); }