/* 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) );