版权声明:未经同意,不能用于商业用途,版权归本博主所有 https://blog.csdn.net/qq_16123279/article/details/82996870
IRenderNode** pTestRenderNode = nullptr;
uint32 count = gEnv->p3DEngine->GetObjectsByType(EERType::eERType_Brush, pTestRenderNode);
if (count != 0)
{
IStatObj* pObj = pTestRenderNode[0]->GetEntityStatObj();
IRenderMesh* pRM = pStatObj->GetRenderMesh();
if (pRM)
{
IIndexedMesh* pIM = pRM->GetIndexedMesh();
CMesh* pMesh = pIM->GetMesh();
//读出模型信息
Vec3* pVertices0 = pMesh->GetStreamPtr<Vec3>(CMesh::POSITIONS);
vtx_idx* pIndices0 = pMesh->GetStreamPtr<vtx_idx>(CMesh::INDICES);
SMeshTexCoord* pTexCoords0 = pMesh->GetStreamPtr<SMeshTexCoord>(CMesh::TEXCOORDS);
SMeshTangents* pTangents = pMesh->GetStreamPtr<SMeshTangents>(CMesh::TANGENTS);
SMeshColor* pColor0 = pMesh->GetStreamPtr<SMeshColor>(CMesh::COLORS_0);
SMeshColor* pColor1 = pMesh->GetStreamPtr<SMeshColor>(CMesh::COLORS_1);
}
}
获取的都是数据的首地址,所以只再知道数据的size就能一个个提取出来了,size一般直接从mesh对象就可以Get到