diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-02-24 03:19:08 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-02-24 15:48:38 +0300 |
commit | ed21506f2634a863c4ebfddf75754c9adb66ca3b (patch) | |
tree | 2cb9c8d7f16303e00990b69a7034a09c1f4f463b /source/blender/draw/engines/overlay/overlay_private.h | |
parent | fc81eb74e7f9bdce239d745bfbc0cbf581eb075d (diff) |
Overlay: Remove Xray dithering noise
We now use a better smoother technique that uses correct alpha blending.
This is possible now that we render overlays in a separate buffer.
Diffstat (limited to 'source/blender/draw/engines/overlay/overlay_private.h')
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_private.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_private.h b/source/blender/draw/engines/overlay/overlay_private.h index 4cd3877f21f..185df723301 100644 --- a/source/blender/draw/engines/overlay/overlay_private.h +++ b/source/blender/draw/engines/overlay/overlay_private.h @@ -35,6 +35,7 @@ typedef struct OVERLAY_FramebufferList { struct GPUFrameBuffer *overlay_color_only_fb; struct GPUFrameBuffer *overlay_in_front_fb; struct GPUFrameBuffer *overlay_line_in_front_fb; + struct GPUFrameBuffer *overlay_xray_depth_copy_fb; struct GPUFrameBuffer *outlines_prepass_fb; struct GPUFrameBuffer *outlines_resolve_fb; } OVERLAY_FramebufferList; @@ -94,6 +95,7 @@ typedef struct OVERLAY_PassList { DRWPass *sculpt_mask_ps; DRWPass *wireframe_ps; DRWPass *wireframe_xray_ps; + DRWPass *xray_fade_ps; } OVERLAY_PassList; /* Data used by GLSL shader. To be used as UBO. */ @@ -272,6 +274,7 @@ typedef struct OVERLAY_PrivateData { bool hide_overlays; bool xray_enabled; bool xray_enabled_and_not_wire; + float xray_opacity; short v3d_flag; /* TODO move to View3DOverlay */ short v3d_gridflag; /* TODO move to View3DOverlay */ DRWState clipping_state; @@ -391,6 +394,8 @@ void OVERLAY_antialiasing_cache_init(OVERLAY_Data *vedata); void OVERLAY_antialiasing_cache_finish(OVERLAY_Data *vedata); void OVERLAY_antialiasing_start(OVERLAY_Data *vedata); void OVERLAY_antialiasing_end(OVERLAY_Data *vedata); +void OVERLAY_xray_fade_draw(OVERLAY_Data *vedata); +void OVERLAY_xray_depth_copy(OVERLAY_Data *vedata); bool OVERLAY_armature_is_pose_mode(Object *ob, const struct DRWContextState *draw_ctx); void OVERLAY_armature_cache_init(OVERLAY_Data *vedata); @@ -579,6 +584,7 @@ GPUShader *OVERLAY_shader_sculpt_mask(void); GPUShader *OVERLAY_shader_volume_velocity(bool use_needle); GPUShader *OVERLAY_shader_wireframe(void); GPUShader *OVERLAY_shader_wireframe_select(void); +GPUShader *OVERLAY_shader_xray_fade(void); OVERLAY_InstanceFormats *OVERLAY_shader_instance_formats_get(void); |