mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 14:29:03 +02:00
Replace Texture/MaterialID in OBJBaker with NodeID
This commit is contained in:
parent
373b29c031
commit
53ce137b7c
2 changed files with 15 additions and 15 deletions
|
@ -200,9 +200,9 @@ void OBJBaker::createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry) {
|
||||||
FBXNode geometryNode;
|
FBXNode geometryNode;
|
||||||
geometryNode.name = GEOMETRY_NODE_NAME;
|
geometryNode.name = GEOMETRY_NODE_NAME;
|
||||||
{
|
{
|
||||||
_geometryID = _nodeID;
|
_geometryID = nextNodeID();
|
||||||
geometryNode.properties = {
|
geometryNode.properties = {
|
||||||
_nodeID++,
|
_geometryID,
|
||||||
GEOMETRY_NODE_NAME,
|
GEOMETRY_NODE_NAME,
|
||||||
MESH
|
MESH
|
||||||
};
|
};
|
||||||
|
@ -218,8 +218,8 @@ void OBJBaker::createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry) {
|
||||||
FBXNode modelNode;
|
FBXNode modelNode;
|
||||||
modelNode.name = MODEL_NODE_NAME;
|
modelNode.name = MODEL_NODE_NAME;
|
||||||
{
|
{
|
||||||
_modelID = _nodeID++;
|
_modelID = nextNodeID();
|
||||||
modelNode.properties = { _nodeID, MODEL_NODE_NAME, MESH };
|
modelNode.properties = { _modelID, MODEL_NODE_NAME, MESH };
|
||||||
}
|
}
|
||||||
|
|
||||||
_objectNode.children = { geometryNode, modelNode };
|
_objectNode.children = { geometryNode, modelNode };
|
||||||
|
@ -248,13 +248,13 @@ void OBJBaker::createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry) {
|
||||||
QString material = meshParts[i].materialID;
|
QString material = meshParts[i].materialID;
|
||||||
FBXMaterial currentMaterial = geometry.materials[material];
|
FBXMaterial currentMaterial = geometry.materials[material];
|
||||||
if (!currentMaterial.albedoTexture.filename.isEmpty() || !currentMaterial.specularTexture.filename.isEmpty()) {
|
if (!currentMaterial.albedoTexture.filename.isEmpty() || !currentMaterial.specularTexture.filename.isEmpty()) {
|
||||||
_textureID = _nodeID;
|
_textureID = nextNodeID();
|
||||||
_mapTextureMaterial.emplace_back(_textureID, i);
|
_mapTextureMaterial.emplace_back(_textureID, i);
|
||||||
|
|
||||||
FBXNode textureNode;
|
FBXNode textureNode;
|
||||||
{
|
{
|
||||||
textureNode.name = TEXTURE_NODE_NAME;
|
textureNode.name = TEXTURE_NODE_NAME;
|
||||||
textureNode.properties = { _nodeID++ };
|
textureNode.properties = { _textureID };
|
||||||
}
|
}
|
||||||
|
|
||||||
// Texture node child - TextureName node
|
// Texture node child - TextureName node
|
||||||
|
@ -336,7 +336,7 @@ void OBJBaker::createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry) {
|
||||||
|
|
||||||
// Set properties for material nodes
|
// Set properties for material nodes
|
||||||
void OBJBaker::setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry) {
|
void OBJBaker::setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry) {
|
||||||
auto materialID = _nodeID++;
|
auto materialID = nextNodeID();
|
||||||
_materialIDs.push_back(materialID);
|
_materialIDs.push_back(materialID);
|
||||||
materialNode.properties = { materialID, material, MESH };
|
materialNode.properties = { materialID, material, MESH };
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,7 @@
|
||||||
|
|
||||||
using TextureBakerThreadGetter = std::function<QThread*()>;
|
using TextureBakerThreadGetter = std::function<QThread*()>;
|
||||||
|
|
||||||
using TextureID = qlonglong;
|
using NodeID = qlonglong;
|
||||||
using MaterialID = qlonglong;
|
|
||||||
|
|
||||||
class OBJBaker : public ModelBaker {
|
class OBJBaker : public ModelBaker {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -42,13 +41,14 @@ private:
|
||||||
void loadOBJ();
|
void loadOBJ();
|
||||||
void createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry);
|
void createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry);
|
||||||
void setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry);
|
void setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry);
|
||||||
|
NodeID nextNodeID() { return _nodeID++; }
|
||||||
|
|
||||||
qlonglong _nodeID = 0;
|
NodeID _nodeID { 0 };
|
||||||
qlonglong _geometryID;
|
NodeID _geometryID;
|
||||||
qlonglong _modelID;
|
NodeID _modelID;
|
||||||
std::vector<MaterialID> _materialIDs;
|
std::vector<NodeID> _materialIDs;
|
||||||
qlonglong _textureID;
|
NodeID _textureID;
|
||||||
std::vector<std::pair<TextureID, int>> _mapTextureMaterial;
|
std::vector<std::pair<NodeID, int>> _mapTextureMaterial;
|
||||||
FBXNode _objectNode;
|
FBXNode _objectNode;
|
||||||
};
|
};
|
||||||
#endif // hifi_OBJBaker_h
|
#endif // hifi_OBJBaker_h
|
||||||
|
|
Loading…
Reference in a new issue