diff --git a/include/Nazara/Utility/IndexBuffer.hpp b/include/Nazara/Utility/IndexBuffer.hpp index 55b637ea5..2756bdd17 100644 --- a/include/Nazara/Utility/IndexBuffer.hpp +++ b/include/Nazara/Utility/IndexBuffer.hpp @@ -25,7 +25,7 @@ class NAZARA_API NzIndexBuffer : public NzResource NzIndexBuffer(const NzIndexBuffer& indexBuffer); ~NzIndexBuffer(); - bool Fill(const void* data, unsigned int offset, unsigned int length); + bool Fill(const void* data, unsigned int offset, unsigned int length, bool forceDiscard = false); NzBuffer* GetBuffer() const; unsigned int GetIndexCount() const; diff --git a/include/Nazara/Utility/VertexBuffer.hpp b/include/Nazara/Utility/VertexBuffer.hpp index 083ecf7cb..22112c5b9 100644 --- a/include/Nazara/Utility/VertexBuffer.hpp +++ b/include/Nazara/Utility/VertexBuffer.hpp @@ -26,7 +26,7 @@ class NAZARA_API NzVertexBuffer : public NzResource NzVertexBuffer(const NzVertexBuffer& vertexBuffer); ~NzVertexBuffer(); - bool Fill(const void* data, unsigned int offset, unsigned int length); + bool Fill(const void* data, unsigned int offset, unsigned int length, bool forceDiscard = false); NzBuffer* GetBuffer() const; void* GetPointer(); diff --git a/src/Nazara/3D/Scene.cpp b/src/Nazara/3D/Scene.cpp index c31d8e23e..7cf9701d1 100644 --- a/src/Nazara/3D/Scene.cpp +++ b/src/Nazara/3D/Scene.cpp @@ -94,6 +94,8 @@ void NzScene::Cull() void NzScene::Draw() { + NzRenderer::Clear(nzRendererClear_Depth); + LightComparator lightComparator; // Pour les meshs squelettiques, on utilise un buffer commun diff --git a/src/Nazara/Utility/IndexBuffer.cpp b/src/Nazara/Utility/IndexBuffer.cpp index 64ad4ea4c..988ade336 100644 --- a/src/Nazara/Utility/IndexBuffer.cpp +++ b/src/Nazara/Utility/IndexBuffer.cpp @@ -64,7 +64,7 @@ m_startIndex(indexBuffer.m_startIndex) NzIndexBuffer::~NzIndexBuffer() = default; -bool NzIndexBuffer::Fill(const void* data, unsigned int offset, unsigned int length) +bool NzIndexBuffer::Fill(const void* data, unsigned int offset, unsigned int length, bool forceDiscard) { #if NAZARA_UTILITY_SAFE if (!m_buffer) @@ -80,7 +80,7 @@ bool NzIndexBuffer::Fill(const void* data, unsigned int offset, unsigned int len } #endif - return m_buffer->Fill(data, m_startIndex+offset, length); + return m_buffer->Fill(data, m_startIndex+offset, length, forceDiscard); } NzBuffer* NzIndexBuffer::GetBuffer() const diff --git a/src/Nazara/Utility/VertexBuffer.cpp b/src/Nazara/Utility/VertexBuffer.cpp index 2b5e3d68f..ee73b0b5e 100644 --- a/src/Nazara/Utility/VertexBuffer.cpp +++ b/src/Nazara/Utility/VertexBuffer.cpp @@ -70,7 +70,7 @@ m_vertexCount(vertexBuffer.m_vertexCount) NzVertexBuffer::~NzVertexBuffer() = default; -bool NzVertexBuffer::Fill(const void* data, unsigned int offset, unsigned int length) +bool NzVertexBuffer::Fill(const void* data, unsigned int offset, unsigned int length, bool forceDiscard) { #if NAZARA_UTILITY_SAFE if (offset+length > m_vertexCount) @@ -80,7 +80,7 @@ bool NzVertexBuffer::Fill(const void* data, unsigned int offset, unsigned int le } #endif - return m_buffer->Fill(data, m_startVertex+offset, length); + return m_buffer->Fill(data, m_startVertex+offset, length, forceDiscard); } NzBuffer* NzVertexBuffer::GetBuffer() const