12 .local_group_size(1, 1)
13 .storage_buf(0, Qualifier::WRITE,
"vec4",
"posTime[]")
14 .sampler(0, ImageType::FLOAT_BUFFER,
"hairPointBuffer")
15 .sampler(1, ImageType::UINT_BUFFER,
"hairStrandBuffer")
16 .sampler(2, ImageType::UINT_BUFFER,
"hairStrandSegBuffer")
17 .push_constant(Type::MAT4,
"hairDupliMatrix")
18 .push_constant(Type::BOOL,
"hairCloseTip")
19 .push_constant(Type::FLOAT,
"hairRadShape")
20 .push_constant(Type::FLOAT,
"hairRadTip")
21 .push_constant(Type::FLOAT,
"hairRadRoot")
22 .push_constant(Type::INT,
"hairThicknessRes")
23 .push_constant(Type::INT,
"hairStrandsRes")
24 .push_constant(Type::INT,
"hairStrandOffset")
25 .compute_source(
"common_hair_refine_comp.glsl")
26 .define(
"HAIR_PHASE_SUBDIV")
27 .define(
"HAIR_SHADER")
28 .define(
"DRW_HAIR_INFO")
29 .do_static_compilation(
true);
#define GPU_SHADER_CREATE_INFO(_info)