12 #include <mrpt/core/get_env.h> 13 #include <mrpt/system/filesystem.h> 14 #include <mrpt/version.h> 19 using namespace mvsim;
28 const std::string& localFileName,
const Options& options)
31 if (
auto it =
cache.find(localFileName); it !=
cache.end())
35 auto m =
cache[localFileName] = mrpt::opengl::CAssimpModel::Create();
37 ASSERT_FILE_EXISTS_(localFileName);
40 int loadFlags = mrpt::opengl::CAssimpModel::LoadFlags::RealTimeMaxQuality |
41 mrpt::opengl::CAssimpModel::LoadFlags::FlipUVs;
43 if (options.
modelColor != mrpt::img::TColor::white())
44 loadFlags |= mrpt::opengl::CAssimpModel::LoadFlags::IgnoreMaterialColor;
48 if (mrpt::get_env<bool>(
"MVSIM_LOAD_MODELS_VERBOSE",
false))
49 loadFlags |= mrpt::opengl::CAssimpModel::LoadFlags::Verbose;
51 m->loadScene(localFileName, loadFlags);
53 m->cullFaces(mrpt::typemeta::TEnumType<mrpt::opengl::TCullFace>::name2value(
static ModelsCache & Instance()
mrpt::img::TColor modelColor
std::map< std::string, mrpt::opengl::CAssimpModel::Ptr > cache
mrpt::opengl::CAssimpModel::Ptr get(const std::string &url, const Options &options)