Blender V5.0
draw_object_infos_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_shader_shared.hh"
11
12# include "draw_view_infos.hh"
13
14# define CURVES_SHADER
15# define DRW_GPENCIL_INFO
16#endif
17
18#include "draw_defines.hh"
20
21GPU_SHADER_CREATE_INFO(draw_volume_infos)
22TYPEDEF_SOURCE("draw_shader_shared.hh")
23DEFINE("VOLUME_INFO_LIB")
26
27GPU_SHADER_CREATE_INFO(draw_curves_infos)
28TYPEDEF_SOURCE("draw_shader_shared.hh")
31
32GPU_SHADER_CREATE_INFO(draw_layer_attributes)
33TYPEDEF_SOURCE("draw_shader_shared.hh")
34DEFINE("VLATTR_LIB")
37 drw_layer_attrs[DRW_RESOURCE_CHUNK_LEN],
38 BATCH)
40
41GPU_SHADER_CREATE_INFO(draw_object_infos)
42TYPEDEF_SOURCE("draw_shader_shared.hh")
43DEFINE("OBINFO_LIB")
46
48GPU_SHADER_CREATE_INFO(draw_object_attributes)
49DEFINE("OBATTR_LIB")
51ADDITIONAL_INFO(draw_object_infos)
53
54/* -------------------------------------------------------------------- */
57
59ADDITIONAL_INFO(draw_modelmat)
61
62GPU_SHADER_CREATE_INFO(draw_curves)
63DEFINE("CURVES_SHADER")
64DEFINE("DRW_HAIR_INFO")
65SAMPLER_FREQ(0, samplerBuffer, curves_pos_rad_buf, BATCH)
66SAMPLER_FREQ(1, isamplerBuffer, curves_indirection_buf, BATCH)
68
69GPU_SHADER_CREATE_INFO(draw_pointcloud)
70SAMPLER_FREQ(0, samplerBuffer, ptcloud_pos_rad_tx, BATCH)
71DEFINE("POINTCLOUD_SHADER")
72DEFINE("DRW_POINTCLOUD_INFO")
74
75GPU_SHADER_CREATE_INFO(draw_volume)
76ADDITIONAL_INFO(draw_modelmat)
78
79GPU_SHADER_CREATE_INFO(draw_gpencil)
80TYPEDEF_SOURCE("gpencil_shader_shared.hh")
81DEFINE("DRW_GPENCIL_INFO")
82SAMPLER(0, samplerBuffer, gp_pos_tx)
83SAMPLER(1, samplerBuffer, gp_col_tx)
84ADDITIONAL_INFO(draw_resource_id_varying)
85ADDITIONAL_INFO(draw_view)
86ADDITIONAL_INFO(draw_object_infos)
88
#define DRW_OBJ_INFOS_SLOT
#define DRW_OBJ_ATTR_SLOT
#define DRW_OBJ_DATA_INFO_UBO_SLOT
#define DRW_LAYER_ATTR_UBO_SLOT
#define DRW_RESOURCE_CHUNK_LEN
#define GPU_SHADER_CREATE_INFO(_info)
#define GPU_SHADER_CREATE_END()
#define TYPEDEF_SOURCE(filename)
#define SAMPLER(slot, type, name)
#define ADDITIONAL_INFO(info_name)
#define DEFINE(name)
#define UNIFORM_BUF_FREQ(slot, type_name, name, freq)
#define SAMPLER_FREQ(slot, type, name, freq)
#define STORAGE_BUF(slot, qualifiers, type_name, name)
SamplerBase< float, 1 > samplerBuffer
SamplerBase< int, 1 > isamplerBuffer