john_connor

08-27-2017, 03:34 AM

hey,

i get weird results. currently i have the following:

struct CTransformation {

vec3 Position = vec3(0, 0, 0);

quat Rotation= quat (1, 0, 0, 0);

vec3 Size = vec3(1, 1, 1);

mat4 Matrix () const { return translate(Position) * toMat4(Rotation) * scale(Size ); }

};

i've read that if i keep the scale vector in the transform matrix, then i can scale whole models with just 1 matrix applied. the problem is when i have skeletons made up of several meshes with each a separate scale matrix, then the result looks not as it looks like in blender.

so:

is it wrong to keep the "vec3 Size;" within the transform matrix ?

should i instead keep it in a separate variable to only scale each mesh of the current node with it ?

i'm confused because assimp doesnt structure it like that ..

i get weird results. currently i have the following:

struct CTransformation {

vec3 Position = vec3(0, 0, 0);

quat Rotation= quat (1, 0, 0, 0);

vec3 Size = vec3(1, 1, 1);

mat4 Matrix () const { return translate(Position) * toMat4(Rotation) * scale(Size ); }

};

i've read that if i keep the scale vector in the transform matrix, then i can scale whole models with just 1 matrix applied. the problem is when i have skeletons made up of several meshes with each a separate scale matrix, then the result looks not as it looks like in blender.

so:

is it wrong to keep the "vec3 Size;" within the transform matrix ?

should i instead keep it in a separate variable to only scale each mesh of the current node with it ?

i'm confused because assimp doesnt structure it like that ..