9 .sampler(0, ImageType::FLOAT_2D,
"inputCocTex")
10 .sampler(1, ImageType::FLOAT_2D,
"maxCocTilesTex")
11 .sampler(2, ImageType::FLOAT_2D,
"sceneColorTex")
12 .sampler(3, ImageType::FLOAT_2D,
"sceneDepthTex")
13 .sampler(4, ImageType::FLOAT_2D,
"backgroundTex")
14 .sampler(5, ImageType::FLOAT_2D,
"halfResColorTex")
15 .sampler(6, ImageType::FLOAT_2D,
"blurTex")
16 .sampler(7, ImageType::FLOAT_2D,
"noiseTex")
17 .push_constant(Type::VEC2,
"invertedViewportSize")
18 .push_constant(Type::VEC2,
"nearFar")
19 .push_constant(Type::VEC3,
"dofParams")
20 .push_constant(Type::FLOAT,
"noiseOffset")
21 .fragment_source(
"workbench_effect_dof_frag.glsl")
22 .additional_info(
"draw_fullscreen")
23 .additional_info(
"draw_view");
27 .fragment_out(0, Type::VEC4,
"halfResColor")
28 .fragment_out(1, Type::VEC2,
"normalizedCoc")
29 .additional_info(
"workbench_effect_dof")
30 .do_static_compilation(
true);
34 .fragment_out(0, Type::VEC4,
"outColor")
35 .fragment_out(1, Type::VEC2,
"outCocs")
36 .additional_info(
"workbench_effect_dof")
37 .do_static_compilation(
true);
41 .define(
"NUM_SAMPLES",
"49")
42 .uniform_buf(1,
"vec4",
"samples[49]")
43 .fragment_out(0, Type::VEC4,
"blurColor")
44 .additional_info(
"workbench_effect_dof")
45 .do_static_compilation(
true);
49 .fragment_out(0, Type::VEC4,
"finalColor")
50 .additional_info(
"workbench_effect_dof")
51 .do_static_compilation(
true);
55 .fragment_out(0, Type::VEC4,
"finalColorAdd", DualBlend::SRC_0)
56 .fragment_out(0, Type::VEC4,
"finalColorMul", DualBlend::SRC_1)
57 .additional_info(
"workbench_effect_dof")
58 .do_static_compilation(
true);
#define GPU_SHADER_CREATE_INFO(_info)