Cogs.Core
Extensions
Volumetric
Source
Tasks
Blur.h
1
#pragma once
2
3
#include <glm/glm.hpp>
4
5
namespace
Cogs
6
{
7
namespace
Core
8
{
9
class
Context;
10
11
namespace
Blur
12
{
13
14
float
boxFilterWidthFromStdDev(
const
float
stddev,
15
const
uint32_t quality);
16
17
void
boxFilterIterations3D(Context* context,
18
float
* output,
19
const
float
* input,
20
const
glm::uvec3 size,
21
const
float
radius,
22
const
uint32_t iterations);
23
24
struct
BoxFilterPassXTask
25
{
26
const
float
* src;
27
float
* dst;
28
float
* ptrA;
29
float
* ptrB;
30
glm::uvec3 size;
31
float
radius;
32
uint32_t iterations;
33
uint32_t a, b;
34
35
void
operator()();
36
};
37
38
struct
BoxFilterPassYTask
39
{
40
const
float
* src;
41
float
* dst;
42
float
* ptrA;
43
float
* ptrB;
44
glm::uvec3 size;
45
float
radius;
46
uint32_t iterations;
47
uint32_t a, b;
48
49
void
operator()();
50
};
51
52
struct
BoxFilterPassZTask
53
{
54
const
float
* src;
55
float
* dst;
56
float
* ptrA;
57
float
* ptrB;
58
glm::uvec3 size;
59
float
radius;
60
uint32_t iterations;
61
uint32_t a, b;
62
63
void
operator()();
64
};
65
66
#ifdef EMSCRIPTEN
67
#define BoxFilterPassXTaskSSE BoxFilterPassXTask
68
#define BoxFilterPassYTaskSSE BoxFilterPassYTask
69
#define BoxFilterPassZTaskSSE BoxFilterPassZTask
70
#else
71
struct
BoxFilterPassXTaskSSE
72
{
73
const
float
* src;
74
float
* dst;
75
float
* ptrA;
76
float
* ptrB;
77
glm::uvec3 size;
78
float
radius;
79
uint32_t iterations;
80
uint32_t a, b;
81
82
void
operator()();
83
};
84
85
struct
BoxFilterPassYTaskSSE
86
{
87
const
float
* src;
88
float
* dst;
89
float
* ptrA;
90
float
* ptrB;
91
glm::uvec3 size;
92
float
radius;
93
uint32_t iterations;
94
uint32_t a, b;
95
96
void
operator()();
97
};
98
99
struct
BoxFilterPassZTaskSSE
100
{
101
const
float
* src;
102
float
* dst;
103
float
* ptrA;
104
float
* ptrB;
105
glm::uvec3 size;
106
float
radius;
107
uint32_t iterations;
108
uint32_t a, b;
109
110
void
operator()();
111
};
112
#endif
113
114
}
115
}
116
}
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::Core::Blur::BoxFilterPassXTaskSSE
Definition:
Blur.h:72
Cogs::Core::Blur::BoxFilterPassXTask
Definition:
Blur.h:25
Cogs::Core::Blur::BoxFilterPassYTaskSSE
Definition:
Blur.h:86
Cogs::Core::Blur::BoxFilterPassYTask
Definition:
Blur.h:39
Cogs::Core::Blur::BoxFilterPassZTaskSSE
Definition:
Blur.h:100
Cogs::Core::Blur::BoxFilterPassZTask
Definition:
Blur.h:53
Generated by
1.9.6