141#define WORKBENCH_VOLUME_SLICE_VARIATIONS(prefix, ...) \
142 CREATE_INFO_VARIANT(prefix##_slice, workbench_volume_slice, __VA_ARGS__) \
143 CREATE_INFO_VARIANT(prefix##_no_slice, __VA_ARGS__)
145#define WORKBENCH_VOLUME_COBA_VARIATIONS(prefix, ...) \
146 WORKBENCH_VOLUME_SLICE_VARIATIONS(prefix##_coba, workbench_volume_coba, __VA_ARGS__) \
147 WORKBENCH_VOLUME_SLICE_VARIATIONS(prefix##_no_coba, workbench_volume_no_coba, __VA_ARGS__)
149#define WORKBENCH_VOLUME_INTERP_VARIATIONS(prefix, ...) \
150 WORKBENCH_VOLUME_COBA_VARIATIONS(prefix##_linear, workbench_volume_linear, __VA_ARGS__) \
151 WORKBENCH_VOLUME_COBA_VARIATIONS(prefix##_cubic, workbench_volume_cubic, __VA_ARGS__) \
152 WORKBENCH_VOLUME_COBA_VARIATIONS(prefix##_closest, workbench_volume_closest, __VA_ARGS__)
154#define WORKBENCH_VOLUME_SMOKE_VARIATIONS(prefix, ...) \
155 WORKBENCH_VOLUME_INTERP_VARIATIONS(prefix##_smoke, workbench_volume_smoke, __VA_ARGS__) \
156 WORKBENCH_VOLUME_INTERP_VARIATIONS(prefix##_object, workbench_volume_object, __VA_ARGS__)
#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)
SamplerBase< float, 1 > sampler1D
SamplerBase< float, 3 > sampler3D
SamplerBase< float, 2, false, false, false, true > sampler2DDepth
SamplerBase< uint, 3 > usampler3D
SamplerBase< uint, 2 > usampler2D
#define WORKBENCH_VOLUME_SMOKE_VARIATIONS(prefix,...)