Blender  V3.3
workbench_volume_info.hh File Reference
#include "gpu_shader_create_info.hh"

Go to the source code of this file.

Macros

Variations Declaration
#define WORKBENCH_VOLUME_SLICE_VARIATIONS(prefix, ...)
 
#define WORKBENCH_VOLUME_COBA_VARIATIONS(prefix, ...)
 
#define WORKBENCH_VOLUME_INTERP_VARIATIONS(prefix, ...)
 
#define WORKBENCH_VOLUME_SMOKE_VARIATIONS(prefix, ...)
 

Functions

Volume shader base
 vertex_in (0, Type::VEC3, "pos") .fragment_out(0
 
fragColor sampler (0, ImageType::DEPTH_2D, "depthBuffer") .sampler(1
 
Color Band variation
 define ("USE_COBA") .sampler(4
 
Sampling variation
 GPU_SHADER_CREATE_INFO (workbench_volume_linear).define("USE_TRILINEAR")
 
 GPU_SHADER_CREATE_INFO (workbench_volume_cubic).define("USE_TRICUBIC")
 
 GPU_SHADER_CREATE_INFO (workbench_volume_closest).define("USE_CLOSEST")
 
Slice variation
GPU_SHADER_INTERFACE_INFO(workbench_volume_iface, "").smooth(Type define ("VOLUME_SLICE") .vertex_in(1
 

Smoke variation

flameTexture draw_resource_id_varying
 
 define ("VOLUME_SMOKE") .sampler(2
 
flameTexture sampler (3, ImageType::FLOAT_1D, "flameColorTexture") .additional_info("draw_mesh"
 

Macro Definition Documentation

◆ WORKBENCH_VOLUME_COBA_VARIATIONS

#define WORKBENCH_VOLUME_COBA_VARIATIONS (   prefix,
  ... 
)
Value:
WORKBENCH_VOLUME_SLICE_VARIATIONS(prefix##_coba, "workbench_volume_coba", __VA_ARGS__) \
WORKBENCH_VOLUME_SLICE_VARIATIONS(prefix##_no_coba, "workbench_volume_no_coba", __VA_ARGS__)
#define WORKBENCH_VOLUME_SLICE_VARIATIONS(prefix,...)

Definition at line 99 of file workbench_volume_info.hh.

◆ WORKBENCH_VOLUME_INTERP_VARIATIONS

#define WORKBENCH_VOLUME_INTERP_VARIATIONS (   prefix,
  ... 
)
Value:
WORKBENCH_VOLUME_COBA_VARIATIONS(prefix##_linear, "workbench_volume_linear", __VA_ARGS__) \
WORKBENCH_VOLUME_COBA_VARIATIONS(prefix##_cubic, "workbench_volume_cubic", __VA_ARGS__) \
WORKBENCH_VOLUME_COBA_VARIATIONS(prefix##_closest, "workbench_volume_closest", __VA_ARGS__)
#define WORKBENCH_VOLUME_COBA_VARIATIONS(prefix,...)

Definition at line 103 of file workbench_volume_info.hh.

◆ WORKBENCH_VOLUME_SLICE_VARIATIONS

#define WORKBENCH_VOLUME_SLICE_VARIATIONS (   prefix,
  ... 
)
Value:
GPU_SHADER_CREATE_INFO(prefix##_slice) \
.additional_info("workbench_volume_slice", __VA_ARGS__) \
.do_static_compilation(true); \
GPU_SHADER_CREATE_INFO(prefix##_no_slice) \
.additional_info(__VA_ARGS__) \
.do_static_compilation(true);
GPU_SHADER_CREATE_INFO(workbench_volume_linear).define("USE_TRILINEAR")

Definition at line 91 of file workbench_volume_info.hh.

◆ WORKBENCH_VOLUME_SMOKE_VARIATIONS

#define WORKBENCH_VOLUME_SMOKE_VARIATIONS (   prefix,
  ... 
)
Value:
WORKBENCH_VOLUME_INTERP_VARIATIONS(prefix##_smoke, "workbench_volume_smoke", __VA_ARGS__) \
WORKBENCH_VOLUME_INTERP_VARIATIONS(prefix##_object, "workbench_volume_object", __VA_ARGS__)
#define WORKBENCH_VOLUME_INTERP_VARIATIONS(prefix,...)

Definition at line 108 of file workbench_volume_info.hh.

Function Documentation

◆ define() [1/3]

define ( "USE_COBA"  )

◆ define() [2/3]

GPU_SHADER_INTERFACE_INFO (workbench_volume_iface, "").smooth(Type define ( "VOLUME_SLICE"  )

◆ define() [3/3]

define ( "VOLUME_SMOKE"  )

◆ GPU_SHADER_CREATE_INFO() [1/3]

GPU_SHADER_CREATE_INFO ( workbench_volume_closest  )

◆ GPU_SHADER_CREATE_INFO() [2/3]

GPU_SHADER_CREATE_INFO ( workbench_volume_cubic  )

◆ GPU_SHADER_CREATE_INFO() [3/3]

GPU_SHADER_CREATE_INFO ( workbench_volume_linear  )

◆ sampler() [1/2]

fragColor sampler ( ,
ImageType::DEPTH_2D  ,
"depthBuffer"   
)

◆ sampler() [2/2]

flameTexture sampler ( ,
ImageType::FLOAT_1D  ,
"flameColorTexture"   
)

◆ vertex_in()

vertex_in ( ,
Type::VEC3  ,
"pos"   
)

Variable Documentation

◆ draw_resource_id_varying

flameTexture draw_resource_id_varying

Definition at line 32 of file workbench_volume_info.hh.