Blender V5.0
overlay_grid_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
9# include "draw_view_infos.hh"
10
12#endif
13
15
16/* We use the normalized local position to avoid precision loss during interpolation. */
17GPU_SHADER_INTERFACE_INFO(overlay_grid_iface)
18SMOOTH(float3, local_pos)
20
21GPU_SHADER_CREATE_INFO(overlay_grid_next)
23TYPEDEF_SOURCE("overlay_shader_shared.hh")
25VERTEX_OUT(overlay_grid_iface)
26FRAGMENT_OUT(0, float4, out_color)
27SAMPLER(0, sampler2DDepth, depth_tx)
28SAMPLER(1, sampler2DDepth, depth_infront_tx)
29UNIFORM_BUF(3, OVERLAY_GridData, grid_buf)
30PUSH_CONSTANT(float3, plane_axes)
31PUSH_CONSTANT(int, grid_flag)
32VERTEX_SOURCE("overlay_grid_vert.glsl")
33FRAGMENT_SOURCE("overlay_grid_frag.glsl")
34ADDITIONAL_INFO(draw_view)
35ADDITIONAL_INFO(draw_globals)
37
38GPU_SHADER_CREATE_INFO(overlay_grid_background)
41SAMPLER(0, sampler2DDepth, depth_buffer)
42PUSH_CONSTANT(float4, ucolor)
43FRAGMENT_OUT(0, float4, frag_color)
44VERTEX_SOURCE("overlay_edit_uv_tiled_image_borders_vert.glsl")
45FRAGMENT_SOURCE("overlay_grid_background_frag.glsl")
46ADDITIONAL_INFO(draw_view)
47ADDITIONAL_INFO(draw_modelmat)
48ADDITIONAL_INFO(draw_globals)
49DEFINE_VALUE("tile_pos", "float3(0.0f)")
50PUSH_CONSTANT(float3, tile_scale)
52
53GPU_SHADER_CREATE_INFO(overlay_grid_image)
56PUSH_CONSTANT(float4, ucolor)
57FRAGMENT_OUT(0, float4, frag_color)
58VERTEX_SOURCE("overlay_edit_uv_tiled_image_borders_vert.glsl")
59FRAGMENT_SOURCE("overlay_uniform_color_frag.glsl")
60ADDITIONAL_INFO(draw_view)
61ADDITIONAL_INFO(draw_modelmat)
62ADDITIONAL_INFO(draw_globals)
63STORAGE_BUF(0, read, float3, tile_pos_buf[])
64DEFINE_VALUE("tile_pos", "tile_pos_buf[gl_InstanceID]")
65DEFINE_VALUE("tile_scale", "float3(1.0f)");
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 TYPEDEF_SOURCE(filename)
#define VERTEX_OUT(stage_interface)
#define SMOOTH(type, name)
#define SAMPLER(slot, type, name)
#define UNIFORM_BUF(slot, type_name, name)
#define FRAGMENT_SOURCE(filename)
#define ADDITIONAL_INFO(info_name)
#define PUSH_CONSTANT(type, name)
#define FRAGMENT_OUT(slot, type, name)
#define STORAGE_BUF(slot, qualifiers, type_name, name)
#define VERTEX_SOURCE(filename)
#define VERTEX_IN(slot, type, name)
#define DO_STATIC_COMPILATION()
#define DEFINE_VALUE(name, value)
SamplerBase< float, 2, false, false, false, true > sampler2DDepth