8 .local_group_size(16, 16)
9 .push_constant(Type::FLOAT,
"scale")
10 .push_constant(Type::FLOAT,
"max_radius")
11 .sampler(0, ImageType::FLOAT_2D,
"radius_tx")
12 .image(0,
GPU_R16F, Qualifier::WRITE, ImageType::FLOAT_2D,
"radius_img")
13 .compute_source(
"compositor_defocus_radius_from_scale.glsl")
14 .do_static_compilation(
true);
17 .local_group_size(16, 16)
18 .push_constant(Type::FLOAT,
"f_stop")
19 .push_constant(Type::FLOAT,
"max_radius")
20 .push_constant(Type::FLOAT,
"focal_length")
21 .push_constant(Type::FLOAT,
"pixels_per_meter")
22 .push_constant(Type::FLOAT,
"distance_to_image_of_focus")
23 .sampler(0, ImageType::FLOAT_2D,
"depth_tx")
24 .image(0,
GPU_R16F, Qualifier::WRITE, ImageType::FLOAT_2D,
"radius_img")
25 .compute_source(
"compositor_defocus_radius_from_depth.glsl")
26 .do_static_compilation(
true);
29 .local_group_size(16, 16)
30 .push_constant(Type::BOOL,
"gamma_correct")
31 .push_constant(Type::INT,
"search_radius")
32 .sampler(0, ImageType::FLOAT_2D,
"input_tx")
33 .sampler(1, ImageType::FLOAT_2D,
"weights_tx")
34 .sampler(2, ImageType::FLOAT_2D,
"radius_tx")
35 .image(0,
GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D,
"output_img")
36 .compute_source(
"compositor_defocus_blur.glsl")
37 .do_static_compilation(
true);
#define GPU_SHADER_CREATE_INFO(_info)