子节点的位置与父节点位置的关系
当父节点旋转时,子节点旋转,父节点缩放时,子节点缩放。其实里面的计算原理很简单,就是父节点矩阵乘以子节点矩阵得到最终矩阵。
相关代码如下:
Mat4 Node::getNodeToParentTransform()
{
updateMatrix();
return _model;
}
Mat4 Node::transform(const Mat4& parentTransform)
{
Mat4 ret = this->getNodeToParentTransform();
ret = parentTransform * ret;
return ret;
}
void Engine::drawScene()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//生成渲染指令
if(_SceneManager.size() > 0)
{
Scene * scene = _SceneManager.back();
scene->visit(Mat4(1.f));
}
//优化渲染队列
Renderer::getInst