128 : Elements(InElements)
130 CalculateOffsetsAndStride();
133 FORCEINLINE uint32_t GetStride()
const {
return Stride; }
135 FORCEINLINE
const std::vector<FVertexBufferElement>& GetElements()
const
140 FORCEINLINE uint32_t GetElementCount()
const
142 return static_cast<uint32_t
>(Elements.size());
145 [[nodiscard]] std::vector<FVertexBufferElement>::iterator begin() {
return Elements.begin(); }
146 [[nodiscard]] std::vector<FVertexBufferElement>::iterator end() {
return Elements.end(); }
147 [[nodiscard]] std::vector<FVertexBufferElement>::const_iterator begin()
const {
return Elements.begin(); }
148 [[nodiscard]] std::vector<FVertexBufferElement>::const_iterator end()
const {
return Elements.end(); }
150 FORCEINLINE std::string ToString()
const
152 std::string String{};
155 String += LK_FMT_LIB::format(
"{}: {}\n", Element.Name, Enum::ToString(Element.Type));
162 FORCEINLINE
void CalculateOffsetsAndStride()
168 Element.Offset = Offset;
169 Offset += Element.Size;
170 Stride += Element.Size;
174 std::vector<FVertexBufferElement> Elements{};