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
68DEFINE(
"WORKBENCH_LIGHTING_FLAT")
71DEFINE(
"WORKBENCH_LIGHTING_STUDIO")
74DEFINE(
"WORKBENCH_LIGHTING_MATCAP")
90FLAT(
float, _roughness)
95DEFINE(
"WORKBENCH_COLOR_MATERIAL")
100DEFINE(
"WORKBENCH_COLOR_TEXTURE")
101DEFINE(
"WORKBENCH_TEXTURE_IMAGE_ARRAY")
102DEFINE(
"WORKBENCH_COLOR_MATERIAL")
113DEFINE(
"WORKBENCH_COLOR_VERTEX")
154DEFINE(
"WORKBENCH_SHADING_FLAT")
157DEFINE(
"WORKBENCH_SHADING_STUDIO")
160DEFINE(
"WORKBENCH_SHADING_MATCAP")
163#define WORKBENCH_CLIPPING_VARIATIONS(prefix, ...) \
164 CREATE_INFO_VARIANT(prefix##_clip, drw_clipped, __VA_ARGS__) \
165 CREATE_INFO_VARIANT(prefix##_no_clip, __VA_ARGS__)
167#define WORKBENCH_COLOR_VARIATIONS(prefix, ...) \
168 WORKBENCH_CLIPPING_VARIATIONS(prefix##_material, workbench_color_material, __VA_ARGS__) \
169 WORKBENCH_CLIPPING_VARIATIONS(prefix##_texture, workbench_color_texture, __VA_ARGS__) \
170 WORKBENCH_CLIPPING_VARIATIONS(prefix##_vertex, workbench_color_vertex, __VA_ARGS__)
172#define WORKBENCH_SHADING_VARIATIONS(prefix, ...) \
173 WORKBENCH_COLOR_VARIATIONS(prefix##_flat, workbench_lighting_flat, __VA_ARGS__) \
174 WORKBENCH_COLOR_VARIATIONS(prefix##_studio, workbench_lighting_studio, __VA_ARGS__) \
175 WORKBENCH_COLOR_VARIATIONS(prefix##_matcap, workbench_lighting_matcap, __VA_ARGS__)
177#define WORKBENCH_PIPELINE_VARIATIONS(prefix, ...) \
178 WORKBENCH_SHADING_VARIATIONS(prefix##_transparent, workbench_transparent_accum, __VA_ARGS__) \
179 WORKBENCH_SHADING_VARIATIONS(prefix##_opaque, workbench_opaque, __VA_ARGS__)
181#define WORKBENCH_GEOMETRY_VARIATIONS(prefix, ...) \
182 WORKBENCH_PIPELINE_VARIATIONS(prefix##_mesh, workbench_mesh, __VA_ARGS__) \
183 WORKBENCH_PIPELINE_VARIATIONS(prefix##_curves, workbench_curves, __VA_ARGS__) \
184 WORKBENCH_PIPELINE_VARIATIONS(prefix##_ptcloud, workbench_pointcloud, __VA_ARGS__)
188#undef WORKBENCH_FINAL_VARIATION
189#undef WORKBENCH_CLIPPING_VARIATIONS
190#undef WORKBENCH_TEXTURE_VARIATIONS
191#undef WORKBENCH_DATATYPE_VARIATIONS
192#undef WORKBENCH_PIPELINE_VARIATIONS
SamplerBase< float, 1, false, true > sampler1DArray
SamplerBase< float, 1 > samplerBuffer
VecBase< float, 4 > float4
SamplerBase< float, 2, false, true > sampler2DArray
SamplerBase< float, 2 > sampler2D
#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 GPU_SHADER_INTERFACE_END()
#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 GPU_SHADER_INTERFACE_INFO(_interface)
#define STORAGE_BUF(slot, qualifiers, type_name, name)
#define GPU_SHADER_CREATE_INFO(_info)
#define VERTEX_SOURCE(filename)
#define VERTEX_IN(slot, type, name)
#define GPU_SHADER_CREATE_END()
#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,...)