Blender V4.5
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
8
9#ifdef GPU_SHADER
10# pragma once
11# include "gpu_glsl_cpp_stubs.hh"
12
13# include "GPU_shader_shared.hh"
14#endif
15
17
18GPU_SHADER_INTERFACE_INFO(nodelink_iface)
19SMOOTH(float4, finalColor)
20SMOOTH(float2, lineUV)
21FLAT(float, lineLength)
22FLAT(float, lineThickness)
23FLAT(float, dashLength)
24FLAT(float, dashFactor)
25FLAT(int, hasBackLink)
26FLAT(float, dashAlpha)
27FLAT(int, isMainLine)
28FLAT(float, aspect)
30
31GPU_SHADER_CREATE_INFO(gpu_shader_2D_nodelink)
32VERTEX_IN(0, float2, uv)
34VERTEX_IN(2, float2, expand)
35VERTEX_OUT(nodelink_iface)
36FRAGMENT_OUT(0, float4, fragColor)
37UNIFORM_BUF_FREQ(0, NodeLinkData, node_link_data, PASS)
38PUSH_CONSTANT(float4x4, ModelViewProjectionMatrix)
39VERTEX_SOURCE("gpu_shader_2D_nodelink_vert.glsl")
40FRAGMENT_SOURCE("gpu_shader_2D_nodelink_frag.glsl")
41TYPEDEF_SOURCE("GPU_shader_shared.hh")
44
45GPU_SHADER_CREATE_INFO(gpu_shader_2D_nodelink_inst)
46VERTEX_IN(0, float2, uv)
48VERTEX_IN(2, float2, expand)
49VERTEX_IN(3, float2, P0)
50VERTEX_IN(4, float2, P1)
51VERTEX_IN(5, float2, P2)
52VERTEX_IN(6, float2, P3)
53VERTEX_IN(7, uint4, colid_doarrow)
54VERTEX_IN(8, float4, start_color)
55VERTEX_IN(9, float4, end_color)
56VERTEX_IN(10, uint2, domuted)
57VERTEX_IN(11, float, dim_factor)
58VERTEX_IN(12, float, thickness)
59VERTEX_IN(13, float3, dash_params)
60VERTEX_IN(14, int, has_back_link)
61VERTEX_OUT(nodelink_iface)
62FRAGMENT_OUT(0, float4, fragColor)
63UNIFORM_BUF_FREQ(0, NodeLinkInstanceData, node_link_data, PASS)
64PUSH_CONSTANT(float4x4, ModelViewProjectionMatrix)
65VERTEX_SOURCE("gpu_shader_2D_nodelink_vert.glsl")
66FRAGMENT_SOURCE("gpu_shader_2D_nodelink_frag.glsl")
67TYPEDEF_SOURCE("GPU_shader_shared.hh")
68DEFINE("USE_INSTANCE")
uint pos
VecBase< float, 4 > float4
MatBase< 4, 4 > float4x4
#define TYPEDEF_SOURCE(filename)
#define VERTEX_OUT(stage_interface)
#define SMOOTH(type, name)
#define GPU_SHADER_INTERFACE_END()
#define FRAGMENT_SOURCE(filename)
#define PUSH_CONSTANT(type, name)
#define DEFINE(name)
#define FLAT(type, name)
#define FRAGMENT_OUT(slot, type, name)
#define UNIFORM_BUF_FREQ(slot, type_name, name, freq)
#define GPU_SHADER_INTERFACE_INFO(_interface)
#define GPU_SHADER_CREATE_INFO(_info)
#define VERTEX_SOURCE(filename)
#define VERTEX_IN(slot, type, name)
#define GPU_SHADER_CREATE_END()
#define DO_STATIC_COMPILATION()