aboutsummaryrefslogtreecommitdiff
path: root/source/VertexIndex.cpp
diff options
context:
space:
mode:
authorrtk0c <[email protected]>2022-05-30 17:03:20 -0700
committerrtk0c <[email protected]>2022-05-30 17:03:20 -0700
commite66286ebe30afc9acc4531fc2bea29b7fb924f93 (patch)
treefa6b76554c3eb88bc8f088fbab68e20c40118ca7 /source/VertexIndex.cpp
parent366ef5a5450c6e0e680c924c3454943a9ae9814d (diff)
Changeset: 56 Buildsystem cleanup: change to layered structure for different targets
Diffstat (limited to 'source/VertexIndex.cpp')
-rw-r--r--source/VertexIndex.cpp84
1 files changed, 0 insertions, 84 deletions
diff --git a/source/VertexIndex.cpp b/source/VertexIndex.cpp
deleted file mode 100644
index ac68289..0000000
--- a/source/VertexIndex.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-#include "VertexIndex.hpp"
-
-#include <algorithm>
-
-GpuVertexBuffer::GpuVertexBuffer() {
- glGenBuffers(1, &handle);
-}
-
-GpuVertexBuffer::~GpuVertexBuffer() {
- glDeleteBuffers(1, &handle);
-}
-
-void GpuVertexBuffer::Upload(const std::byte* data, size_t sizeInBytes) {
- glBindBuffer(GL_ARRAY_BUFFER, handle);
- glBufferData(GL_ARRAY_BUFFER, sizeInBytes, data, GL_DYNAMIC_DRAW);
-}
-
-GpuIndexBuffer::GpuIndexBuffer() {
- glGenBuffers(1, &handle);
-}
-
-GpuIndexBuffer::~GpuIndexBuffer() {
- glDeleteBuffers(1, &handle);
-}
-
-void GpuIndexBuffer::Upload(const std::byte* data, Tags::IndexType type, size_t count) {
- this->indexType = type;
- this->count = count;
- glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, handle);
- glBufferData(GL_ELEMENT_ARRAY_BUFFER, count * Tags::SizeOf(type), data, GL_DYNAMIC_DRAW);
-}
-
-int BufferBindings::GetMaxBindingIndex() const {
- return bindings.size() - 1;
-}
-
-GpuVertexBuffer* BufferBindings::GetBinding(int index) const {
- if (index >= 0 && index < bindings.size()) {
- return bindings[index].Get();
- } else {
- return nullptr;
- }
-}
-
-void BufferBindings::SetBinding(int index, GpuVertexBuffer* buffer) {
- int maxBindingIndex = GetMaxBindingIndex();
- if (index > maxBindingIndex) {
- int countDelta = index - maxBindingIndex;
- bindings.resize(bindings.size() + countDelta);
- }
-
- bindings[index].Attach(buffer);
- if (index == maxBindingIndex && buffer == nullptr) {
- bindings.pop_back();
- }
-}
-
-void BufferBindings::Clear() {
- bindings.clear();
-}
-
-int VertexElementFormat::GetStride() const {
- return Tags::SizeOf(type);
-}
-
-void VertexFormat::AddElement(VertexElementFormat element) {
- vertexSize += element.GetStride();
-
- int lastIdx = (int)elements.size() - 1;
- if (lastIdx >= 0) {
- auto& last = elements[lastIdx];
- element.offset = last.offset + last.GetStride();
- } else {
- element.offset = 0;
- }
-
- elements.push_back(std::move(element));
-}
-
-void VertexFormat::RemoveElement(int index) {
- auto& element = elements[index];
- vertexSize -= element.GetStride();
- elements.erase(elements.begin() + index);
-}