Blender V5.0
overlay_viewer_attribute_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"
12
13# define CURVES_SHADER
14# define DRW_HAIR_INFO
15
16# define POINTCLOUD_SHADER
17# define DRW_POINTCLOUD_INFO
18#endif
19
21
22GPU_SHADER_INTERFACE_INFO(overlay_viewer_attribute_iface)
23SMOOTH(float4, final_color)
25
26GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_common)
27PUSH_CONSTANT(float, opacity)
29
30GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_mesh)
32VERTEX_SOURCE("overlay_viewer_attribute_mesh_vert.glsl")
33FRAGMENT_SOURCE("overlay_viewer_attribute_frag.glsl")
34FRAGMENT_OUT(0, float4, out_color)
35FRAGMENT_OUT(1, float4, line_output)
37VERTEX_IN(1, float4, attribute_value)
38VERTEX_OUT(overlay_viewer_attribute_iface)
39ADDITIONAL_INFO(overlay_viewer_attribute_common)
40ADDITIONAL_INFO(draw_view)
41ADDITIONAL_INFO(draw_modelmat)
42ADDITIONAL_INFO(draw_globals)
44
45OVERLAY_INFO_CLIP_VARIATION(overlay_viewer_attribute_mesh)
46
47GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_pointcloud)
49VERTEX_SOURCE("overlay_viewer_attribute_pointcloud_vert.glsl")
50FRAGMENT_SOURCE("overlay_viewer_attribute_frag.glsl")
51FRAGMENT_OUT(0, float4, out_color)
52FRAGMENT_OUT(1, float4, line_output)
53SAMPLER(3, samplerBuffer, attribute_tx)
54VERTEX_OUT(overlay_viewer_attribute_iface)
55ADDITIONAL_INFO(overlay_viewer_attribute_common)
56ADDITIONAL_INFO(draw_pointcloud)
57ADDITIONAL_INFO(draw_globals)
58ADDITIONAL_INFO(draw_view)
59ADDITIONAL_INFO(draw_modelmat)
61
62OVERLAY_INFO_CLIP_VARIATION(overlay_viewer_attribute_pointcloud)
63
64GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_curve)
66VERTEX_SOURCE("overlay_viewer_attribute_curve_vert.glsl")
67FRAGMENT_SOURCE("overlay_viewer_attribute_frag.glsl")
68FRAGMENT_OUT(0, float4, out_color)
69FRAGMENT_OUT(1, float4, line_output)
71VERTEX_IN(1, float4, attribute_value)
72VERTEX_OUT(overlay_viewer_attribute_iface)
73ADDITIONAL_INFO(overlay_viewer_attribute_common)
74ADDITIONAL_INFO(draw_view)
75ADDITIONAL_INFO(draw_globals)
76ADDITIONAL_INFO(draw_modelmat)
78
79OVERLAY_INFO_CLIP_VARIATION(overlay_viewer_attribute_curve)
80
81GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_curves)
83VERTEX_SOURCE("overlay_viewer_attribute_curves_vert.glsl")
84FRAGMENT_SOURCE("overlay_viewer_attribute_frag.glsl")
85FRAGMENT_OUT(0, float4, out_color)
86FRAGMENT_OUT(1, float4, line_output)
87SAMPLER(2, samplerBuffer, color_tx)
88PUSH_CONSTANT(bool, is_point_domain)
89VERTEX_OUT(overlay_viewer_attribute_iface)
90ADDITIONAL_INFO(overlay_viewer_attribute_common)
91ADDITIONAL_INFO(draw_curves)
92ADDITIONAL_INFO(draw_curves_infos)
93ADDITIONAL_INFO(draw_view)
94ADDITIONAL_INFO(draw_globals)
95ADDITIONAL_INFO(draw_modelmat)
97
98OVERLAY_INFO_CLIP_VARIATION(overlay_viewer_attribute_curves)
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 FRAGMENT_OUT(slot, 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)