12 .smooth(Type::VEC4,
"finalColor")
13 .smooth(Type::VEC2,
"lineUV")
14 .flat(Type::FLOAT,
"lineLength")
15 .flat(Type::FLOAT,
"lineThickness")
16 .flat(Type::FLOAT,
"dashLength")
17 .flat(Type::FLOAT,
"dashFactor")
18 .flat(Type::INT,
"hasBackLink")
19 .flat(Type::FLOAT,
"dashAlpha")
20 .flat(Type::INT,
"isMainLine")
21 .flat(Type::FLOAT,
"aspect");
24 .vertex_in(0, Type::VEC2,
"uv")
25 .vertex_in(1, Type::VEC2,
"pos")
26 .vertex_in(2, Type::VEC2,
"expand")
27 .vertex_out(nodelink_iface)
28 .fragment_out(0, Type::VEC4,
"fragColor")
29 .uniform_buf(0,
"NodeLinkData",
"node_link_data", Frequency::PASS)
30 .push_constant(Type::MAT4,
"ModelViewProjectionMatrix")
31 .vertex_source(
"gpu_shader_2D_nodelink_vert.glsl")
32 .fragment_source(
"gpu_shader_2D_nodelink_frag.glsl")
33 .typedef_source(
"GPU_shader_shared.hh")
34 .do_static_compilation(
true);
37 .vertex_in(0, Type::VEC2,
"uv")
38 .vertex_in(1, Type::VEC2,
"pos")
39 .vertex_in(2, Type::VEC2,
"expand")
40 .vertex_in(3, Type::VEC2,
"P0")
41 .vertex_in(4, Type::VEC2,
"P1")
42 .vertex_in(5, Type::VEC2,
"P2")
43 .vertex_in(6, Type::VEC2,
"P3")
44 .vertex_in(7, Type::UVEC4,
"colid_doarrow")
45 .vertex_in(8, Type::VEC4,
"start_color")
46 .vertex_in(9, Type::VEC4,
"end_color")
47 .vertex_in(10, Type::UVEC2,
"domuted")
48 .vertex_in(11, Type::FLOAT,
"dim_factor")
49 .vertex_in(12, Type::FLOAT,
"thickness")
50 .vertex_in(13, Type::VEC3,
"dash_params")
51 .vertex_in(14, Type::INT,
"has_back_link")
52 .vertex_out(nodelink_iface)
53 .fragment_out(0, Type::VEC4,
"fragColor")
54 .uniform_buf(0,
"NodeLinkInstanceData",
"node_link_data", Frequency::PASS)
55 .push_constant(Type::MAT4,
"ModelViewProjectionMatrix")
56 .vertex_source(
"gpu_shader_2D_nodelink_vert.glsl")
57 .fragment_source(
"gpu_shader_2D_nodelink_frag.glsl")
58 .typedef_source(
"GPU_shader_shared.hh")
59 .define(
"USE_INSTANCE")
60 .do_static_compilation(
true);
#define GPU_SHADER_INTERFACE_INFO(_interface, _inst_name)
#define GPU_SHADER_CREATE_INFO(_info)