mirror of
https://github.com/bailwillharr/engine.git
synced 2024-09-21 04:51:18 +00:00
52 lines
684 B
C++
52 lines
684 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <cstddef>
|
|
#include <vector>
|
|
|
|
namespace engine::gfx {
|
|
|
|
enum class ShaderType {
|
|
VERTEX,
|
|
FRAGMENT,
|
|
};
|
|
|
|
enum class BufferType {
|
|
VERTEX,
|
|
INDEX,
|
|
};
|
|
|
|
enum class Primitive {
|
|
POINTS,
|
|
LINES,
|
|
LINE_STRIP,
|
|
TRIANGLES,
|
|
TRIANGLE_STRIP,
|
|
};
|
|
|
|
enum class VertexAttribFormat {
|
|
VEC2,
|
|
VEC3,
|
|
};
|
|
|
|
struct VertexBufferDesc {
|
|
uint64_t size;
|
|
};
|
|
|
|
struct VertexAttribDescription {
|
|
uint32_t location;
|
|
VertexAttribFormat format;
|
|
uint32_t offset;
|
|
};
|
|
|
|
struct VertexFormat {
|
|
uint32_t stride;
|
|
std::vector<VertexAttribDescription> attributeDescriptions;
|
|
};
|
|
|
|
// handles (incomplete types)
|
|
struct Pipeline;
|
|
struct VertexBuffer;
|
|
|
|
}
|