blender-v3.6-release backports #112373
|
@ -2577,6 +2577,10 @@ void BKE_view_layer_verify_aov(RenderEngine *engine, Scene *scene, ViewLayer *vi
|
|||
viewlayer_aov_make_name_unique(view_layer);
|
||||
|
||||
GHash *name_count = BLI_ghash_str_new(__func__);
|
||||
LISTBASE_FOREACH (ViewLayerAOV *, aov, &view_layer->aovs) {
|
||||
/* Disable conflict flag, so that the AOV is included when iterating over all passes below. */
|
||||
aov->flag &= ~AOV_CONFLICT;
|
||||
}
|
||||
RE_engine_update_render_passes(
|
||||
engine, scene, view_layer, bke_view_layer_verify_aov_cb, name_count);
|
||||
LISTBASE_FOREACH (ViewLayerAOV *, aov, &view_layer->aovs) {
|
||||
|
|
|
@ -1271,14 +1271,18 @@ static void node_file_output_socket_draw(bContext *C,
|
|||
|
||||
static bool socket_needs_attribute_search(bNode &node, bNodeSocket &socket)
|
||||
{
|
||||
if (node.runtime->declaration == nullptr) {
|
||||
const nodes::NodeDeclaration *node_decl = node.declaration();
|
||||
if (node_decl == nullptr) {
|
||||
return false;
|
||||
}
|
||||
if (node_decl->skip_updating_sockets) {
|
||||
return false;
|
||||
}
|
||||
if (socket.in_out == SOCK_OUT) {
|
||||
return false;
|
||||
}
|
||||
const int socket_index = BLI_findindex(&node.inputs, &socket);
|
||||
return node.declaration()->inputs[socket_index]->is_attribute_name;
|
||||
return node_decl->inputs[socket_index]->is_attribute_name;
|
||||
}
|
||||
|
||||
static void std_node_socket_draw(
|
||||
|
|
|
@ -1828,11 +1828,8 @@ void rna_ViewLayer_pass_update(Main *bmain, Scene *activescene, PointerRNA *ptr)
|
|||
{
|
||||
Scene *scene = (Scene *)ptr->owner_id;
|
||||
|
||||
if (scene->nodetree) {
|
||||
ntreeCompositUpdateRLayers(scene->nodetree);
|
||||
}
|
||||
|
||||
ViewLayer *view_layer = NULL;
|
||||
|
||||
if (ptr->type == &RNA_ViewLayer) {
|
||||
view_layer = (ViewLayer *)ptr->data;
|
||||
}
|
||||
|
@ -1857,6 +1854,10 @@ void rna_ViewLayer_pass_update(Main *bmain, Scene *activescene, PointerRNA *ptr)
|
|||
}
|
||||
}
|
||||
|
||||
if (scene->nodetree) {
|
||||
ntreeCompositUpdateRLayers(scene->nodetree);
|
||||
}
|
||||
|
||||
rna_Scene_render_update(bmain, activescene, ptr);
|
||||
}
|
||||
|
||||
|
|
|
@ -494,7 +494,7 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
|
|||
for (; j; j--, orig_corner_i++, dst_corner_i++) {
|
||||
corner_verts[dst_corner_i] = orig_corner_verts[orig_corner_i] + (p_skip * totvert);
|
||||
corner_edges[dst_corner_i] = orig_corner_edges[orig_corner_i] + (p_skip * totedge);
|
||||
const int vert = corner_verts[orig_corner_i];
|
||||
const int vert = corner_verts[dst_corner_i];
|
||||
if (mloopcols_index != nullptr) {
|
||||
const int part_index = vert_part_index[vert];
|
||||
store_float_in_vcol(&mloopcols_index[dst_corner_i],
|
||||
|
|
Loading…
Reference in New Issue