Added non-constant access to vertex buffer
Former-commit-id: c0fea611caf6fb48bd0b2ed56897c173f7acad41
This commit is contained in:
parent
6fefa3fdd2
commit
c73d10ab29
|
|
@ -31,6 +31,7 @@ class NAZARA_API NzKeyframeMesh final : public NzSubMesh
|
|||
unsigned int GetFrameCount() const;
|
||||
const NzIndexBuffer* GetIndexBuffer() const override;
|
||||
void GetVertex(unsigned int frameIndex, unsigned int vertexIndex, NzMeshVertex* dest) const;
|
||||
NzVertexBuffer* GetVertexBuffer() override;
|
||||
const NzVertexBuffer* GetVertexBuffer() const override;
|
||||
|
||||
void Interpolate(const NzAnimation* animation, unsigned int frameA, unsigned int frameB, float interpolation) const;
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ class NAZARA_API NzSkeletalMesh final : public NzSubMesh
|
|||
void* GetBindPoseBuffer();
|
||||
const void* GetBindPoseBuffer() const;
|
||||
const NzIndexBuffer* GetIndexBuffer() const override;
|
||||
NzVertexBuffer* GetVertexBuffer() override;
|
||||
const NzVertexBuffer* GetVertexBuffer() const override;
|
||||
NzVertexWeight* GetVertexWeight(unsigned int vertexIndex = 0);
|
||||
const NzVertexWeight* GetVertexWeight(unsigned int vertexIndex = 0) const;
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ class NAZARA_API NzStaticMesh final : public NzSubMesh, NzResourceListener
|
|||
const NzAxisAlignedBox& GetAABB() const override;
|
||||
nzAnimationType GetAnimationType() const final;
|
||||
const NzIndexBuffer* GetIndexBuffer() const override;
|
||||
NzVertexBuffer* GetVertexBuffer() override;
|
||||
const NzVertexBuffer* GetVertexBuffer() const override;
|
||||
|
||||
bool IsAnimated() const final;
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ class NAZARA_API NzSubMesh : public NzResource
|
|||
unsigned int GetMaterialIndex() const;
|
||||
const NzMesh* GetParent() const;
|
||||
nzPrimitiveType GetPrimitiveType() const;
|
||||
virtual NzVertexBuffer* GetVertexBuffer() = 0;
|
||||
virtual const NzVertexBuffer* GetVertexBuffer() const = 0;
|
||||
virtual unsigned int GetVertexCount() const;
|
||||
|
||||
|
|
|
|||
|
|
@ -198,6 +198,19 @@ void NzKeyframeMesh::GetVertex(unsigned int frameIndex, unsigned int vertexIndex
|
|||
dest->uv = m_impl->uv[vertexIndex];
|
||||
}
|
||||
|
||||
NzVertexBuffer* NzKeyframeMesh::GetVertexBuffer()
|
||||
{
|
||||
#if NAZARA_UTILITY_SAFE
|
||||
if (!m_impl)
|
||||
{
|
||||
NazaraError("Keyframe mesh not created");
|
||||
return nullptr;
|
||||
}
|
||||
#endif
|
||||
|
||||
return m_impl->vertexBuffer;
|
||||
}
|
||||
|
||||
const NzVertexBuffer* NzKeyframeMesh::GetVertexBuffer() const
|
||||
{
|
||||
#if NAZARA_UTILITY_SAFE
|
||||
|
|
|
|||
|
|
@ -146,6 +146,19 @@ const NzIndexBuffer* NzSkeletalMesh::GetIndexBuffer() const
|
|||
return m_impl->indexBuffer;
|
||||
}
|
||||
|
||||
NzVertexBuffer* NzSkeletalMesh::GetVertexBuffer()
|
||||
{
|
||||
#if NAZARA_UTILITY_SAFE
|
||||
if (!m_impl)
|
||||
{
|
||||
NazaraError("Skeletal mesh not created");
|
||||
return nullptr;
|
||||
}
|
||||
#endif
|
||||
|
||||
return m_impl->vertexBuffer;
|
||||
}
|
||||
|
||||
const NzVertexBuffer* NzSkeletalMesh::GetVertexBuffer() const
|
||||
{
|
||||
#if NAZARA_UTILITY_SAFE
|
||||
|
|
|
|||
|
|
@ -100,6 +100,11 @@ const NzIndexBuffer* NzStaticMesh::GetIndexBuffer() const
|
|||
return m_indexBuffer;
|
||||
}
|
||||
|
||||
NzVertexBuffer* NzStaticMesh::GetVertexBuffer()
|
||||
{
|
||||
return m_vertexBuffer;
|
||||
}
|
||||
|
||||
const NzVertexBuffer* NzStaticMesh::GetVertexBuffer() const
|
||||
{
|
||||
return m_vertexBuffer;
|
||||
|
|
|
|||
Loading…
Reference in New Issue