Files
NBEngine/engine/NBGraphics/include/NBGraphics/VertexData.hpp
T

43 lines
904 B
C++

#pragma once
#ifndef _NB_VERTEX_DATA
#define _NB_VERTEX_DATA
#include <memory>
#include <vector>
#include <NBCore/TypeTraits.hpp>
#include <NBCore/Utils.hpp>
#include <NBGraphics/Buffers.hpp>
#include <NBGraphics/GLLoad.hpp>
// #include <NBGraphics/VertexArray.hpp>
namespace nb {
struct VertexAtrributeLayout {
unsigned int offset = 0;
int stride = 0;
unsigned int divisor = 0;
};
struct VertexAttribute {
unsigned int size;
TypeCodes type;
bool normalized;
VertexAtrributeLayout layout;
};
struct VertexData {
std::shared_ptr<Buffer> data;
std::vector<VertexAttribute> attributes;
VertexData(std::shared_ptr<Buffer>, const std::vector<VertexAttribute>&);
VertexData(const ByteVector&, const std::vector<VertexAttribute>&);
};
struct VertexDataPointer {
std::shared_ptr<VertexData> vertexdata;
unsigned int index;
};
} // namespace nb
#endif