Chrysalis - Renderer
Loading...
Searching...
No Matches
BaseRendererData.h
Go to the documentation of this file.
1#ifndef CHRYSALIS_BASERENDERERDATA_H
2#define CHRYSALIS_BASERENDERERDATA_H
3
4#include <Vertex2f.h>
5
6namespace Chrysalis {
7 template<typename V>
8 requires std::is_base_of_v<Vertex2f, V>
10 protected:
11 explicit BaseRendererData() = default;
12 public:
13 virtual ~BaseRendererData() = default;
14
15 virtual size_t size() = 0;
16 virtual std::vector<V> vbo() = 0;
17
18 virtual void updateVBO() {
19 shouldUpload_ = true;
20 }
21 [[nodiscard]] bool shouldUpload() {
22 if (shouldUpload_) {
23 shouldUpload_ = false;
24 return true;
25 }
26 return shouldUpload_;
27 }
28 private:
29 bool shouldUpload_ = true;
30 };
31}
32
33#endif //CHRYSALIS_BASERENDERERDATA_H
virtual void updateVBO()
Definition BaseRendererData.h:18
virtual size_t size()=0
bool shouldUpload()
Definition BaseRendererData.h:21
virtual ~BaseRendererData()=default
virtual std::vector< V > vbo()=0
Definition Area.h:4