Cogs.Core
UniformGridComponent.h
1#pragma once
2
3#include "Foundation/ComponentModel/Component.h"
4
5#include <glm/vec3.hpp>
6
7namespace Cogs::Core::EchoSounder
8{
9 enum struct ComputeType : uint32_t
10 {
11 Reference,
12 SSE41,
13 FMA,
14 AVX2
15 };
17 {
18 glm::uvec3 size = glm::uvec3(32, 32, 32);
19 glm::vec3 scale = glm::vec3(0.75f);
20
21 uint32_t max_tiles = 500000;
22
23 float decibelMin = -70.f;
24 float decibelMax = 0.f;
25
26 float average_alpha = 0.1f;
27
28 float filter_width = 11;
29 float filter_falloff = 0.3f;
30
31 ComputeType compute = ComputeType::AVX2;
32
33 bool show_frustum = false;
34
35 static void registerType();
36 };
37}
38
39template<> inline Cogs::StringView getName<Cogs::Core::EchoSounder::ComputeType>() { return "EchoComputeType"; }
40
41template<> inline
42Cogs::StringView getName<Cogs::Core::EchoSounder::UniformGridComponent>() { return "EchoUniformGridComponent"; }
Base class for Component instances.
Definition: Component.h:143
Provides a weakly referenced view over the contents of a string.
Definition: StringView.h:24