This repository has been archived on 2025-03-10. You can view files and clone it, but cannot push or open issues or pull requests.
NFRev1/NothinFancy/src/include/VertexArray.h
Grayson Riffe (Laptop) 1f6bb4630c Minor changes
2021-08-24 11:09:07 -05:00

32 lines
648 B
C++

#pragma once
#include <vector>
#include "VertexBuffer.h"
namespace nf {
class VertexArray {
struct VertexBufferElement {
unsigned int type;
unsigned int count;
unsigned char normalized;
};
public:
VertexArray();
void addBuffer(const void* data, const size_t size);
template<typename T>
void push(unsigned int count);
void finishBufferLayout();
void bind(unsigned int buffer = 1);
~VertexArray();
private:
unsigned int m_id;
bool m_lastBufferHasLayout;
std::vector<VertexBuffer*> m_buffers;
std::vector<VertexBufferElement> m_lastBufferLayout;
unsigned int m_attribute;
unsigned int m_lastStride;
};
}