Blender V4.3
gpu_shader_2D_nodelink_info.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2022 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
10
11GPU_SHADER_INTERFACE_INFO(nodelink_iface, "")
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");
22
23GPU_SHADER_CREATE_INFO(gpu_shader_2D_nodelink)
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);
35
36GPU_SHADER_CREATE_INFO(gpu_shader_2D_nodelink_inst)
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)