2022-11-14 22:55:14 +01:00

28 lines
810 B
C++

#pragma once
#include "rectangle.hpp"
#include "ds_vk_base.hpp"
namespace gz::vlk {
/**
* @details
* Rectangle has vertex and index buffers from vlk::BufferManager
* and a texture from vlk::TextureManager
*/
class RectangleTexturedVkDS : public DrawStrategy<Rectangle>, public VulkanDS, public VulkanTexturedDS {
public:
RectangleTexturedVkDS(Renderer2D& renderer, BufferManager<Vertex2D, uint32_t>& bufferManager, const std::string& textureName);
/**
* @todo
*/
void draw() override;
/**
* @brief Set the new vertices and indices
*/
void update(const Rectangle& rect) override;
private:
void setTextureCoordinates();
};
} // namespace gz::vlk