mirror of
https://github.com/overte-org/overte.git
synced 2025-04-22 04:24:08 +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
libraries/baking/src
|
@ -200,9 +200,9 @@ void OBJBaker::createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry) {
|
|||
FBXNode geometryNode;
|
||||
geometryNode.name = GEOMETRY_NODE_NAME;
|
||||
{
|
||||
_geometryID = _nodeID;
|
||||
_geometryID = nextNodeID();
|
||||
geometryNode.properties = {
|
||||
_nodeID++,
|
||||
_geometryID,
|
||||
GEOMETRY_NODE_NAME,
|
||||
MESH
|
||||
};
|
||||
|
@ -218,8 +218,8 @@ void OBJBaker::createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry) {
|
|||
FBXNode modelNode;
|
||||
modelNode.name = MODEL_NODE_NAME;
|
||||
{
|
||||
_modelID = _nodeID++;
|
||||
modelNode.properties = { _nodeID, MODEL_NODE_NAME, MESH };
|
||||
_modelID = nextNodeID();
|
||||
modelNode.properties = { _modelID, MODEL_NODE_NAME, MESH };
|
||||
}
|
||||
|
||||
_objectNode.children = { geometryNode, modelNode };
|
||||
|
@ -248,13 +248,13 @@ void OBJBaker::createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry) {
|
|||
QString material = meshParts[i].materialID;
|
||||
FBXMaterial currentMaterial = geometry.materials[material];
|
||||
if (!currentMaterial.albedoTexture.filename.isEmpty() || !currentMaterial.specularTexture.filename.isEmpty()) {
|
||||
_textureID = _nodeID;
|
||||
_textureID = nextNodeID();
|
||||
_mapTextureMaterial.emplace_back(_textureID, i);
|
||||
|
||||
FBXNode textureNode;
|
||||
{
|
||||
textureNode.name = TEXTURE_NODE_NAME;
|
||||
textureNode.properties = { _nodeID++ };
|
||||
textureNode.properties = { _textureID };
|
||||
}
|
||||
|
||||
// Texture node child - TextureName node
|
||||
|
@ -336,7 +336,7 @@ void OBJBaker::createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry) {
|
|||
|
||||
// Set properties for material nodes
|
||||
void OBJBaker::setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry) {
|
||||
auto materialID = _nodeID++;
|
||||
auto materialID = nextNodeID();
|
||||
_materialIDs.push_back(materialID);
|
||||
materialNode.properties = { materialID, material, MESH };
|
||||
|
||||
|
|
|
@ -20,8 +20,7 @@
|
|||
|
||||
using TextureBakerThreadGetter = std::function<QThread*()>;
|
||||
|
||||
using TextureID = qlonglong;
|
||||
using MaterialID = qlonglong;
|
||||
using NodeID = qlonglong;
|
||||
|
||||
class OBJBaker : public ModelBaker {
|
||||
Q_OBJECT
|
||||
|
@ -42,13 +41,14 @@ private:
|
|||
void loadOBJ();
|
||||
void createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry);
|
||||
void setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry);
|
||||
NodeID nextNodeID() { return _nodeID++; }
|
||||
|
||||
qlonglong _nodeID = 0;
|
||||
qlonglong _geometryID;
|
||||
qlonglong _modelID;
|
||||
std::vector<MaterialID> _materialIDs;
|
||||
qlonglong _textureID;
|
||||
std::vector<std::pair<TextureID, int>> _mapTextureMaterial;
|
||||
NodeID _nodeID { 0 };
|
||||
NodeID _geometryID;
|
||||
NodeID _modelID;
|
||||
std::vector<NodeID> _materialIDs;
|
||||
NodeID _textureID;
|
||||
std::vector<std::pair<NodeID, int>> _mapTextureMaterial;
|
||||
FBXNode _objectNode;
|
||||
};
|
||||
#endif // hifi_OBJBaker_h
|
||||
|
|
Loading…
Reference in a new issue