Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/draw/engines/workbench/workbench_private.h')
-rw-r--r--source/blender/draw/engines/workbench/workbench_private.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_private.h b/source/blender/draw/engines/workbench/workbench_private.h
index 8983826f16f..81793367768 100644
--- a/source/blender/draw/engines/workbench/workbench_private.h
+++ b/source/blender/draw/engines/workbench/workbench_private.h
@@ -82,6 +82,13 @@ typedef enum eWORKBENCH_DataType {
WORKBENCH_DATATYPE_MAX,
} eWORKBENCH_DataType;
+/* Types of volume display interpolation. */
+typedef enum eWORKBENCH_VolumeInterpType {
+ WORKBENCH_VOLUME_INTERP_LINEAR = 0,
+ WORKBENCH_VOLUME_INTERP_CUBIC,
+ WORKBENCH_VOLUME_INTERP_CLOSEST,
+} eWORKBENCH_VolumeInterpType;
+
typedef struct WORKBENCH_FramebufferList {
struct GPUFrameBuffer *opaque_fb;
struct GPUFrameBuffer *opaque_infront_fb;
@@ -131,6 +138,9 @@ typedef struct WORKBENCH_PassList {
struct DRWPass *transp_accum_ps;
struct DRWPass *transp_accum_infront_ps;
+ struct DRWPass *transp_depth_infront_ps;
+ struct DRWPass *transp_depth_ps;
+
struct DRWPass *shadow_ps[2];
struct DRWPass *merge_infront_ps;
@@ -425,7 +435,10 @@ GPUShader *workbench_shader_outline_get(void);
GPUShader *workbench_shader_antialiasing_accumulation_get(void);
GPUShader *workbench_shader_antialiasing_get(int stage);
-GPUShader *workbench_shader_volume_get(bool slice, bool coba, bool cubic, bool smoke);
+GPUShader *workbench_shader_volume_get(bool slice,
+ bool coba,
+ eWORKBENCH_VolumeInterpType interp_type,
+ bool smoke);
void workbench_shader_depth_of_field_get(GPUShader **prepare_sh,
GPUShader **downsample_sh,