Browse Source

Merge pull request #1972 from henu/static_vertexbuffer_updateoffsets

Static VertexBuffer::UpdateOffsets()
Lasse Öörni 8 years ago
parent
commit
12a26358dd
2 changed files with 14 additions and 0 deletions
  1. 11 0
      Source/Urho3D/Graphics/VertexBuffer.cpp
  2. 3 0
      Source/Urho3D/Graphics/VertexBuffer.h

+ 11 - 0
Source/Urho3D/Graphics/VertexBuffer.cpp

@@ -202,4 +202,15 @@ unsigned VertexBuffer::GetVertexSize(unsigned elementMask)
     return size;
     return size;
 }
 }
 
 
+void VertexBuffer::UpdateOffsets(PODVector<VertexElement>& elements)
+{
+    unsigned elementOffset = 0;
+
+    for (PODVector<VertexElement>::Iterator i = elements.Begin(); i != elements.End(); ++i)
+    {
+        i->offset_ = elementOffset;
+        elementOffset += ELEMENT_TYPESIZES[i->type_];
+    }
+}
+
 }
 }

+ 3 - 0
Source/Urho3D/Graphics/VertexBuffer.h

@@ -129,6 +129,9 @@ public:
     /// Return vertex size for a legacy vertex element bitmask.
     /// Return vertex size for a legacy vertex element bitmask.
     static unsigned GetVertexSize(unsigned elementMask);
     static unsigned GetVertexSize(unsigned elementMask);
 
 
+    /// Update offsets of vertex elements.
+    static void UpdateOffsets(PODVector<VertexElement>& elements);
+
 private:
 private:
     /// Update offsets of vertex elements.
     /// Update offsets of vertex elements.
     void UpdateOffsets();
     void UpdateOffsets();