21class API_AUI_VIEWS Vao {
25 uint32_t signature = 0;
40 Vao(
const Vao&) =
delete;
47 void bind() const noexcept;
48 static
void unbind() noexcept;
58 if constexpr (std::is_same_v<T, GLuint>) {
59 insertInteger(index, (
const char*) data.data(), data.sizeInBytes(), 1, GL_UNSIGNED_INT);
61 insert(index, (
const char*) data.data(), data.sizeInBytes(),
sizeof(T) /
sizeof(
float), GL_FLOAT, key);
74 index, (
const char*) data.data(), data.sizeInBytes(),
sizeof(T) /
sizeof(
float), GL_FLOAT, key);
89 void drawArrays(GLenum type, GLsizei count);
100 GLuint mIndicesBuffer = 0;
101 GLsizei mIndicesCount = 0;
102 GLuint mIndicesType = 0;
114 insert(GLuint index,
const char* data, GLsizeiptr dataSize, GLuint vertexSize, GLenum dataType,
const char* key);
126 GLuint index,
const char* data, GLsizeiptr dataSize, GLuint vertexSize, GLenum dataType,
const char* key);
136 void insertInteger(GLuint index,
const char* data, GLsizeiptr dataSize, GLuint vertexSize, GLenum dataType);
void insertIfKeyMismatches(GLuint index, AArrayView< T > data, const char *key)
Creates VBO or modifies existing one, if the key pointer mismatches.
Definition Vao.h:72
void insert(GLuint index, AArrayView< T > data, const char *key)
Creates VBO or modifies existing one.
Definition Vao.h:57