OpenGL父子系统

问题描述

我的目标是工作亲子系统。我应该将子矩阵乘以父矩阵。但是让我们看看我的例子发生了什么:

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

Parent Model Matrix

Child Model Matrix here

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

ChildUpdate()
{
    Matrix4 result = child.modelMatrix * parent.modelMatrix; //new child model matrix
}

这是问题所在。如果我将两个矩阵相乘,结果将变得疯狂。结果矩阵的规模和转换值是如此之大。因为父子矩阵的大小(比例)值太大。我的比例尺值应该被标准化,但是我的投影与1024x768坐标系兼容。与规范化值不兼容。

所以我的问题是,如何制作父子系统?我认为我已经在互联网上对此主题进行了足够的研究,但我一直坚持这一点。我想念什么吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)