16# define WORKBENCH_COLOR_MATERIAL
17# define WORKBENCH_COLOR_TEXTURE
18# define WORKBENCH_TEXTURE_IMAGE_ARRAY
19# define WORKBENCH_COLOR_MATERIAL
20# define WORKBENCH_COLOR_VERTEX
21# define WORKBENCH_LIGHTING_MATCAP
26# define POINTCLOUD_SHADER
27# define DRW_POINTCLOUD_INFO
69DEFINE(
"WORKBENCH_LIGHTING_FLAT")
72DEFINE(
"WORKBENCH_LIGHTING_STUDIO")
75DEFINE(
"WORKBENCH_LIGHTING_MATCAP")
91FLAT(
float, _roughness)
96DEFINE(
"WORKBENCH_COLOR_MATERIAL")
101DEFINE(
"WORKBENCH_COLOR_TEXTURE")
102DEFINE(
"WORKBENCH_TEXTURE_IMAGE_ARRAY")
103DEFINE(
"WORKBENCH_COLOR_MATERIAL")
114DEFINE(
"WORKBENCH_COLOR_VERTEX")
155DEFINE(
"WORKBENCH_SHADING_FLAT")
158DEFINE(
"WORKBENCH_SHADING_STUDIO")
161DEFINE(
"WORKBENCH_SHADING_MATCAP")
164#define WORKBENCH_CLIPPING_VARIATIONS(prefix, ...) \
165 CREATE_INFO_VARIANT(prefix##_clip, drw_clipped, __VA_ARGS__) \
166 CREATE_INFO_VARIANT(prefix##_no_clip, __VA_ARGS__)
168#define WORKBENCH_COLOR_VARIATIONS(prefix, ...) \
169 WORKBENCH_CLIPPING_VARIATIONS(prefix##_material, workbench_color_material, __VA_ARGS__) \
170 WORKBENCH_CLIPPING_VARIATIONS(prefix##_texture, workbench_color_texture, __VA_ARGS__) \
171 WORKBENCH_CLIPPING_VARIATIONS(prefix##_vertex, workbench_color_vertex, __VA_ARGS__)
173#define WORKBENCH_SHADING_VARIATIONS(prefix, ...) \
174 WORKBENCH_COLOR_VARIATIONS(prefix##_flat, workbench_lighting_flat, __VA_ARGS__) \
175 WORKBENCH_COLOR_VARIATIONS(prefix##_studio, workbench_lighting_studio, __VA_ARGS__) \
176 WORKBENCH_COLOR_VARIATIONS(prefix##_matcap, workbench_lighting_matcap, __VA_ARGS__)
178#define WORKBENCH_PIPELINE_VARIATIONS(prefix, ...) \
179 WORKBENCH_SHADING_VARIATIONS(prefix##_transparent, workbench_transparent_accum, __VA_ARGS__) \
180 WORKBENCH_SHADING_VARIATIONS(prefix##_opaque, workbench_opaque, __VA_ARGS__)
182#define WORKBENCH_GEOMETRY_VARIATIONS(prefix, ...) \
183 WORKBENCH_PIPELINE_VARIATIONS(prefix##_mesh, workbench_mesh, __VA_ARGS__) \
184 WORKBENCH_PIPELINE_VARIATIONS(prefix##_curves, workbench_curves, __VA_ARGS__) \
185 WORKBENCH_PIPELINE_VARIATIONS(prefix##_ptcloud, workbench_pointcloud, __VA_ARGS__)
189#undef WORKBENCH_FINAL_VARIATION
190#undef WORKBENCH_CLIPPING_VARIATIONS
191#undef WORKBENCH_TEXTURE_VARIATIONS
192#undef WORKBENCH_DATATYPE_VARIATIONS
193#undef WORKBENCH_PIPELINE_VARIATIONS
#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 SAMPLER_FREQ(slot, type, name, freq)
#define STORAGE_BUF(slot, qualifiers, type_name, name)
#define VERTEX_SOURCE(filename)
#define VERTEX_IN(slot, type, name)
SamplerBase< float, 1, false, true > sampler1DArray
SamplerBase< float, 1 > samplerBuffer
SamplerBase< float, 2, false, true > sampler2DArray
SamplerBase< float, 2 > sampler2D
#define WB_TILE_DATA_SLOT
#define WB_CURVES_COLOR_SLOT
#define WB_CURVES_UV_SLOT
#define WB_TILE_ARRAY_SLOT
#define WORKBENCH_GEOMETRY_VARIATIONS(prefix,...)