Moved skinning to algorithms

Former-commit-id: ab31467438f55e8381daa8f238c201c46ba96f52
This commit is contained in:
Lynix
2014-06-21 16:21:33 +02:00
parent c8ae34f20b
commit 5310c8b0d6
4 changed files with 119 additions and 177 deletions

View File

@@ -14,6 +14,16 @@
#include <Nazara/Math/Vector3.hpp>
#include <Nazara/Utility/IndexIterator.hpp>
#include <Nazara/Utility/Mesh.hpp>
#include <Nazara/Utility/SkeletalMesh.hpp>
struct NzSkinningData
{
const NzJoint* joints;
const NzMeshVertex* inputVertex;
NzMeshVertex* outputVertex;
const NzVertexWeight* vertexWeights;
const NzWeight* weights;
};
NAZARA_API void NzComputeBoxIndexVertexCount(const NzVector3ui& subdivision, unsigned int* indexCount, unsigned int* vertexCount);
NAZARA_API unsigned int NzComputeCacheMissCount(NzIndexIterator indices, unsigned int indexCount);
@@ -33,6 +43,10 @@ NAZARA_API void NzGenerateUvSphere(float size, unsigned int sliceCount, unsigned
NAZARA_API void NzOptimizeIndices(NzIndexIterator indices, unsigned int indexCount);
NAZARA_API void NzSkinPosition(const NzSkinningData& data, unsigned int startVertex, unsigned int vertexCount);
NAZARA_API void NzSkinPositionNormal(const NzSkinningData& data, unsigned int startVertex, unsigned int vertexCount);
NAZARA_API void NzSkinPositionNormalTangent(const NzSkinningData& data, unsigned int startVertex, unsigned int vertexCount);
template<typename T> void NzTransformVertices(T* vertices, unsigned int vertexCount, const NzMatrix4f& matrix);
#include <Nazara/Utility/Algorithm.inl>

View File

@@ -55,9 +55,6 @@ class NAZARA_API NzSkeletalMesh final : public NzSubMesh
bool IsAnimated() const final;
bool IsValid() const;
void Skin(NzMeshVertex* outputBuffer) const;
void Skin(NzMeshVertex* outputBuffer, const NzSkeleton* skeleton) const;
void SetIndexBuffer(const NzIndexBuffer* indexBuffer);
private: