我需要在其地形上加载建筑物,该建筑物可用作两个不同的.obj文件。
当我加载文件时,它们是重叠的。如何调整两个不同的模型,使建筑物完全位于地形之上。
注意:4582420.obj是构建文件和 4582421.obj是地形文件
用于加载obj模型的代码片段如下所示
//加载obj模型。
for ( int i = 0; i < 2; i++ )
{
char objName[ 256 ];
char mtlName[ 256 ];
sprintf_s( objName, "models/sampleA/%d.obj", 4582420 + i );
std::ifstream ifs( objName );
if ( ifs.is_open() )
{
sprintf_s( mtlName, "models/sampleA/%d.mtl", 4582420 + i );
CObjLoader* pObjMesh = new CObjLoader();
pObjMesh->Load( offset, objName, mtlName );
// if open is ok, the obj model will be pushed into gObjs.
gObjs.push_back( pObjMesh );
}
}
答案 0 :(得分:0)
您使用什么程序进行渲染?通常,您必须提供包含每个对象的缩放,旋转和平移的变换矩阵。然后将对象的每个顶点乘以变换矩阵以确定其在世界空间中的位置。这就是所谓的世界空间转换对象空间。