This commit is contained in:
D4ve-R
2023-05-17 16:12:48 +02:00
parent da8d19b37f
commit 7a54b5efdc
2 changed files with 4 additions and 9 deletions
+3 -8
View File
@@ -44,7 +44,9 @@ USDSerializer::USDSerializer(const std::string& out_filename, const SerializerSe
auto world = pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World")); auto world = pxr::UsdGeomXform::Define(stage_, pxr::SdfPath("/World"));
stage_->SetDefaultPrim(world.GetPrim()); stage_->SetDefaultPrim(world.GetPrim());
pxr::UsdGeomScope::Define(stage_, pxr::SdfPath("/Looks")); pxr::UsdGeomScope::Define(stage_, pxr::SdfPath("/Looks"));
createLighting(); auto light = pxr::UsdLuxDistantLight::Define(stage_, pxr::SdfPath("/defaultLight"));
light.CreateIntensityAttr().Set(1000.0f);
light.CreateColorAttr().Set(pxr::GfVec3f(1.0f, 1.0f, 1.0f));
ready_ = true; ready_ = true;
} }
@@ -52,13 +54,6 @@ USDSerializer::~USDSerializer() {
} }
void USDSerializer::createLighting() {
const std::string& light_path = "/World/defaultLight";
auto light = pxr::UsdLuxDistantLight::Define(stage_, pxr::SdfPath(light_path));
light.CreateIntensityAttr().Set(1000.0f);
light.CreateColorAttr().Set(pxr::GfVec3f(1.0f, 1.0f, 1.0f));
}
std::vector<pxr::UsdShadeMaterial> USDSerializer::createMaterials(const std::vector<IfcGeom::Material>& styles) std::vector<pxr::UsdShadeMaterial> USDSerializer::createMaterials(const std::vector<IfcGeom::Material>& styles)
{ {
if(styles.empty()) if(styles.empty())
+1 -1
View File
@@ -41,6 +41,7 @@
#include <map> #include <map>
namespace usd_utils { namespace usd_utils {
// creates a valid USD path from a string
inline std::string toPath(std::string& s) { inline std::string toPath(std::string& s) {
std::replace_if(s.begin(), s.end(), std::replace_if(s.begin(), s.end(),
[](char c) { return c < 48 || (c < 65 && c > 57) || (c < 97 && c > 90) || c > 122; }, [](char c) { return c < 48 || (c < 65 && c > 57) || (c < 97 && c > 90) || c > 122; },
@@ -65,7 +66,6 @@ private:
std::map<std::string, pxr::UsdShadeMaterial> materials_; std::map<std::string, pxr::UsdShadeMaterial> materials_;
std::vector<pxr::UsdShadeMaterial> createMaterials(const std::vector<IfcGeom::Material>&); std::vector<pxr::UsdShadeMaterial> createMaterials(const std::vector<IfcGeom::Material>&);
void createLighting();
public: public:
USDSerializer(const std::string&, const SerializerSettings&); USDSerializer(const std::string&, const SerializerSettings&);
virtual ~USDSerializer(); virtual ~USDSerializer();