Blender V5.0
overlay_sculpt_curves_infos.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#ifdef GPU_SHADER
6# pragma once
7# include "gpu_shader_compat.hh"
8
10# include "draw_view_infos.hh"
11
12# define CURVES_SHADER
13# define DRW_HAIR_INFO
14#endif
15
17
18GPU_SHADER_INTERFACE_INFO(overlay_sculpt_curves_selection_iface)
19SMOOTH(float, mask_weight)
21
22GPU_SHADER_CREATE_INFO(overlay_sculpt_curves_selection)
24PUSH_CONSTANT(bool, is_point_domain)
25PUSH_CONSTANT(float, selection_opacity)
26SAMPLER(2, samplerBuffer, selection_tx)
27VERTEX_OUT(overlay_sculpt_curves_selection_iface)
28VERTEX_SOURCE("overlay_sculpt_curves_selection_vert.glsl")
29FRAGMENT_SOURCE("overlay_sculpt_curves_selection_frag.glsl")
30FRAGMENT_OUT(0, float4, out_color)
31ADDITIONAL_INFO(draw_view)
32ADDITIONAL_INFO(draw_modelmat)
33ADDITIONAL_INFO(draw_globals)
34ADDITIONAL_INFO(draw_curves)
35ADDITIONAL_INFO(draw_curves_infos)
37
38OVERLAY_INFO_CLIP_VARIATION(overlay_sculpt_curves_selection)
39
40GPU_SHADER_INTERFACE_INFO(overlay_sculpt_curves_cage_iface)
41NO_PERSPECTIVE(float2, edge_pos)
42FLAT(float2, edge_start)
43SMOOTH(float4, final_color)
45
46GPU_SHADER_CREATE_INFO(overlay_sculpt_curves_cage)
49VERTEX_IN(1, float, selection)
50VERTEX_OUT(overlay_sculpt_curves_cage_iface)
51FRAGMENT_OUT(0, float4, frag_color)
52FRAGMENT_OUT(1, float4, line_output)
53PUSH_CONSTANT(float, opacity)
54VERTEX_SOURCE("overlay_sculpt_curves_cage_vert.glsl")
55FRAGMENT_SOURCE("overlay_extra_frag.glsl")
56ADDITIONAL_INFO(draw_view)
57ADDITIONAL_INFO(draw_modelmat)
58ADDITIONAL_INFO(draw_globals)
60
61OVERLAY_INFO_CLIP_VARIATION(overlay_sculpt_curves_cage)
uint pos
#define GPU_SHADER_INTERFACE_END()
#define GPU_SHADER_INTERFACE_INFO(_interface)
#define GPU_SHADER_CREATE_INFO(_info)
#define GPU_SHADER_CREATE_END()
#define VERTEX_OUT(stage_interface)
#define SMOOTH(type, name)
#define SAMPLER(slot, type, name)
#define FRAGMENT_SOURCE(filename)
#define ADDITIONAL_INFO(info_name)
#define PUSH_CONSTANT(type, name)
#define FLAT(type, name)
#define FRAGMENT_OUT(slot, type, name)
#define NO_PERSPECTIVE(type, name)
#define VERTEX_SOURCE(filename)
#define VERTEX_IN(slot, type, name)
#define DO_STATIC_COMPILATION()
SamplerBase< float, 1 > samplerBuffer
#define OVERLAY_INFO_CLIP_VARIATION(name)