Blender V5.0
select_id_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
6#include "select_defines.hh"
7
8/* -------------------------------------------------------------------- */
11
12GPU_SHADER_INTERFACE_INFO(select_id_iface)
13FLAT(int, select_id)
15
16GPU_SHADER_CREATE_INFO(select_id_flat)
17PUSH_CONSTANT(float, vertex_size)
18PUSH_CONSTANT(int, offset)
19PUSH_CONSTANT(float, retopology_offset)
21VERTEX_IN(1, int, index)
22VERTEX_OUT(select_id_iface)
23FRAGMENT_OUT(0, uint, frag_color)
24VERTEX_SOURCE("select_id_vert.glsl")
25FRAGMENT_SOURCE("select_id_frag.glsl")
26ADDITIONAL_INFO(draw_modelmat)
27ADDITIONAL_INFO(draw_view)
30
31GPU_SHADER_CREATE_INFO(select_id_uniform)
32DEFINE("UNIFORM_ID")
33PUSH_CONSTANT(float, vertex_size)
34PUSH_CONSTANT(int, select_id)
35PUSH_CONSTANT(float, retopology_offset)
37FRAGMENT_OUT(0, uint, frag_color)
38VERTEX_SOURCE("select_id_vert.glsl")
39FRAGMENT_SOURCE("select_id_frag.glsl")
40ADDITIONAL_INFO(draw_modelmat)
41ADDITIONAL_INFO(draw_view)
44
45GPU_SHADER_CREATE_INFO(select_id_flat_clipped)
46ADDITIONAL_INFO(select_id_flat)
47ADDITIONAL_INFO(draw_globals)
48ADDITIONAL_INFO(drw_clipped)
49DEFINE("USE_WORLD_CLIP_PLANES")
52
53GPU_SHADER_CREATE_INFO(select_id_uniform_clipped)
54ADDITIONAL_INFO(select_id_uniform)
55ADDITIONAL_INFO(draw_globals)
56ADDITIONAL_INFO(drw_clipped)
57DEFINE("USE_WORLD_CLIP_PLANES")
60
62
63GPU_SHADER_CREATE_INFO(select_debug_fullscreen)
64ADDITIONAL_INFO(gpu_fullscreen)
65FRAGMENT_SOURCE("select_debug_frag.glsl")
66SAMPLER(0, usampler2D, image)
67FRAGMENT_OUT(0, float4, frag_color)
unsigned int uint
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 SAMPLER(slot, type, name)
#define FRAGMENT_SOURCE(filename)
#define ADDITIONAL_INFO(info_name)
#define PUSH_CONSTANT(type, name)
#define DEFINE(name)
#define FLAT(type, name)
#define FRAGMENT_OUT(slot, type, name)
#define VERTEX_SOURCE(filename)
#define VERTEX_IN(slot, type, name)
#define DO_STATIC_COMPILATION()
SamplerBase< uint, 2 > usampler2D