Welcome to mirror list, hosted at ThFree Co, Russian Federation.

concentric_samples_lib.glsl « shaders « eevee « engines « draw « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 67bcf603a817647ef5b2cb75588e091ce7a5f9ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
/* Precomputed table of concentric samples.
 * Generated using this algorithm http://l2program.co.uk/900/concentric-disk-sampling
 * Sorted by radius then by rotation angle.
 * This way it's better for cache usage and for
 * easily restricting to a certain number of
 * sample while still having a circular kernel. */

#define CONCENTRIC_SAMPLE_NUM 256
const vec2 concentric[CONCENTRIC_SAMPLE_NUM] =
vec2[CONCENTRIC_SAMPLE_NUM](
	vec2(0.0441941738242, 0.0441941738242),
	vec2(-0.0441941738242, -0.0441941738242),
	vec2(-0.0441941738242, 0.0441941738242),
	vec2(0.0441941738242, -0.0441941738242),
	vec2(0.181111092429, 0.0485285709567),
	vec2(0.132582521472, 0.132582521472),
	vec2(-0.181111092429, 0.0485285709567),
	vec2(0.0485285709567, 0.181111092429),
	vec2(-0.181111092429, -0.0485285709567),
	vec2(-0.0485285709567, 0.181111092429),
	vec2(-0.132582521472, -0.132582521472),
	vec2(-0.132582521472, 0.132582521472),
	vec2(-0.0485285709567, -0.181111092429),
	vec2(0.0485285709567, -0.181111092429),
	vec2(0.132582521472, -0.132582521472),
	vec2(0.181111092429, -0.0485285709567),
	vec2(0.308652606436, 0.0488857703251),
	vec2(0.278439538809, 0.141872031169),
	vec2(0.220970869121, 0.220970869121),
	vec2(-0.278439538809, 0.141872031169),
	vec2(0.141872031169, 0.278439538809),
	vec2(-0.308652606436, 0.0488857703251),
	vec2(0.0488857703251, 0.308652606436),
	vec2(-0.308652606436, -0.0488857703251),
	vec2(-0.0488857703251, 0.308652606436),
	vec2(-0.278439538809, -0.141872031169),
	vec2(-0.141872031169, 0.278439538809),
	vec2(-0.220970869121, -0.220970869121),
	vec2(-0.220970869121, 0.220970869121),
	vec2(-0.141872031169, -0.278439538809),
	vec2(-0.0488857703251, -0.308652606436),
	vec2(0.0488857703251, -0.308652606436),
	vec2(0.141872031169, -0.278439538809),
	vec2(0.220970869121, -0.220970869121),
	vec2(0.278439538809, -0.141872031169),
	vec2(0.308652606436, -0.0488857703251),
	vec2(0.434749091828, 0.0489844582952),
	vec2(0.41294895701, 0.144497089605),
	vec2(0.370441837162, 0.232764033475),
	vec2(0.309359216769, 0.309359216769),
	vec2(-0.370441837162, 0.232764033475),
	vec2(0.232764033475, 0.370441837162),
	vec2(-0.41294895701, 0.144497089605),
	vec2(0.144497089605, 0.41294895701),
	vec2(-0.434749091828, 0.0489844582952),
	vec2(0.0489844582952, 0.434749091828),
	vec2(-0.434749091828, -0.0489844582952),
	vec2(-0.0489844582952, 0.434749091828),
	vec2(-0.41294895701, -0.144497089605),
	vec2(-0.144497089605, 0.41294895701),
	vec2(-0.370441837162, -0.232764033475),
	vec2(-0.232764033475, 0.370441837162),
	vec2(-0.309359216769, -0.309359216769),
	vec2(-0.309359216769, 0.309359216769),
	vec2(-0.232764033475, -0.370441837162),
	vec2(-0.144497089605, -0.41294895701),
	vec2(-0.0489844582952, -0.434749091828),
	vec2(0.0489844582952, -0.434749091828),
	vec2(0.144497089605, -0.41294895701),
	vec2(0.232764033475, -0.370441837162),
	vec2(0.309359216769, -0.309359216769),
	vec2(0.370441837162, -0.232764033475),
	vec2(0.41294895701, -0.144497089605),
	vec2(0.434749091828, -0.0489844582952),
	vec2(0.560359517677, 0.0490251052956),
	vec2(0.543333277288, 0.14558571287),
	vec2(0.509798130208, 0.237722772229),
	vec2(0.460773024913, 0.322636745447),
	vec2(0.397747564417, 0.397747564417),
	vec2(-0.460773024913, 0.322636745447),
	vec2(0.322636745447, 0.460773024913),
	vec2(-0.509798130208, 0.237722772229),
	vec2(0.237722772229, 0.509798130208),
	vec2(-0.543333277288, 0.14558571287),
	vec2(0.14558571287, 0.543333277288),
	vec2(-0.560359517677, 0.0490251052956),
	vec2(0.0490251052956, 0.560359517677),
	vec2(-0.560359517677, -0.0490251052956),
	vec2(-0.0490251052956, 0.560359517677),
	vec2(-0.543333277288, -0.14558571287),
	vec2(-0.14558571287, 0.543333277288),
	vec2(-0.509798130208, -0.237722772229),
	vec2(-0.237722772229, 0.509798130208),
	vec2(-0.460773024913, -0.322636745447),
	vec2(-0.322636745447, 0.460773024913),
	vec2(-0.397747564417, -0.397747564417),
	vec2(-0.397747564417, 0.397747564417),
	vec2(-0.322636745447, -0.460773024913),
	vec2(-0.237722772229, -0.509798130208),
	vec2(-0.14558571287, -0.543333277288),
	vec2(-0.0490251052956, -0.560359517677),
	vec2(0.0490251052956, -0.560359517677),
	vec2(0.14558571287, -0.543333277288),
	vec2(0.237722772229, -0.509798130208),
	vec2(0.322636745447, -0.460773024913),
	vec2(0.397747564417, -0.397747564417),
	vec2(0.460773024913, -0.322636745447),
	vec2(0.509798130208, -0.237722772229),
	vec2(0.543333277288, -0.14558571287),
	vec2(0.560359517677, -0.0490251052956),
	vec2(0.685748328795, 0.0490456884495),
	vec2(0.671788470355, 0.146138636568),
	vec2(0.644152935937, 0.240256623474),
	vec2(0.603404305327, 0.32948367837),
	vec2(0.550372103135, 0.412003395727),
	vec2(0.486135912066, 0.486135912066),
	vec2(-0.550372103135, 0.412003395727),
	vec2(0.412003395727, 0.550372103135),
	vec2(-0.603404305327, 0.32948367837),
	vec2(0.32948367837, 0.603404305327),
	vec2(-0.644152935937, 0.240256623474),
	vec2(0.240256623474, 0.644152935937),
	vec2(-0.671788470355, 0.146138636568),
	vec2(0.146138636568, 0.671788470355),
	vec2(-0.685748328795, 0.0490456884495),
	vec2(0.0490456884495, 0.685748328795),
	vec2(-0.685748328795, -0.0490456884495),
	vec2(-0.0490456884495, 0.685748328795),
	vec2(-0.671788470355, -0.146138636568),
	vec2(-0.146138636568, 0.671788470355),
	vec2(-0.644152935937, -0.240256623474),
	vec2(-0.240256623474, 0.644152935937),
	vec2(-0.603404305327, -0.32948367837),
	vec2(-0.32948367837, 0.603404305327),
	vec2(-0.550372103135, -0.412003395727),
	vec2(-0.412003395727, 0.550372103135),
	vec2(-0.486135912066, -0.486135912066),
	vec2(-0.486135912066, 0.486135912066),
	vec2(-0.412003395727, -0.550372103135),
	vec2(-0.32948367837, -0.603404305327),
	vec2(-0.240256623474, -0.644152935937),
	vec2(-0.146138636568, -0.671788470355),
	vec2(-0.0490456884495, -0.685748328795),
	vec2(0.0490456884495, -0.685748328795),
	vec2(0.146138636568, -0.671788470355),
	vec2(0.240256623474, -0.644152935937),
	vec2(0.32948367837, -0.603404305327),
	vec2(0.412003395727, -0.550372103135),
	vec2(0.486135912066, -0.486135912066),
	vec2(0.550372103135, -0.412003395727),
	vec2(0.603404305327, -0.32948367837),
	vec2(0.644152935937, -0.240256623474),
	vec2(0.671788470355, -0.146138636568),
	vec2(0.685748328795, -0.0490456884495),
	vec2(0.811017637806, 0.0490575291556),
	vec2(0.799191174395, 0.146457218224),
	vec2(0.775710704038, 0.241721231257),
	vec2(0.740918624869, 0.33346040443),
	vec2(0.695322283745, 0.420336974019),
	vec2(0.639586577995, 0.501084084011),
	vec2(0.574524259714, 0.574524259714),
	vec2(-0.639586577995, 0.501084084011),
	vec2(0.501084084011, 0.639586577995),
	vec2(-0.695322283745, 0.420336974019),
	vec2(0.420336974019, 0.695322283745),
	vec2(-0.740918624869, 0.33346040443),
	vec2(0.33346040443, 0.740918624869),
	vec2(-0.775710704038, 0.241721231257),
	vec2(0.241721231257, 0.775710704038),
	vec2(-0.799191174395, 0.146457218224),
	vec2(0.146457218224, 0.799191174395),
	vec2(-0.811017637806, 0.0490575291556),
	vec2(0.0490575291556, 0.811017637806),
	vec2(-0.811017637806, -0.0490575291556),
	vec2(-0.0490575291556, 0.811017637806),
	vec2(-0.799191174395, -0.146457218224),
	vec2(-0.146457218224, 0.799191174395),
	vec2(-0.775710704038, -0.241721231257),
	vec2(-0.241721231257, 0.775710704038),
	vec2(-0.740918624869, -0.33346040443),
	vec2(-0.33346040443, 0.740918624869),
	vec2(-0.695322283745, -0.420336974019),
	vec2(-0.420336974019, 0.695322283745),
	vec2(-0.639586577995, -0.501084084011),
	vec2(-0.501084084011, 0.639586577995),
	vec2(-0.574524259714, -0.574524259714),
	vec2(-0.574524259714, 0.574524259714),
	vec2(-0.501084084011, -0.639586577995),
	vec2(-0.420336974019, -0.695322283745),
	vec2(-0.33346040443, -0.740918624869),
	vec2(-0.241721231257, -0.775710704038),
	vec2(-0.146457218224, -0.799191174395),
	vec2(-0.0490575291556, -0.811017637806),
	vec2(0.0490575291556, -0.811017637806),
	vec2(0.146457218224, -0.799191174395),
	vec2(0.241721231257, -0.775710704038),
	vec2(0.33346040443, -0.740918624869),
	vec2(0.420336974019, -0.695322283745),
	vec2(0.501084084011, -0.639586577995),
	vec2(0.574524259714, -0.574524259714),
	vec2(0.639586577995, -0.501084084011),
	vec2(0.695322283745, -0.420336974019),
	vec2(0.740918624869, -0.33346040443),
	vec2(0.775710704038, -0.241721231257),
	vec2(0.799191174395, -0.146457218224),
	vec2(0.811017637806, -0.0490575291556),
	vec2(0.936215188832, 0.0490649589778),
	vec2(0.925957819308, 0.146657310975),
	vec2(0.905555462146, 0.242642854784),
	vec2(0.875231649841, 0.335969952699),
	vec2(0.835318616427, 0.425616093506),
	vec2(0.786253657449, 0.510599095327),
	vec2(0.728574338866, 0.589987866609),
	vec2(0.662912607362, 0.662912607362),
	vec2(-0.728574338866, 0.589987866609),
	vec2(0.589987866609, 0.728574338866),
	vec2(-0.786253657449, 0.510599095327),
	vec2(0.510599095327, 0.786253657449),
	vec2(-0.835318616427, 0.425616093506),
	vec2(0.425616093506, 0.835318616427),
	vec2(-0.875231649841, 0.335969952699),
	vec2(0.335969952699, 0.875231649841),
	vec2(-0.905555462146, 0.242642854784),
	vec2(0.242642854784, 0.905555462146),
	vec2(-0.925957819308, 0.146657310975),
	vec2(0.146657310975, 0.925957819308),
	vec2(-0.936215188832, 0.0490649589778),
	vec2(0.0490649589778, 0.936215188832),
	vec2(-0.936215188832, -0.0490649589778),
	vec2(-0.0490649589778, 0.936215188832),
	vec2(-0.925957819308, -0.146657310975),
	vec2(-0.146657310975, 0.925957819308),
	vec2(-0.905555462146, -0.242642854784),
	vec2(-0.242642854784, 0.905555462146),
	vec2(-0.875231649841, -0.335969952699),
	vec2(-0.335969952699, 0.875231649841),
	vec2(-0.835318616427, -0.425616093506),
	vec2(-0.425616093506, 0.835318616427),
	vec2(-0.786253657449, -0.510599095327),
	vec2(-0.510599095327, 0.786253657449),
	vec2(-0.728574338866, -0.589987866609),
	vec2(-0.589987866609, 0.728574338866),
	vec2(-0.662912607362, -0.662912607362),
	vec2(-0.662912607362, 0.662912607362),
	vec2(-0.589987866609, -0.728574338866),
	vec2(-0.510599095327, -0.786253657449),
	vec2(-0.425616093506, -0.835318616427),
	vec2(-0.335969952699, -0.875231649841),
	vec2(-0.242642854784, -0.905555462146),
	vec2(-0.146657310975, -0.925957819308),
	vec2(-0.0490649589778, -0.936215188832),
	vec2(0.0490649589778, -0.936215188832),
	vec2(0.146657310975, -0.925957819308),
	vec2(0.242642854784, -0.905555462146),
	vec2(0.335969952699, -0.875231649841),
	vec2(0.425616093506, -0.835318616427),
	vec2(0.510599095327, -0.786253657449),
	vec2(0.589987866609, -0.728574338866),
	vec2(0.662912607362, -0.662912607362),
	vec2(0.728574338866, -0.589987866609),
	vec2(0.786253657449, -0.510599095327),
	vec2(0.835318616427, -0.425616093506),
	vec2(0.875231649841, -0.335969952699),
	vec2(0.905555462146, -0.242642854784),
	vec2(0.925957819308, -0.146657310975),
	vec2(0.936215188832, -0.0490649589778)
);