Matrix OpenGL父子系统

Matrix OpenGL父子系统,matrix,graphics,3d,transformation,scenegraph,Matrix,Graphics,3d,Transformation,Scenegraph,我的目标是建立亲子关系。我应该将子矩阵乘以父矩阵。但让我们看看我的例子: Matrix4 parent = Identify(1); parent.position(10, 10, 0); //x=10; y=10; z=0; parent.scale(40, 40, 0); //x=40; y=40; z=0; Window_Resolution:1024x768 这个物体呈现得非常完美。现在让我们看看子对象 Matrix4 child= Identify(1); c

我的目标是建立亲子关系。我应该将子矩阵乘以父矩阵。但让我们看看我的例子:

Matrix4 parent = Identify(1);
parent.position(10, 10, 0);  //x=10; y=10; z=0;
parent.scale(40, 40, 0);     //x=40; y=40; z=0;        Window_Resolution:1024x768
这个物体呈现得非常完美。现在让我们看看子对象

Matrix4 child= Identify(1);
child.position(30, 30, 0);  //x=30; y=30; z=0;
child.scale(20, 20, 0);     //x=20; y=20; z=0;        Window_Resolution:1024x768

这些对象在没有父子对象的情况下可以完美地工作。现在让我们看一些关于父子关系的代码

ChildUpdate()
{
    Matrix4 result = child.modelMatrix * parent.modelMatrix; //new child model matrix
}
问题就在这里。若我把两个矩阵相乘,结果会变得疯狂。结果矩阵的规模和变换值太大了。因为父子矩阵的大小(比例)值太大了。我的比例值应该标准化,但我的投影与1024x768坐标系兼容。与规范化值不兼容

所以我的问题是,我如何建立亲子系统?我想我在互联网上对这个问题做了足够的研究,但我一直坚持这一点。我错过什么了吗