在COLLADA.dae文件中,我需要哪些信息来缩放opengl的三维模型?

在COLLADA.dae文件中,我需要哪些信息来缩放opengl的三维模型?,opengl,scale,vertices,Opengl,Scale,Vertices,对象的顶点和法线都作为浮动存储在COLLADA文件中,我可以从google sketchup导出。我希望获得信息,告诉我浮子的每个单位是多少,以米为单位,但似乎找不到它。我看到我在下面包含的COLLADA文件中有一个矩阵,根据文件中的顶点值范围和绘制模型的sketchup应用程序中使用的测量值,1.968504值看起来可疑,但它似乎是一种翻译,因为显然Colld使用行主格式,所以1.968504是x翻译。我还注意到xml中有一个名为unit的元素,它可能是相关的,但我不知道该使用什么:/ 理想情

对象的顶点和法线都作为浮动存储在COLLADA文件中,我可以从google sketchup导出。我希望获得信息,告诉我浮子的每个单位是多少,以米为单位,但似乎找不到它。我看到我在下面包含的COLLADA文件中有一个矩阵,根据文件中的顶点值范围和绘制模型的sketchup应用程序中使用的测量值,1.968504值看起来可疑,但它似乎是一种翻译,因为显然Colld使用行主格式,所以1.968504是x翻译。我还注意到xml中有一个名为unit的元素,它可能是相关的,但我不知道该使用什么:/

理想情况下,我需要知道每个维度中一个仪表与一个浮点数单位之间的常数,我需要缩放所有值,如果我理解了文件中需要的信息,我可能会想出如何做:/

这是矩阵xml元素:

<node id="ID2" name="instance_0">
        <matrix>1 0 0 1.968504 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
        <instance_node url="#ID3" />
</node>
   <unit meter="0.0254" name="inch" />

1 0 0 1.968504 0 1 0 0 0 0 1 0 0 0 0 1
这是单位xml元素:

<node id="ID2" name="instance_0">
        <matrix>1 0 0 1.968504 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
        <instance_node url="#ID3" />
</node>
   <unit meter="0.0254" name="inch" />

这16个数字是一个4x4矩阵,它结合了有关平移、旋转和缩放的信息。如果
m
如果是矩阵,则比例向量为,使用GLM作为表示法:

glm::vec3 scale=glm::vec3(glm::length(glm::vec3(m[0][0],m[0][1],m[0][2])),
glm::length(glm::vec3(m[1][0],m[1][1],m[1][2]),
glm::length(glm::vec3(m[2][0],m[2][1],m[2][2]);

这是一个三分量向量,因为每个轴的缩放可能不同

我希望缩放对象,使其适合opengl使用的-1到1范围,并存储告诉我浮动与实际尺寸(以米为单位)相关的常数的信息