Files
Michael Fabian 'Xaymar' Dirks 2196cb8419 runtime: Formatting
2019-01-18 17:04:17 +01:00

34 lines
765 B
C++

#include "skinmodel.hpp"
#include "std.hpp"
SkinModel::SkinModel()
{
setRenderSpace(RENDER_SPACE_WORLD);
}
void SkinModel::setBones(const vector<Object*>& bones)
{
_bones = bones;
_surf_bones.resize(_bones.size());
}
void SkinModel::render(const RenderContext& rc)
{
int k;
for (k = 0; k < _bones.size(); ++k) {
Object* obj = _bones[k];
_surf_bones[k].coord_tform = obj->getRenderTform();
_surf_bones[k].normal_tform = _surf_bones[k].coord_tform.m.cofactor();
}
const MeshModel::SurfaceList& _surfs = getSurfaces();
for (k = 0; k < _surfs.size(); ++k) {
Surface* surf = _surfs[k];
if (gxMesh* mesh = surf->getMesh(_surf_bones)) {
enqueue(mesh, 0, surf->numVertices(), 0, surf->numTriangles(), surf->getBrush());
}
}
}