mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 23:36:44 +02:00
Update OBJ/FBX bakers to inherit parent ctor
This commit is contained in:
parent
5c522d556b
commit
8c9c069a5c
5 changed files with 10 additions and 28 deletions
|
@ -33,13 +33,6 @@
|
||||||
|
|
||||||
#include "FBXBaker.h"
|
#include "FBXBaker.h"
|
||||||
|
|
||||||
FBXBaker::FBXBaker(const QUrl& fbxURL, TextureBakerThreadGetter textureThreadGetter,
|
|
||||||
const QString& bakedOutputDir, const QString& originalOutputDir) :
|
|
||||||
ModelBaker(fbxURL, textureThreadGetter, bakedOutputDir, originalOutputDir)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void FBXBaker::bake() {
|
void FBXBaker::bake() {
|
||||||
qDebug() << "FBXBaker" << _modelURL << "bake starting";
|
qDebug() << "FBXBaker" << _modelURL << "bake starting";
|
||||||
|
|
||||||
|
|
|
@ -33,8 +33,7 @@ using TextureBakerThreadGetter = std::function<QThread*()>;
|
||||||
class FBXBaker : public ModelBaker {
|
class FBXBaker : public ModelBaker {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
FBXBaker(const QUrl& fbxURL, TextureBakerThreadGetter textureThreadGetter,
|
using ModelBaker::ModelBaker;
|
||||||
const QString& bakedOutputDir, const QString& originalOutputDir = "");
|
|
||||||
|
|
||||||
QUrl getFBXUrl() const { return _modelURL; }
|
QUrl getFBXUrl() const { return _modelURL; }
|
||||||
QString getBakedFBXFilePath() const { return _bakedModelFilePath; }
|
QString getBakedFBXFilePath() const { return _bakedModelFilePath; }
|
||||||
|
|
|
@ -35,12 +35,15 @@ class ModelBaker : public Baker {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ModelBaker(const QUrl& inputModelURL, TextureBakerThreadGetter inputTextureThreadGetter,
|
ModelBaker(const QUrl& inputModelURL, TextureBakerThreadGetter inputTextureThreadGetter,
|
||||||
const QString& bakedOutputDirectory, const QString& originalOutputDirectory);
|
const QString& bakedOutputDirectory, const QString& originalOutputDirectory = "");
|
||||||
virtual ~ModelBaker();
|
virtual ~ModelBaker();
|
||||||
bool compressMesh(FBXMesh& mesh, bool hasDeformers, FBXNode& dracoMeshNode, getMaterialIDCallback materialIDCallback = NULL);
|
bool compressMesh(FBXMesh& mesh, bool hasDeformers, FBXNode& dracoMeshNode, getMaterialIDCallback materialIDCallback = NULL);
|
||||||
QByteArray* compressTexture(QString textureFileName, getTextureTypeCallback textureTypeCallback = NULL);
|
QByteArray* compressTexture(QString textureFileName, getTextureTypeCallback textureTypeCallback = NULL);
|
||||||
virtual void setWasAborted(bool wasAborted) override;
|
virtual void setWasAborted(bool wasAborted) override;
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
virtual void abort() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void checkIfTexturesFinished();
|
void checkIfTexturesFinished();
|
||||||
|
|
||||||
|
@ -52,9 +55,6 @@ protected:
|
||||||
QDir _modelTempDir;
|
QDir _modelTempDir;
|
||||||
QString _originalModelFilePath;
|
QString _originalModelFilePath;
|
||||||
|
|
||||||
public slots:
|
|
||||||
virtual void abort() override;
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void handleBakedTexture();
|
void handleBakedTexture();
|
||||||
void handleAbortedTexture();
|
void handleAbortedTexture();
|
||||||
|
|
|
@ -34,13 +34,6 @@ const QByteArray CONNECTIONS_NODE_PROPERTY = "OO";
|
||||||
const QByteArray CONNECTIONS_NODE_PROPERTY_1 = "OP";
|
const QByteArray CONNECTIONS_NODE_PROPERTY_1 = "OP";
|
||||||
const QByteArray MESH = "Mesh";
|
const QByteArray MESH = "Mesh";
|
||||||
|
|
||||||
OBJBaker::OBJBaker(const QUrl& objURL, TextureBakerThreadGetter textureThreadGetter,
|
|
||||||
const QString& bakedOutputDir, const QString& originalOutputDir) :
|
|
||||||
ModelBaker(objURL, textureThreadGetter, bakedOutputDir, originalOutputDir)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void OBJBaker::bake() {
|
void OBJBaker::bake() {
|
||||||
qDebug() << "OBJBaker" << _modelURL << "bake starting";
|
qDebug() << "OBJBaker" << _modelURL << "bake starting";
|
||||||
|
|
||||||
|
|
|
@ -23,14 +23,7 @@ using TextureBakerThreadGetter = std::function<QThread*()>;
|
||||||
class OBJBaker : public ModelBaker {
|
class OBJBaker : public ModelBaker {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
OBJBaker(const QUrl& objURL, TextureBakerThreadGetter textureThreadGetter,
|
using ModelBaker::ModelBaker;
|
||||||
const QString& bakedOutputDir, const QString& originalOutputDir = "");
|
|
||||||
void loadOBJ();
|
|
||||||
void createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry);
|
|
||||||
void setNodeProperties(FBXNode& parentNode);
|
|
||||||
void setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry);
|
|
||||||
template<typename N>
|
|
||||||
void setPropertiesList(std::vector<QByteArray>& stringProperties, std::vector<N>& numericProperties, QVariantList& propertiesList);
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
virtual void bake() override;
|
virtual void bake() override;
|
||||||
|
@ -43,6 +36,10 @@ private slots:
|
||||||
void handleOBJNetworkReply();
|
void handleOBJNetworkReply();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void loadOBJ();
|
||||||
|
void createFBXNodeTree(FBXNode& rootNode, FBXGeometry& geometry);
|
||||||
|
void setMaterialNodeProperties(FBXNode& materialNode, QString material, FBXGeometry& geometry);
|
||||||
|
|
||||||
qlonglong _nodeID = 0;
|
qlonglong _nodeID = 0;
|
||||||
qlonglong _geometryID;
|
qlonglong _geometryID;
|
||||||
qlonglong _modelID;
|
qlonglong _modelID;
|
||||||
|
|
Loading…
Reference in a new issue