summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/assimp/code/BlenderScene.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/assimp/code/BlenderScene.h')
-rw-r--r--src/3rdparty/assimp/code/BlenderScene.h78
1 files changed, 75 insertions, 3 deletions
diff --git a/src/3rdparty/assimp/code/BlenderScene.h b/src/3rdparty/assimp/code/BlenderScene.h
index a3a4920bb..37ad282f3 100644
--- a/src/3rdparty/assimp/code/BlenderScene.h
+++ b/src/3rdparty/assimp/code/BlenderScene.h
@@ -94,6 +94,7 @@ namespace Assimp {
struct Object;
struct MTex;
+struct Image;
#define AI_BLEND_MESH_MAX_VERTS 2000000000L
@@ -157,6 +158,38 @@ struct MEdge : ElemBase {
};
// -------------------------------------------------------------------------------
+struct MLoop : ElemBase {
+ int v, e;
+};
+
+// -------------------------------------------------------------------------------
+struct MLoopUV : ElemBase {
+ float uv[2];
+ int flag;
+};
+
+// -------------------------------------------------------------------------------
+// Note that red and blue are not swapped, as with MCol
+struct MLoopCol : ElemBase {
+ char r, g, b, a;
+};
+
+// -------------------------------------------------------------------------------
+struct MPoly : ElemBase {
+ int loopstart;
+ int totloop;
+ short mat_nr;
+ char flag;
+};
+
+// -------------------------------------------------------------------------------
+struct MTexPoly : ElemBase {
+ Image* tpage;
+ char flag, transp;
+ short mode, tile, pad;
+};
+
+// -------------------------------------------------------------------------------
struct MCol : ElemBase {
char r,g,b,a FAIL;
};
@@ -235,6 +268,8 @@ struct Mesh : ElemBase {
int totface FAIL;
int totedge FAIL;
int totvert FAIL;
+ int totloop;
+ int totpoly;
short subdiv;
short subdivr;
@@ -246,6 +281,11 @@ struct Mesh : ElemBase {
vector<TFace> tface;
vector<MVert> mvert FAIL;
vector<MEdge> medge WARN;
+ vector<MLoop> mloop;
+ vector<MLoopUV> mloopuv;
+ vector<MLoopCol> mloopcol;
+ vector<MPoly> mpoly;
+ vector<MTexPoly> mtpoly;
vector<MDeformVert> dvert;
vector<MCol> mcol;
@@ -558,6 +598,18 @@ struct Tex : ElemBase {
,Type_VOXELDATA = 15
};
+ enum ImageFlags {
+ ImageFlags_INTERPOL = 1
+ ,ImageFlags_USEALPHA = 2
+ ,ImageFlags_MIPMAP = 4
+ ,ImageFlags_IMAROT = 16
+ ,ImageFlags_CALCALPHA = 32
+ ,ImageFlags_NORMALMAP = 2048
+ ,ImageFlags_GAUSS_MIP = 4096
+ ,ImageFlags_FILTER_MIN = 8192
+ ,ImageFlags_DERIVATIVEMAP = 16384
+ };
+
ID id FAIL;
// AnimData *adt;
@@ -578,7 +630,8 @@ struct Tex : ElemBase {
//short noisedepth, noisetype;
//short noisebasis, noisebasis2;
- //short imaflag, flag;
+ //short flag;
+ ImageFlags imaflag;
Type type FAIL;
//short stype;
@@ -645,7 +698,25 @@ struct MTex : ElemBase {
,BlendType_BLEND_COLOR = 13
};
- // short texco, mapto, maptoneg;
+ enum MapType {
+ MapType_COL = 1
+ ,MapType_NORM = 2
+ ,MapType_COLSPEC = 4
+ ,MapType_COLMIR = 8
+ ,MapType_REF = 16
+ ,MapType_SPEC = 32
+ ,MapType_EMIT = 64
+ ,MapType_ALPHA = 128
+ ,MapType_HAR = 256
+ ,MapType_RAYMIRR = 512
+ ,MapType_TRANSLU = 1024
+ ,MapType_AMB = 2048
+ ,MapType_DISPLACE = 4096
+ ,MapType_WARP = 8192
+ };
+
+ // short texco, maptoneg;
+ MapType mapto;
BlendType blendtype;
boost::shared_ptr<Object> object;
@@ -665,7 +736,8 @@ struct MTex : ElemBase {
//float colfac, varfac;
- //float norfac, dispfac, warpfac;
+ float norfac;
+ //float dispfac, warpfac;
float colspecfac, mirrfac, alphafac;
float difffac, specfac, emitfac, hardfac;
//float raymirrfac, translfac, ambfac;