44 readerID =
fbxManager->GetIOPluginRegistry()->FindReaderIDByDescription(
"FBX (*.fbx)");
58 return opened?eOpen:eClosed;
102 for (; i < size; i++) {
103 static_cast<uint8_t*
>(
data)[i] = (*this->data)[
position++];
127 void Seek(
const FbxInt64& offset,
const FbxFile::ESeekPos& seekPos) {
129 case FbxFile::eBegin:
132 case FbxFile::eCurrent:
173 const vector<uint8_t> *
data {
nullptr };
199 static Model*
read(
const string& pathName,
const string& fileName,
bool useBC7TextureCompression =
true);
241 static void processScene(FbxScene* fbxScene,
Model* model,
const string& pathName, vector<string>& possibleArmatureNodeIds,
bool useBC7TextureCompression);
252 static void processNode(FbxNode* fbxNode,
Model* model,
Node* parentNode,
const string& pathName, vector<string>& possibleArmatureNodeIds,
bool useBC7TextureCompression);
281 static void processAnimation(FbxNode* fbxNode,
const FbxTime& fbxStartFrame,
const FbxTime& fbxEndFrame,
Model* model,
int frameOffset);
Color 4 definition class.
virtual int GetError() const
void Seek(const FbxInt64 &offset, const FbxFile::ESeekPos &seekPos)
Seek.
virtual int GetReaderID() const
virtual bool Open(void *)
Open stream.
virtual bool Flush()
Flush.
virtual EState GetState()
virtual bool Close()
Close stream.
FBXReaderStream(FbxManager *fbxManager, const vector< uint8_t > *data)
Constructor.
virtual long GetPosition() const
virtual int GetWriterID() const
~FBXReaderStream()
Destructor.
virtual void ClearError()
Clear errors, which we dont support.
virtual int Read(void *data, int size) const
Read from stream.
virtual int Write(const void *data, int size)
Write to stream, which is currently not supported.
const vector< uint8_t > * data
virtual void SetPosition(long position)
Set position.
static void processScene(FbxScene *fbxScene, Model *model, const string &pathName, vector< string > &possibleArmatureNodeIds, bool useBC7TextureCompression)
Process FBX scene.
static constexpr float BLENDER_AMBIENT_FROM_DIFFUSE_SCALE
static void processNode(FbxNode *fbxNode, Model *model, Node *parentNode, const string &pathName, vector< string > &possibleArmatureNodeIds, bool useBC7TextureCompression)
Process FBX node.
static UpVector * getSceneUpVector(FbxScene *fbxScene)
Get scene up vector.
static Node * processSkeletonNode(FbxNode *fbxNode, Model *model, Node *parentNode, const string &pathName)
Process FBX skeleton node.
static constexpr float BLENDER_DIFFUSE_SCALE
static Node * processMeshNode(FbxNode *fbxNode, Model *model, Node *parentNode, const string &pathName, bool useBC7TextureCompression)
Process FBX mesh node.
static STATIC_DLL_IMPEXT const Color4 BLENDER_AMBIENT_NONE
static void setupModelScaleRotationMatrix(FbxScene *fbxScene, Model *model)
Set up model import scale maxtrix.
static void setupModelImportRotationMatrix(Model *model)
Set up model import rotation maxtrix.
static RotationOrder * getSceneRotationOrder(FbxScene *fbxScene)
Get scene rotation order.
static void processAnimation(FbxNode *fbxNode, const FbxTime &fbxStartFrame, const FbxTime &fbxEndFrame, Model *model, int frameOffset)
Process animation.
static Model * read(const string &pathName, const string &fileName, bool useBC7TextureCompression=true)
Reads FBX file.
Representation of a 3D model.
Represents rotation orders of a model.
#define STATIC_DLL_IMPEXT