TerraForge3D  2.3.1
3D Terrain And Landscape Generator
SharedMemoryManager.h
1#pragma once
2
3#include <string>
4#include <vector>
5#include <cstdint>
6
7class Shader;
8
14{
15 float d0 = 0;
16 float d1 = 0;
17 float d2 = 0;
18 float d3 = 0;
19 float d4 = 0;
20 float d5 = 0;
21 float d6 = 0;
22 float d7 = 0;
23 float d8 = 0;
24 float d9 = 0;
25 float d10 = 0;
26 float d11 = 0;
27 float d12 = 0;
28 float d13 = 0;
29 float d14 = 0;
30 float d15 = 0;
31 float d16 = 0;
32 float d17 = 0;
33 float d18 = 0;
34 float d19 = 0;
35 float d20 = 0;
36 float d21 = 0;
37 float d22 = 0;
38 float d23 = 0;
39 float d24 = 0;
40 float d25 = 0;
41 float d26 = 0;
42 float d27 = 0;
43 float d28 = 0;
44 float d29 = 0;
45 float d30 = 0;
46 float d31 = 0;
47
48 // override [] operator for SharedMemoryItem
49 float &operator[](int i);
50};
51
52void SetSharedMemoryItem(SharedMemoryItem *mi, int i, float val);
53
54
55
57{
58public:
61
62 void Clear();
63
64 int AddItem();
65
66 void UpdateShader(Shader *shader);
67
68 SharedMemoryItem *At(int id);
69
70public:
71 uint32_t ssbo;
72 uint32_t ssboBinding;
73 int currentID;
74 std::vector<SharedMemoryItem> sharedMemoryBlobs;
75};
Definition: Shader.h:7
SharedMemoryItem ! A data structure to be passed to the GPU.