Merge branch 'blender-v2.91-release'
This commit is contained in:
@@ -268,11 +268,13 @@ void OVERLAY_edit_uv_cache_init(OVERLAY_Data *vedata)
|
||||
if (pd->edit_uv.do_tiled_image_overlay) {
|
||||
/* Active tile border */
|
||||
ImageTile *active_tile = BLI_findlink(&image->tiles, image->active_tile_index);
|
||||
obmat[3][0] = (float)((active_tile->tile_number - 1001) % 10);
|
||||
obmat[3][1] = (float)((active_tile->tile_number - 1001) / 10);
|
||||
grp = DRW_shgroup_create(sh, psl->edit_uv_tiled_image_borders_ps);
|
||||
DRW_shgroup_uniform_vec4_copy(grp, "color", selected_color);
|
||||
DRW_shgroup_call_obmat(grp, geom, obmat);
|
||||
if (active_tile) {
|
||||
obmat[3][0] = (float)((active_tile->tile_number - 1001) % 10);
|
||||
obmat[3][1] = (float)((active_tile->tile_number - 1001) / 10);
|
||||
grp = DRW_shgroup_create(sh, psl->edit_uv_tiled_image_borders_ps);
|
||||
DRW_shgroup_uniform_vec4_copy(grp, "color", selected_color);
|
||||
DRW_shgroup_call_obmat(grp, geom, obmat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -51,6 +51,8 @@
|
||||
#include "BKE_mesh_tangent.h"
|
||||
#include "BKE_modifier.h"
|
||||
#include "BKE_object_deform.h"
|
||||
#include "BKE_paint.h"
|
||||
#include "BKE_pbvh.h"
|
||||
|
||||
#include "atomic_ops.h"
|
||||
|
||||
@@ -1310,6 +1312,17 @@ void DRW_mesh_batch_cache_create_requested(struct TaskGraph *task_graph,
|
||||
return;
|
||||
}
|
||||
|
||||
/* TODO(pablodp606): This always updates the sculpt normals for regular drawing (non-PBVH).
|
||||
* This makes tools that sample the surface per step get wrong normals until a redraw happens.
|
||||
* Normal updates should be part of the brush loop and only run during the stroke when the
|
||||
* brush needs to sample the surface. The drawing code should only update the normals
|
||||
* per redraw when smooth shading is enabled. */
|
||||
const bool do_update_sculpt_normals = ob->sculpt && ob->sculpt->pbvh;
|
||||
if (do_update_sculpt_normals) {
|
||||
Mesh *mesh = ob->data;
|
||||
BKE_pbvh_update_normals(ob->sculpt->pbvh, mesh->runtime.subdiv_ccg);
|
||||
}
|
||||
|
||||
cache->batch_ready |= batch_requested;
|
||||
|
||||
const bool do_cage = (is_editmode &&
|
||||
|
||||
Reference in New Issue
Block a user