Blender  V3.3
draw_hair_refine_info.hh
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2022 Blender Foundation. All rights reserved. */
3 
9 
10 GPU_SHADER_CREATE_INFO(draw_hair_refine_compute)
11  .local_group_size(1, 1)
12  .storage_buf(0, Qualifier::WRITE, "vec4", "posTime[]")
13  .sampler(0, ImageType::FLOAT_BUFFER, "hairPointBuffer")
14  .sampler(1, ImageType::UINT_BUFFER, "hairStrandBuffer")
15  .sampler(2, ImageType::UINT_BUFFER, "hairStrandSegBuffer")
16  .push_constant(Type::MAT4, "hairDupliMatrix")
17  .push_constant(Type::BOOL, "hairCloseTip")
18  .push_constant(Type::FLOAT, "hairRadShape")
19  .push_constant(Type::FLOAT, "hairRadTip")
20  .push_constant(Type::FLOAT, "hairRadRoot")
21  .push_constant(Type::INT, "hairThicknessRes")
22  .push_constant(Type::INT, "hairStrandsRes")
23  .push_constant(Type::INT, "hairStrandOffset")
24  .compute_source("common_hair_refine_comp.glsl")
25  .define("HAIR_PHASE_SUBDIV")
26  .do_static_compilation(true);
27 
28 GPU_SHADER_INTERFACE_INFO(draw_hair_refine_transform_feedback_workaround_iface, "")
29  .smooth(Type::VEC4, "finalColor");
30 
31 GPU_SHADER_CREATE_INFO(draw_hair_refine_transform_feedback_workaround)
32  .define("srgbTarget", "false")
33  .define("blender_srgb_to_framebuffer_space(a)", "a")
34  .define("HAIR_PHASE_SUBDIV")
35  .define("TF_WORKAROUND")
36 
37  /* Move these to "draw_hair"? */
38  .sampler(0, ImageType::UINT_BUFFER, "hairStrandBuffer")
39  .sampler(1, ImageType::UINT_BUFFER, "hairStrandSegBuffer")
40 
41  .push_constant(Type::INT, "targetWidth")
42  .push_constant(Type::INT, "targetHeight")
43  .push_constant(Type::INT, "idOffset")
44  .vertex_out(draw_hair_refine_transform_feedback_workaround_iface)
45  .fragment_out(0, Type::VEC4, "fragColor")
46  .vertex_source("common_hair_refine_vert.glsl")
47  .fragment_source("gpu_shader_3D_smooth_color_frag.glsl")
48  .additional_info("draw_hair")
49  .do_static_compilation(true);
#define GPU_SHADER_INTERFACE_INFO(_interface, _inst_name)
#define GPU_SHADER_CREATE_INFO(_info)
@ FLOAT