#pragma once #include "Vector.hpp" #include "Gal.hpp" class RenderState; class RendererSectionData; class RendererSection { std::shared_ptr pipelineInstance; std::shared_ptr buffer; size_t hash; Vector sectionPos; RendererSection(const RendererSection &other) = delete; public: RendererSection(const RendererSectionData& data, std::shared_ptr pipeline, std::shared_ptr bufferBinding); RendererSection(RendererSection &&other); ~RendererSection(); void Render(); Vector GetPosition(); size_t GetHash(); size_t numOfFaces; friend void swap(RendererSection &lhs, RendererSection &rhs); void UpdateData(const RendererSectionData &data); };