Compare commits
15 Commits
asset-brow
...
blender-v2
Author | SHA1 | Date | |
---|---|---|---|
f1aa4d18d4 | |||
96f6520734 | |||
4a440ecb99 | |||
bdfcee347e | |||
60e817693c | |||
73ce35d332 | |||
6334f97093 | |||
3a344a61e8 | |||
2ccc52a7f1 | |||
893c29c15c | |||
54bff9dc89 | |||
c14b164e8a | |||
26bd5ebd42 | |||
e8b0a13c31 | |||
ab1b02e389 |
Submodule release/datafiles/locale updated: 88497d7507...5402eec963
Binary file not shown.
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 252 KiB |
Binary file not shown.
Before Width: | Height: | Size: 540 KiB After Width: | Height: | Size: 863 KiB |
Submodule release/scripts/addons updated: 120d31a17c...2d192b4005
Submodule release/scripts/addons_contrib updated: d9ed9d4d06...8fcd2e98da
@@ -34,9 +34,9 @@
|
||||
|
||||
/** Used by packaging tools. */
|
||||
/** Can be left blank, otherwise a,b,c... etc with no quotes. */
|
||||
#define BLENDER_VERSION_CHAR
|
||||
#define BLENDER_VERSION_CHAR a
|
||||
/** alpha/beta/rc/release, docs use this. */
|
||||
#define BLENDER_VERSION_CYCLE beta
|
||||
#define BLENDER_VERSION_CYCLE release
|
||||
/** Optionally set to 1,2,... for example to to get alpha1 or rc2. */
|
||||
#define BLENDER_VERSION_CYCLE_NUMBER
|
||||
|
||||
|
@@ -415,12 +415,12 @@ int BKE_sculpt_get_first_deform_matrices(struct Depsgraph *depsgraph,
|
||||
mti->deformMatrices(md, &mectx, me_eval, deformedVerts, defmats, me_eval->totvert);
|
||||
}
|
||||
else {
|
||||
/* More complex handling will continue in BKE_crazyspace_build_sculpt.
|
||||
* Exiting the loop on a non-deform modifier causes issues - T71213. */
|
||||
BLI_assert(crazyspace_modifier_supports_deform(md));
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (; md; md = md->next) {
|
||||
|
@@ -3710,10 +3710,6 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
|
||||
}
|
||||
|
||||
if (!MAIN_VERSION_ATLEAST(bmain, 281, 3)) {
|
||||
if (U.view_rotate_sensitivity_turntable == 0) {
|
||||
U.view_rotate_sensitivity_turntable = DEG2RADF(0.4f);
|
||||
U.view_rotate_sensitivity_trackball = 1.0f;
|
||||
}
|
||||
for (bScreen *screen = bmain->screens.first; screen; screen = screen->id.next) {
|
||||
for (ScrArea *sa = screen->areabase.first; sa; sa = sa->next) {
|
||||
for (SpaceLink *sl = sa->spacedata.first; sl; sl = sl->next) {
|
||||
|
@@ -664,6 +664,10 @@ void BLO_version_defaults_userpref_blend(Main *bmain, UserDef *userdef)
|
||||
* Include next version bump.
|
||||
*/
|
||||
{
|
||||
if (userdef->view_rotate_sensitivity_turntable == 0.0f) {
|
||||
userdef->view_rotate_sensitivity_turntable = DEG2RADF(0.4f);
|
||||
userdef->view_rotate_sensitivity_trackball = 1.0f;
|
||||
}
|
||||
/* pass */
|
||||
}
|
||||
|
||||
|
@@ -879,7 +879,7 @@ void BM_mesh_bm_to_me(Main *bmain, BMesh *bm, Mesh *me, const struct BMeshToMesh
|
||||
BM_ITER_MESH_INDEX (eve, &iter, bm, BM_VERTS_OF_MESH, i) {
|
||||
const int keyi = BM_ELEM_CD_GET_INT(eve, cd_shape_keyindex_offset);
|
||||
|
||||
if (keyi != ORIGINDEX_NONE) {
|
||||
if (keyi != ORIGINDEX_NONE && keyi < actkey->totelem) {
|
||||
sub_v3_v3v3(ofs[i], mvert->co, fp[keyi]);
|
||||
}
|
||||
else {
|
||||
|
@@ -2668,6 +2668,9 @@ void DRW_draw_depth_object(ARegion *ar, GPUViewport *viewport, Object *object)
|
||||
RegionView3D *rv3d = ar->regiondata;
|
||||
|
||||
DRW_opengl_context_enable();
|
||||
GPU_matrix_projection_set(rv3d->winmat);
|
||||
GPU_matrix_set(rv3d->viewmat);
|
||||
GPU_matrix_mul(object->obmat);
|
||||
|
||||
/* Setup framebuffer */
|
||||
DefaultFramebufferList *fbl = GPU_viewport_framebuffer_list_get(viewport);
|
||||
@@ -2675,7 +2678,6 @@ void DRW_draw_depth_object(ARegion *ar, GPUViewport *viewport, Object *object)
|
||||
GPU_framebuffer_bind(fbl->depth_only_fb);
|
||||
GPU_framebuffer_clear_depth(fbl->depth_only_fb, 1.0f);
|
||||
GPU_depth_test(true);
|
||||
GPU_matrix_mul(object->obmat);
|
||||
|
||||
const float(*world_clip_planes)[4] = NULL;
|
||||
if (rv3d->rflag & RV3D_CLIPPING) {
|
||||
|
@@ -59,7 +59,7 @@
|
||||
static bool paint_mask_extract_poll(bContext *C)
|
||||
{
|
||||
Object *ob = CTX_data_active_object(C);
|
||||
if (ob->mode == OB_MODE_SCULPT) {
|
||||
if (ob != NULL && ob->mode == OB_MODE_SCULPT) {
|
||||
if (ob->sculpt->bm) {
|
||||
CTX_wm_operator_poll_msg_set(C, "The mask can not be extracted with dyntopo activated.");
|
||||
return false;
|
||||
|
@@ -923,6 +923,7 @@ bool edit_modifier_poll_generic(bContext *C,
|
||||
{
|
||||
PointerRNA ptr = CTX_data_pointer_get_type(C, "modifier", rna_type);
|
||||
Object *ob = (ptr.owner_id) ? (Object *)ptr.owner_id : ED_object_active_context(C);
|
||||
ModifierData *mod = ptr.data; /* May be NULL. */
|
||||
|
||||
if (!ob || ID_IS_LINKED(ob)) {
|
||||
return 0;
|
||||
@@ -935,8 +936,10 @@ bool edit_modifier_poll_generic(bContext *C,
|
||||
}
|
||||
|
||||
if (ID_IS_OVERRIDE_LIBRARY(ob)) {
|
||||
CTX_wm_operator_poll_msg_set(C, "Cannot edit modifiers coming from library override");
|
||||
return (((ModifierData *)ptr.data)->flag & eModifierFlag_OverrideLibrary_Local) != 0;
|
||||
if ((mod != NULL) && (mod->flag & eModifierFlag_OverrideLibrary_Local) == 0) {
|
||||
CTX_wm_operator_poll_msg_set(C, "Cannot edit modifiers coming from library override");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_editmode_allowed && CTX_data_edit_object(C) != NULL) {
|
||||
|
@@ -1312,7 +1312,7 @@ static short snap_mesh_polygon(SnapObjectContext *sctx,
|
||||
l_iter = l_first = BM_FACE_FIRST_LOOP(f);
|
||||
if (snapdata->snap_to_flag & SCE_SNAP_MODE_EDGE) {
|
||||
elem = SCE_SNAP_MODE_EDGE;
|
||||
BM_mesh_elem_index_ensure(em->bm, BM_EDGE);
|
||||
BM_mesh_elem_index_ensure(em->bm, BM_VERT | BM_EDGE);
|
||||
BM_mesh_elem_table_ensure(em->bm, BM_VERT | BM_EDGE);
|
||||
do {
|
||||
cb_snap_edge(&nearest2d,
|
||||
|
@@ -1478,6 +1478,8 @@ static int uv_select_more_less(bContext *C, const bool select)
|
||||
Object **objects = BKE_view_layer_array_from_objects_in_edit_mode_unique_data_with_uvs(
|
||||
view_layer, ((View3D *)NULL), &objects_len);
|
||||
|
||||
const bool is_uv_face_selectmode = (ts->uv_selectmode == UV_SELECT_FACE);
|
||||
|
||||
for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
|
||||
Object *obedit = objects[ob_index];
|
||||
BMEditMesh *em = BKE_editmesh_from_object(obedit);
|
||||
@@ -1499,7 +1501,7 @@ static int uv_select_more_less(bContext *C, const bool select)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ts->uv_selectmode == UV_SELECT_FACE) {
|
||||
if (is_uv_face_selectmode) {
|
||||
|
||||
/* clear tags */
|
||||
BM_mesh_elem_hflag_disable_all(em->bm, BM_FACE, BM_ELEM_TAG, false);
|
||||
@@ -1562,8 +1564,14 @@ static int uv_select_more_less(bContext *C, const bool select)
|
||||
}
|
||||
|
||||
if (changed) {
|
||||
/* Select tagged loops. */
|
||||
uv_select_flush_from_tag_loop(sima, scene, obedit, select);
|
||||
if (is_uv_face_selectmode) {
|
||||
/* Select tagged faces. */
|
||||
uv_select_flush_from_tag_face(sima, scene, obedit, select);
|
||||
}
|
||||
else {
|
||||
/* Select tagged loops. */
|
||||
uv_select_flush_from_tag_loop(sima, scene, obedit, select);
|
||||
}
|
||||
DEG_id_tag_update(obedit->data, ID_RECALC_SELECT);
|
||||
WM_event_add_notifier(C, NC_GEOM | ND_SELECT, obedit->data);
|
||||
}
|
||||
|
@@ -655,11 +655,24 @@ void GPU_batch_draw_advanced(GPUBatch *batch, int v_first, int v_count, int i_fi
|
||||
// BLI_assert(v_first + v_count <=
|
||||
// (batch->elem ? batch->elem->index_len : batch->verts[0]->vertex_len));
|
||||
|
||||
#ifdef __APPLE__
|
||||
GLuint vao = 0;
|
||||
#endif
|
||||
|
||||
if (!GPU_arb_base_instance_is_supported()) {
|
||||
if (i_first > 0) {
|
||||
#ifdef __APPLE__
|
||||
/**
|
||||
* There seems to be a nasty bug when drawing using the same VAO reconfiguring. (see T71147)
|
||||
* We just use a throwaway VAO for that. Note that this is likely to degrade performance.
|
||||
**/
|
||||
glGenVertexArrays(1, &vao);
|
||||
glBindVertexArray(vao);
|
||||
#else
|
||||
/* If using offset drawing with instancing, we must
|
||||
* use the default VAO and redo bindings. */
|
||||
glBindVertexArray(GPU_vao_default());
|
||||
#endif
|
||||
batch_update_program_bindings(batch, i_first);
|
||||
}
|
||||
else {
|
||||
@@ -698,6 +711,12 @@ void GPU_batch_draw_advanced(GPUBatch *batch, int v_first, int v_count, int i_fi
|
||||
glEnable(GL_PRIMITIVE_RESTART);
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef __APPLE__
|
||||
if (vao != 0) {
|
||||
glDeleteVertexArrays(1, &vao);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* just draw some vertices and let shader place them where we want. */
|
||||
|
@@ -3604,7 +3604,7 @@ char *RNA_property_string_get_default_alloc(PointerRNA *ptr,
|
||||
/* this is the length without \0 terminator */
|
||||
int RNA_property_string_default_length(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
|
||||
{
|
||||
StringPropertyRNA *sprop = (StringPropertyRNA *)prop;
|
||||
StringPropertyRNA *sprop = (StringPropertyRNA *)rna_ensure_property(prop);
|
||||
|
||||
BLI_assert(RNA_property_type(prop) == PROP_STRING);
|
||||
|
||||
|
Submodule source/tools updated: 4ad446dbdd...d8c4ae2c23
Reference in New Issue
Block a user