diff --git a/drape/render_bucket.cpp b/drape/render_bucket.cpp new file mode 100644 index 0000000000..f2e8fbf506 --- /dev/null +++ b/drape/render_bucket.cpp @@ -0,0 +1,39 @@ +#include "render_bucket.hpp" + +#include "../base/stl_add.hpp" + +RenderBucket::RenderBucket(TransferPointer buffer) +{ + +} + +RenderBucket::~RenderBucket() +{ + m_buffer.Destroy(); + (void)GetRangeDeletor(m_overlay, MasterPointerDeleter())(); +} + +RefPointer RenderBucket::GetBuffer() +{ + return m_buffer.GetRefPointer(); +} + +void RenderBucket::AddOverlayHandle(TransferPointer handle) +{ + +} + +void RenderBucket::InsertUniform(TransferPointer uniform) +{ + +} + +void RenderBucket::CollectOverlayHandles() +{ + +} + +void RenderBucket::Render() +{ + +} diff --git a/drape/render_bucket.hpp b/drape/render_bucket.hpp new file mode 100644 index 0000000000..97fd7c1cba --- /dev/null +++ b/drape/render_bucket.hpp @@ -0,0 +1,26 @@ +#pragma once + +#include "overlay_handle.hpp" +#include "vertex_array_buffer.hpp" +#include "uniform_value.hpp" +#include "uniform_values_storage.hpp" + +class RenderBucket +{ +public: + RenderBucket(TransferPointer buffer); + ~RenderBucket(); + + RefPointer GetBuffer(); + + void AddOverlayHandle(TransferPointer handle); + void InsertUniform(TransferPointer uniform); + + void CollectOverlayHandles(/*OverlayTree */); + void Render(); + +private: + vector > m_overlay; + MasterPointer m_buffer; + UniformValuesStorage m_uniforms; +};