void ModelStatic::calculateBoundingBox(AABB& box) { zeq_model_proto_t* proto = getModelPrototype(); if (!proto) return; Mat4 matrix = getModelMatrix(); Vec3 pos; for (VertexBuffer* vb : proto->getVertexBuffers()) { for (Vertex& vert : *vb) { matrix.transformVector(pos, vert.pos); box.addInternalPoint(pos); } } for (VertexBuffer* vb : proto->getVertexBuffersNoCollide()) { for (Vertex& vert : *vb) { matrix.transformVector(pos, vert.pos); box.addInternalPoint(pos); } } }
void mxRenderMesh::ComputeBoundingBox( AABB &bbox ) const { bbox.reset( 0.0f, 0.0f, 0.0f ); for ( u32 i = 0; i < GetVertexCount(); i++ ) { bbox.addInternalPoint( GetPos( i ) ); } }