diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-04-17 22:54:26 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-04-17 22:54:26 +0300 |
commit | 59d7fbb052bcb7949420fb9ad694d8e69992c846 (patch) | |
tree | 1d19038541500712edc342e2db90ace2f6e1d62f /source/blender/draw | |
parent | f2acfb460f991924917113ca085e0dd9b0babed7 (diff) | |
parent | 156319d2b30c222728e22e361cd75b1bd68345f0 (diff) |
Merge branch 'blender-v2.83-release'
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_engine.c | 1 | ||||
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_grid.c | 14 | ||||
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_shader.c | 3 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_hair.c | 1 |
4 files changed, 14 insertions, 5 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_engine.c b/source/blender/draw/engines/overlay/overlay_engine.c index 13b3be21668..99929fd1b07 100644 --- a/source/blender/draw/engines/overlay/overlay_engine.c +++ b/source/blender/draw/engines/overlay/overlay_engine.c @@ -69,6 +69,7 @@ static void OVERLAY_engine_init(void *vedata) pd->overlay.flag = V3D_OVERLAY_HIDE_TEXT | V3D_OVERLAY_HIDE_MOTION_PATHS | V3D_OVERLAY_HIDE_BONES | V3D_OVERLAY_HIDE_OBJECT_XTRAS | V3D_OVERLAY_HIDE_OBJECT_ORIGINS; + pd->overlay.wireframe_threshold = v3d->overlay.wireframe_threshold; } if (v3d->shading.type == OB_WIRE) { diff --git a/source/blender/draw/engines/overlay/overlay_grid.c b/source/blender/draw/engines/overlay/overlay_grid.c index 6f6ad36b4f8..858ccf02625 100644 --- a/source/blender/draw/engines/overlay/overlay_grid.c +++ b/source/blender/draw/engines/overlay/overlay_grid.c @@ -169,7 +169,7 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) psl->grid_ps = NULL; - if (shd->grid_flag == 0 || !DRW_state_is_fbo()) { + if ((shd->grid_flag == 0 && shd->zpos_flag == 0) || !DRW_state_is_fbo()) { return; } @@ -188,7 +188,9 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) DRW_shgroup_uniform_float_copy(grp, "meshSize", shd->grid_mesh_size); DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); DRW_shgroup_uniform_texture_ref(grp, "depthBuffer", &dtxl->depth); - DRW_shgroup_call(grp, geom, NULL); + if (shd->zneg_flag) { + DRW_shgroup_call(grp, geom, NULL); + } grp = DRW_shgroup_create(sh, psl->grid_ps); DRW_shgroup_uniform_int(grp, "gridFlag", &shd->grid_flag, 1); @@ -196,14 +198,18 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); DRW_shgroup_uniform_texture_ref(grp, "depthBuffer", &dtxl->depth); DRW_shgroup_uniform_float(grp, "gridSteps", shd->grid_steps, ARRAY_SIZE(shd->grid_steps)); - DRW_shgroup_call(grp, geom, NULL); + if (shd->grid_flag) { + DRW_shgroup_call(grp, geom, NULL); + } grp = DRW_shgroup_create(sh, psl->grid_ps); DRW_shgroup_uniform_int(grp, "gridFlag", &shd->zpos_flag, 1); DRW_shgroup_uniform_vec3(grp, "planeAxes", shd->zplane_axes, 1); DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); DRW_shgroup_uniform_texture_ref(grp, "depthBuffer", &dtxl->depth); - DRW_shgroup_call(grp, geom, NULL); + if (shd->zpos_flag) { + DRW_shgroup_call(grp, geom, NULL); + } } void OVERLAY_grid_draw(OVERLAY_Data *vedata) diff --git a/source/blender/draw/engines/overlay/overlay_shader.c b/source/blender/draw/engines/overlay/overlay_shader.c index 607981cb0d0..264791a6661 100644 --- a/source/blender/draw/engines/overlay/overlay_shader.c +++ b/source/blender/draw/engines/overlay/overlay_shader.c @@ -1341,6 +1341,7 @@ struct GPUShader *OVERLAY_shader_volume_velocity(bool use_needle) NULL, datatoc_gpu_shader_flat_color_frag_glsl, datatoc_common_view_lib_glsl, + "#define blender_srgb_to_framebuffer_space(a) a\n" "#define USE_NEEDLE\n"); } else if (!sh_data->volume_velocity_sh) { @@ -1349,7 +1350,7 @@ struct GPUShader *OVERLAY_shader_volume_velocity(bool use_needle) NULL, datatoc_gpu_shader_flat_color_frag_glsl, datatoc_common_view_lib_glsl, - NULL); + "#define blender_srgb_to_framebuffer_space(a) a\n"); } return (use_needle) ? sh_data->volume_velocity_needle_sh : sh_data->volume_velocity_sh; } diff --git a/source/blender/draw/intern/draw_hair.c b/source/blender/draw/intern/draw_hair.c index 0fe68950cde..ed7c72ac116 100644 --- a/source/blender/draw/intern/draw_hair.c +++ b/source/blender/draw/intern/draw_hair.c @@ -89,6 +89,7 @@ static GPUShader *hair_refine_shader_get(ParticleRefineShader sh) g_refine_shaders[sh] = DRW_shader_create(vert_with_lib, NULL, datatoc_gpu_shader_3D_smooth_color_frag_glsl, + "#define blender_srgb_to_framebuffer_space(a) a\n" "#define HAIR_PHASE_SUBDIV\n" "#define TF_WORKAROUND\n"); #endif |