19 Load(filesystem, assetPath);
30 glm::vec4 base_color_factor = glm::vec4(1.0f);
34 node[
"baseColorTexture"] << material.base_color_texture;
37 factorNode.SetType(NodeType::Array);
38 auto& factorProperties = factorNode.GetProperties();
39 factorProperties.clear();
40 for (
int index = 0; index < 4; ++index)
43 componentNode << material.base_color_factor[index];
44 factorProperties.emplace_back(
"", std::move(componentNode));
46 node[
"baseColorFactor"] = std::move(factorNode);
52 if (node.HasProperty(
"baseColorTexture"))
54 node[
"baseColorTexture"] >> material.base_color_texture;
57 if (node.HasProperty(
"baseColorFactor"))
59 const Node& factorNode = node[
"baseColorFactor"];
60 ASSERT(factorNode.GetType() == NodeType::Array,
"material baseColorFactor must be an array");
61 const auto& factorProperties = factorNode.GetProperties();
62 ASSERT(factorProperties.size() >= 4,
"material baseColorFactor requires four components");
63 for (
int index = 0; index < 4; ++index)
65 factorProperties[index].second >> material.base_color_factor[index];