I think I missunderstand how to correctly apply translation/scale/rotation to my model matrix.
My SceneNode has a Mat4 called "mTransform". I get translation to work as expected, but applying rotation and scaling somehow causes the mesh not to be rendered on the screen.
Scale/Translate/RotateTransform corresponds to the glm:: methods.
Am I correct in the way I do this?
void SceneNode::Scale(Vec3 scaleVec)
{
mTransform = ScaleTransform(mTransform, scaleVec);
}
void SceneNode::Translate(Vec3 translateVec)
{
mTransform = TranslateTransform(mTransform, translateVec);
}
void SceneNode::Rotate(Vec3 rotateVec, const float angle)
{
mTransform = RotateTransform(mTransform, angle, rotateVec);
}