aboutsummaryrefslogtreecommitdiff
path: root/source/Game/VertexIndex.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/Game/VertexIndex.hpp')
-rw-r--r--source/Game/VertexIndex.hpp67
1 files changed, 0 insertions, 67 deletions
diff --git a/source/Game/VertexIndex.hpp b/source/Game/VertexIndex.hpp
deleted file mode 100644
index 2d65617..0000000
--- a/source/Game/VertexIndex.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-#pragma once
-
-#include "GraphicsTags.hpp"
-#include "RcPtr.hpp"
-#include "SmallVector.hpp"
-
-#include <glad/glad.h>
-#include <cstddef>
-#include <cstdint>
-#include <vector>
-
-struct GpuVertexBuffer : public RefCounted {
- GLuint handle;
- int sizeInBytes;
-
- GpuVertexBuffer();
- ~GpuVertexBuffer();
-
- void Upload(const std::byte* data, size_t sizeInBytes);
-};
-
-struct GpuIndexBuffer : public RefCounted {
- GLuint handle;
- Tags::IndexType indexType;
- int count;
-
- GpuIndexBuffer();
- ~GpuIndexBuffer();
-
- Tags::IndexType GetIndexType() const { return indexType; }
- GLenum GetIndexTypeGL() const { return Tags::FindGLType(indexType); }
-
- void Upload(const std::byte* data, Tags::IndexType type, size_t count);
-};
-
-struct BufferBindings {
- SmallVector<RcPtr<GpuVertexBuffer>, 4> bindings;
-
- int GetMaxBindingIndex() const;
-
- /// Safe. Returns nullptr if the index is not bound to any buffers.
- GpuVertexBuffer* GetBinding(int index) const;
- /// Adds or updates a buffer binding. Setting a binding to nullptr effectively removes the binding.
- void SetBinding(int index, GpuVertexBuffer* buffer);
- void Clear();
-};
-
-struct VertexElementFormat {
- /// NOTE:
- /// "Automatic" means it will be set inside VertexFormat::AddElement()
- /// "Parameter" means it must be set by the user
- /* Automatic */ int offset;
- /* Parameter */ int bindingIndex;
- /* Parameter */ Tags::VertexElementType type;
- /* Parameter */ Tags::VertexElementSemantic semantic;
-
- int GetStride() const;
-};
-
-struct VertexFormat : public RefCounted {
- SmallVector<VertexElementFormat, 4> elements;
- int vertexSize = 0;
-
- const decltype(elements)& GetElements() const { return elements; }
- void AddElement(VertexElementFormat element);
- void RemoveElement(int index);
-};