diff --git a/src/Core/OpenGL/CIndexBuffer.cpp b/src/Core/OpenGL/CIndexBuffer.cpp index e3e1749f..e3e8792f 100644 --- a/src/Core/OpenGL/CIndexBuffer.cpp +++ b/src/Core/OpenGL/CIndexBuffer.cpp @@ -2,8 +2,8 @@ CIndexBuffer::CIndexBuffer() = default; -CIndexBuffer::CIndexBuffer(GLenum Type) - : mPrimitiveType(Type) +CIndexBuffer::CIndexBuffer(GLenum type) + : mPrimitiveType(type) { } @@ -13,21 +13,21 @@ CIndexBuffer::~CIndexBuffer() glDeleteBuffers(1, &mIndexBuffer); } -void CIndexBuffer::AddIndex(uint16 Index) +void CIndexBuffer::AddIndex(uint16 index) { - mIndices.push_back(Index); + mIndices.push_back(index); } -void CIndexBuffer::AddIndices(uint16 *pIndices, uint Count) +void CIndexBuffer::AddIndices(uint16 *indices, size_t count) { - Reserve(Count); - for (uint iIdx = 0; iIdx < Count; iIdx++) - mIndices.push_back(*pIndices++); + Reserve(count); + for (size_t i = 0; i < count; i++) + mIndices.push_back(*indices++); } -void CIndexBuffer::Reserve(uint Size) +void CIndexBuffer::Reserve(size_t size) { - mIndices.reserve(mIndices.size() + Size); + mIndices.reserve(mIndices.size() + size); } void CIndexBuffer::Clear() @@ -53,7 +53,9 @@ void CIndexBuffer::Buffer() void CIndexBuffer::Bind() { - if (!mBuffered) Buffer(); + if (!mBuffered) + Buffer(); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mIndexBuffer); } @@ -64,14 +66,14 @@ void CIndexBuffer::Unbind() void CIndexBuffer::DrawElements() { Bind(); - glDrawElements(mPrimitiveType, mIndices.size(), GL_UNSIGNED_SHORT, (void*) 0); + glDrawElements(mPrimitiveType, mIndices.size(), GL_UNSIGNED_SHORT, nullptr); Unbind(); } -void CIndexBuffer::DrawElements(uint Offset, uint Size) +void CIndexBuffer::DrawElements(uint offset, uint size) { Bind(); - glDrawElements(mPrimitiveType, Size, GL_UNSIGNED_SHORT, (char*)0 + (Offset * 2)); + glDrawElements(mPrimitiveType, size, GL_UNSIGNED_SHORT, (char*)0 + (offset * 2)); Unbind(); } @@ -90,62 +92,62 @@ GLenum CIndexBuffer::GetPrimitiveType() const return mPrimitiveType; } -void CIndexBuffer::SetPrimitiveType(GLenum Type) +void CIndexBuffer::SetPrimitiveType(GLenum type) { - mPrimitiveType = Type; + mPrimitiveType = type; } -void CIndexBuffer::TrianglesToStrips(uint16 *pIndices, uint Count) +void CIndexBuffer::TrianglesToStrips(uint16 *indices, size_t count) { - Reserve(Count + (Count / 3)); + Reserve(count + (count / 3)); - for (uint iIdx = 0; iIdx < Count; iIdx += 3) + for (size_t i = 0; i < count; i += 3) { - mIndices.push_back(*pIndices++); - mIndices.push_back(*pIndices++); - mIndices.push_back(*pIndices++); + mIndices.push_back(*indices++); + mIndices.push_back(*indices++); + mIndices.push_back(*indices++); mIndices.push_back(0xFFFF); } } -void CIndexBuffer::FansToStrips(uint16 *pIndices, uint Count) +void CIndexBuffer::FansToStrips(uint16 *indices, size_t count) { - Reserve(Count); - uint16 FirstIndex = *pIndices; + Reserve(count); + const uint16 firstIndex = *indices; - for (uint iIdx = 2; iIdx < Count; iIdx += 3) + for (size_t i = 2; i < count; i += 3) { - mIndices.push_back(pIndices[iIdx - 1]); - mIndices.push_back(pIndices[iIdx]); - mIndices.push_back(FirstIndex); - if (iIdx + 1 < Count) - mIndices.push_back(pIndices[iIdx + 1]); - if (iIdx + 2 < Count) - mIndices.push_back(pIndices[iIdx + 2]); + mIndices.push_back(indices[i - 1]); + mIndices.push_back(indices[i]); + mIndices.push_back(firstIndex); + if (i + 1 < count) + mIndices.push_back(indices[i + 1]); + if (i + 2 < count) + mIndices.push_back(indices[i + 2]); mIndices.push_back(0xFFFF); } } -void CIndexBuffer::QuadsToStrips(uint16 *pIndices, uint Count) +void CIndexBuffer::QuadsToStrips(uint16 *indices, size_t count) { - Reserve((uint) (Count * 1.25)); + Reserve(static_cast(count * 1.25)); - uint iIdx = 3; - for (; iIdx < Count; iIdx += 4) + size_t i = 3; + for (; i < count; i += 4) { - mIndices.push_back(pIndices[iIdx - 2]); - mIndices.push_back(pIndices[iIdx - 1]); - mIndices.push_back(pIndices[iIdx - 3]); - mIndices.push_back(pIndices[iIdx]); + mIndices.push_back(indices[i - 2]); + mIndices.push_back(indices[i - 1]); + mIndices.push_back(indices[i - 3]); + mIndices.push_back(indices[i]); mIndices.push_back(0xFFFF); } // if there's three indices present that indicates a single triangle - if (iIdx == Count) + if (i == count) { - mIndices.push_back(pIndices[iIdx - 3]); - mIndices.push_back(pIndices[iIdx - 2]); - mIndices.push_back(pIndices[iIdx - 1]); + mIndices.push_back(indices[i - 3]); + mIndices.push_back(indices[i - 2]); + mIndices.push_back(indices[i - 1]); mIndices.push_back(0xFFFF); } diff --git a/src/Core/OpenGL/CIndexBuffer.h b/src/Core/OpenGL/CIndexBuffer.h index ff439ac5..dc88937e 100644 --- a/src/Core/OpenGL/CIndexBuffer.h +++ b/src/Core/OpenGL/CIndexBuffer.h @@ -14,26 +14,26 @@ class CIndexBuffer public: CIndexBuffer(); - explicit CIndexBuffer(GLenum Type); + explicit CIndexBuffer(GLenum type); ~CIndexBuffer(); - void AddIndex(uint16 Index); - void AddIndices(uint16 *pIndices, uint Count); - void Reserve(uint Size); + void AddIndex(uint16 index); + void AddIndices(uint16 *indices, size_t count); + void Reserve(size_t size); void Clear(); void Buffer(); void Bind(); void Unbind(); void DrawElements(); - void DrawElements(uint Offset, uint Size); + void DrawElements(uint offset, uint size); bool IsBuffered() const; uint GetSize() const; GLenum GetPrimitiveType() const; - void SetPrimitiveType(GLenum Type); + void SetPrimitiveType(GLenum type); - void TrianglesToStrips(uint16 *pIndices, uint Count); - void FansToStrips(uint16 *pIndices, uint Count); - void QuadsToStrips(uint16 *pIndices, uint Count); + void TrianglesToStrips(uint16 *indices, size_t count); + void FansToStrips(uint16 *indices, size_t count); + void QuadsToStrips(uint16 *indices, size_t count); }; #endif // CINDEXBUFFER_H