diff options
8 files changed, 20 insertions, 7 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_lookdev.c b/source/blender/draw/engines/eevee/eevee_lookdev.c index 874c2815b8b..e6c33feeeb9 100644 --- a/source/blender/draw/engines/eevee/eevee_lookdev.c +++ b/source/blender/draw/engines/eevee/eevee_lookdev.c @@ -233,6 +233,7 @@ void EEVEE_lookdev_cache_init(EEVEE_Data *vedata, DRW_shgroup_uniform_texture_ex(grp, "studioLight", sl->equirect_radiance_gputexture, state); /* Do not fade-out when doing probe rendering, only when drawing the background. */ DRW_shgroup_uniform_float_copy(grp, "backgroundAlpha", 1.0f); + DRW_shgroup_uniform_float_copy(grp, "studioLightBlur", 0.0f); } else { float background_alpha = g_data->background_alpha * shading->studiolight_background; @@ -240,6 +241,7 @@ void EEVEE_lookdev_cache_init(EEVEE_Data *vedata, DRW_shgroup_uniform_float_copy(grp, "backgroundAlpha", background_alpha); DRW_shgroup_uniform_float_copy(grp, "studioLightBlur", studiolight_blur); DRW_shgroup_uniform_texture(grp, "probeCubes", txl->lookdev_cube_tx); + DRW_shgroup_uniform_float_copy(grp, "studioLightIntensity", 1.0f); } /* Common UBOs are setup latter. */ diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c index c46e5dd75d6..a81d3e56673 100644 --- a/source/blender/draw/engines/eevee/eevee_materials.c +++ b/source/blender/draw/engines/eevee/eevee_materials.c @@ -113,6 +113,9 @@ void EEVEE_material_bind_resources(DRWShadingGroup *shgrp, DRW_shgroup_uniform_texture_ref(shgrp, "probePlanars", &vedata->txl->planar_pool); DRW_shgroup_uniform_int_copy(shgrp, "outputSsrId", ssr_id ? *ssr_id : 0); } + else { + DRW_shgroup_uniform_int_copy(shgrp, "outputSsrId", 1); + } if (use_refract) { DRW_shgroup_uniform_float_copy( shgrp, "refractionDepth", (refract_depth) ? *refract_depth : 0.0); diff --git a/source/blender/draw/engines/eevee/shaders/closure_type_lib.glsl b/source/blender/draw/engines/eevee/shaders/closure_type_lib.glsl index 0096cd1747f..492b78a20b6 100644 --- a/source/blender/draw/engines/eevee/shaders/closure_type_lib.glsl +++ b/source/blender/draw/engines/eevee/shaders/closure_type_lib.glsl @@ -6,8 +6,8 @@ #ifndef VOLUMETRICS -uniform int outputSsrId = 1; -uniform int outputSssId = 1; +uniform int outputSsrId; /*Default = 1;*/ +uniform int outputSssId; /*Default = 1;*/ #endif diff --git a/source/blender/draw/engines/eevee/shaders/lookdev_world_frag.glsl b/source/blender/draw/engines/eevee/shaders/lookdev_world_frag.glsl index 7ab532ea0fb..d8a80e89df7 100644 --- a/source/blender/draw/engines/eevee/shaders/lookdev_world_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/lookdev_world_frag.glsl @@ -8,8 +8,8 @@ uniform sampler2D studioLight; uniform float backgroundAlpha; uniform mat3 StudioLightMatrix; -uniform float studioLightIntensity = 1.0; -uniform float studioLightBlur = 0.0; +uniform float studioLightIntensity; /* Default 1.0; */ +uniform float studioLightBlur; /* Default 0.0; */ out vec4 FragColor; diff --git a/source/blender/draw/engines/overlay/overlay_edit_mesh.c b/source/blender/draw/engines/overlay/overlay_edit_mesh.c index e0671eac156..4d65cbc04ff 100644 --- a/source/blender/draw/engines/overlay/overlay_edit_mesh.c +++ b/source/blender/draw/engines/overlay/overlay_edit_mesh.c @@ -179,10 +179,9 @@ void OVERLAY_edit_mesh_cache_init(OVERLAY_Data *vedata) /* Verts */ state |= DRW_STATE_WRITE_DEPTH; DRW_PASS_CREATE(psl->edit_mesh_verts_ps[i], state | pd->clipping_state); + int vert_mask[4] = {0xFF, 0xFF, 0xFF, 0xFF}; if (select_vert) { - int vert_mask[4] = {0xFF, 0xFF, 0xFF, 0xFF}; - sh = OVERLAY_shader_edit_mesh_vert(); grp = pd->edit_mesh_verts_grp[i] = DRW_shgroup_create(sh, psl->edit_mesh_verts_ps[i]); DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); @@ -201,6 +200,7 @@ void OVERLAY_edit_mesh_cache_init(OVERLAY_Data *vedata) DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); DRW_shgroup_uniform_float_copy(grp, "alpha", backwire_opacity); DRW_shgroup_uniform_texture_ref(grp, "depthTex", depth_tex); + DRW_shgroup_uniform_ivec4_copy(grp, "dataMask", vert_mask); DRW_shgroup_state_enable(grp, DRW_STATE_WRITE_DEPTH); } else { diff --git a/source/blender/draw/engines/overlay/overlay_grid.c b/source/blender/draw/engines/overlay/overlay_grid.c index ed6db459696..2d74bd53528 100644 --- a/source/blender/draw/engines/overlay/overlay_grid.c +++ b/source/blender/draw/engines/overlay/overlay_grid.c @@ -226,6 +226,9 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) GPUShader *sh; struct GPUBatch *geom = DRW_cache_grid_get(); + const float line_zero = 0; + const float grid_steps_default[8] = {0.001, 0.01, 0.1, 1.0, 10.0, 100.0, 1000.0, 10000.0}; + if (pd->space_type == SPACE_IMAGE) { float mat[4][4]; @@ -254,6 +257,7 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) DRW_shgroup_uniform_vec3(grp, "gridSize", shd->grid_size, 1); 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", grid_steps_default, 8); if (shd->zneg_flag & SHOW_AXIS_Z) { DRW_shgroup_call(grp, geom, NULL); } @@ -264,6 +268,7 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) DRW_shgroup_uniform_vec3(grp, "planeAxes", shd->grid_axes, 1); DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo); DRW_shgroup_uniform_texture_ref(grp, "depthBuffer", &dtxl->depth); + DRW_shgroup_uniform_float_copy(grp, "lineKernel", line_zero); DRW_shgroup_uniform_float(grp, "gridSteps", shd->grid_steps, ARRAY_SIZE(shd->grid_steps)); if (shd->grid_flag) { DRW_shgroup_call(grp, geom, NULL); @@ -274,6 +279,8 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata) 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_uniform_float_copy(grp, "lineKernel", line_zero); + DRW_shgroup_uniform_float(grp, "gridSteps", grid_steps_default, 8); if (shd->zpos_flag & SHOW_AXIS_Z) { DRW_shgroup_call(grp, geom, NULL); } diff --git a/source/blender/draw/engines/overlay/overlay_outline.c b/source/blender/draw/engines/overlay/overlay_outline.c index 8010319e3fa..47d9d19cad2 100644 --- a/source/blender/draw/engines/overlay/overlay_outline.c +++ b/source/blender/draw/engines/overlay/overlay_outline.c @@ -132,6 +132,7 @@ void OVERLAY_outline_cache_init(OVERLAY_Data *vedata) pd->outlines_gpencil_grp = grp = DRW_shgroup_create(sh_gpencil, psl->outlines_prepass_ps); DRW_shgroup_uniform_bool_copy(grp, "isTransform", (G.moving & G_TRANSFORM_OBJ) != 0); + DRW_shgroup_uniform_float_copy(grp, "strokeIndexOffset", 0.0); } /* outlines_prepass_ps is still needed for selection of probes. */ diff --git a/source/blender/draw/engines/overlay/shaders/grid_frag.glsl b/source/blender/draw/engines/overlay/shaders/grid_frag.glsl index 4a9b8d15528..f1fcc3ad8fa 100644 --- a/source/blender/draw/engines/overlay/shaders/grid_frag.glsl +++ b/source/blender/draw/engines/overlay/shaders/grid_frag.glsl @@ -18,7 +18,7 @@ uniform int gridFlag; uniform float zoomFactor; #define STEPS_LEN 8 /* Match: #SI_GRID_STEPS_LEN */ -uniform float gridSteps[STEPS_LEN] = float[](0.001, 0.01, 0.1, 1.0, 10.0, 100.0, 1000.0, 10000.0); +uniform float gridSteps[STEPS_LEN]; #define AXIS_X (1 << 0) #define AXIS_Y (1 << 1) |