Cogs.Core
Extensions
EchoSounder
Source
Tasks
OctProviderBuildTileTask.h
1
#pragma once
2
#include <memory>
3
#include "../Systems/OctProviderSystem.h"
4
5
namespace
Cogs
6
{
7
namespace
Core
8
{
9
namespace
EchoSounder
10
{
11
12
struct
OctProviderBuildTileTask
13
{
14
std::shared_ptr<EchoSounder::OctProviderPersistent> persistent;
15
size_t
index;
16
17
struct
SrcPing
18
{
19
EchoSounder::CachedPing
* ping;
20
uint32_t src;
21
};
22
23
struct
Misc
{
24
EchoSounder::CachedPing
* ping;
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
46
struct
OctProviderBuildSubTileTask
47
{
48
OctProviderBuildTileTask
* parent;
49
Cogs::Memory::TypedBuffer<float>
* age;
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
}
Cogs::Memory::TypedBuffer
Definition:
MemoryBuffer.h:196
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::Core::EchoSounder::CachedPing
Definition:
OctProviderSystem.h:44
Cogs::Core::EchoSounder::OctProviderBuildSubTileTask
Definition:
OctProviderBuildTileTask.h:47
Cogs::Core::EchoSounder::OctProviderBuildTileTask::Misc
Definition:
OctProviderBuildTileTask.h:23
Cogs::Core::EchoSounder::OctProviderBuildTileTask::SrcPing
Definition:
OctProviderBuildTileTask.h:18
Cogs::Core::EchoSounder::OctProviderBuildTileTask
Definition:
OctProviderBuildTileTask.h:13
Generated by
1.9.6