Cogs.Core
OctProviderBuildTileTask.h
1#pragma once
2#include <memory>
3#include "../Systems/OctProviderSystem.h"
4
5namespace Cogs
6{
7 namespace Core
8 {
9 namespace EchoSounder
10 {
11
13 {
14 std::shared_ptr<EchoSounder::OctProviderPersistent> persistent;
15 size_t index;
16
17 struct SrcPing
18 {
20 uint32_t src;
21 };
22
23 struct Misc {
25 glm::vec3 boundingFrustumNormals[4];
26 glm::quat inverseOrientation;
27 glm::vec3 shift;
28 glm::uvec3 maxIndices;
29 glm::vec3 polarShift;
30 glm::vec3 polarScale;
31 float minDistanceSquared;
32 float maxDistanceSquared;
33 uint32_t minorCount;
34 uint32_t sampleCount;
35 const float* v;
36 };
37
38 void operator()();
39
40 void setup(std::vector<Misc>& m);
41
42 void calcGradients(Cogs::Memory::TypedBuffer<glm::vec4>& out, const Cogs::Memory::TypedBuffer<float>& in, const Cogs::Memory::TypedBuffer<float>& age, const glm::uvec3& N);
43
44 };
45
47 {
50 std::vector<OctProviderBuildTileTask::Misc>* m;
51 unsigned a;
52 unsigned b;
53
54 void sample();
55
56 void operator()();
57
58 };
59
60
61 }
62 }
63}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23