ScummVM API documentation
skin_mesh_helper.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22/*
23 * This file is based on WME.
24 * http://dead-code.org/redir.php?target=wme
25 * Copyright (c) 2003-2013 Jan Nedoma and contributors
26 */
27
28#ifndef WINTERMUTE_SKIN_MESH_HELPER_H
29#define WINTERMUTE_SKIN_MESH_HELPER_H
30
31#include "engines/wintermute/base/gfx/xmath.h"
32
33namespace Wintermute {
34
35class XMesh;
36class XMeshOpenGL;
37class XMeshOpenGLShader;
38class DXMesh;
39class DXSkinInfo;
40
42 friend class XMesh;
43 friend class XMeshOpenGL;
44 friend class XMeshOpenGLShader;
45
46public:
47 SkinMeshHelper(DXMesh *mesh, DXSkinInfo *skinInfo);
48 virtual ~SkinMeshHelper();
49
50 uint getNumFaces();
51 uint getNumBones();
52 bool getOriginalMesh(DXMesh **mesh);
53 bool generateSkinnedMesh(uint32 *adjacencyOut, DXMesh **mesh);
54 bool updateSkinnedMesh(const DXMatrix *boneTransforms, DXMesh *mesh);
55 const char *getBoneName(uint32 boneIndex);
56 DXMatrix *getBoneOffsetMatrix(uint32 boneIndex);
57
58private:
59 DXMesh *_mesh;
60 DXSkinInfo *_skinInfo;
61};
62
63} // namespace Wintermute
64
65#endif
Definition: xskinmesh.h:127
Definition: xskinmesh.h:107
Definition: skin_mesh_helper.h:41
Definition: xmesh.h:48
Definition: xmath.h:139