This is supposed to be working, I specifically changed the normal drawing widget to show colors when keyframing. Let me figure out why it isn't working now...
Brecht. On Wed, Nov 28, 2012 at 12:08 PM, Lukas Tönne <[email protected]> wrote: > It seems that this replaces the "ball" thingy with numerical inputs > only. People have been complaining about this on twitter. The ball > widget is useful for fake lighting in compositing, especially since we > (still) don't have vector math in compo nodes ... > > I would suggest reverting this ui button, or maybe add both the ball > and numerical values? > > On Sat, Nov 17, 2012 at 5:11 PM, Brecht Van Lommel > <[email protected]> wrote: >> Revision: 52309 >> >> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52309 >> Author: blendix >> Date: 2012-11-17 16:11:02 +0000 (Sat, 17 Nov 2012) >> Log Message: >> ----------- >> Fix compositing normal node not properly showing vector XYZ values when >> opening >> socket menu, and make the normal animatable. >> >> Modified Paths: >> -------------- >> trunk/blender/source/blender/compositor/nodes/COM_NormalNode.cpp >> trunk/blender/source/blender/editors/interface/interface_layout.c >> trunk/blender/source/blender/editors/interface/interface_widgets.c >> trunk/blender/source/blender/editors/space_node/drawnode.c >> >> trunk/blender/source/blender/nodes/composite/nodes/node_composite_normal.c >> >> Modified: trunk/blender/source/blender/compositor/nodes/COM_NormalNode.cpp >> =================================================================== >> --- trunk/blender/source/blender/compositor/nodes/COM_NormalNode.cpp >> 2012-11-17 16:10:47 UTC (rev 52308) >> +++ trunk/blender/source/blender/compositor/nodes/COM_NormalNode.cpp >> 2012-11-17 16:11:02 UTC (rev 52309) >> @@ -41,9 +41,14 @@ >> SetVectorOperation *operationSet = new SetVectorOperation(); >> bNodeSocket *insock = (bNodeSocket *)editorNode->outputs.first; >> bNodeSocketValueVector *dval = (bNodeSocketValueVector >> *)insock->default_value; >> - operationSet->setX(dval->value[0]); >> - operationSet->setY(dval->value[1]); >> - operationSet->setZ(dval->value[2]); >> + float normal[3]; >> + >> + /* animation can break normalization, this restores it */ >> + normalize_v3_v3(normal, dval->value); >> + >> + operationSet->setX(normal[0]); >> + operationSet->setY(normal[1]); >> + operationSet->setZ(normal[2]); >> operationSet->setW(0.0f); >> >> outputSocket->relinkConnections(operationSet->getOutputSocket(0)); >> >> Modified: trunk/blender/source/blender/editors/interface/interface_layout.c >> =================================================================== >> --- trunk/blender/source/blender/editors/interface/interface_layout.c >> 2012-11-17 16:10:47 UTC (rev 52308) >> +++ trunk/blender/source/blender/editors/interface/interface_layout.c >> 2012-11-17 16:11:02 UTC (rev 52309) >> @@ -430,7 +430,7 @@ >> but->type = NUMSLI; >> } >> } >> - else if (subtype == PROP_DIRECTION) { >> + else if (subtype == PROP_DIRECTION && !expand) { >> uiDefButR_prop(block, BUT_NORMAL, 0, name, x, y, UI_UNIT_X * >> 3, UI_UNIT_Y * 3, ptr, prop, 0, 0, 0, -1, -1, NULL); >> } >> else { >> >> Modified: trunk/blender/source/blender/editors/interface/interface_widgets.c >> =================================================================== >> --- trunk/blender/source/blender/editors/interface/interface_widgets.c >> 2012-11-17 16:10:47 UTC (rev 52308) >> +++ trunk/blender/source/blender/editors/interface/interface_widgets.c >> 2012-11-17 16:11:02 UTC (rev 52309) >> @@ -2623,6 +2623,11 @@ >> >> } >> >> +static void widget_normal(uiBut *but, uiWidgetColors *wcol, rcti *rect, int >> UNUSED(state), int UNUSED(roundboxalign)) >> +{ >> + ui_draw_but_NORMAL(but, wcol, rect); >> +} >> + >> static void widget_icon_has_anim(uiBut *UNUSED(but), uiWidgetColors *wcol, >> rcti *rect, int state, int UNUSED(roundboxalign)) >> { >> if (state & (UI_BUT_ANIMATED | UI_BUT_ANIMATED_KEY | UI_BUT_DRIVEN | >> UI_BUT_REDALERT)) { >> @@ -3030,6 +3035,7 @@ >> break; >> >> case UI_WTYPE_NORMAL: >> + wt.custom = widget_normal; >> break; >> >> case UI_WTYPE_SCROLL: >> @@ -3269,7 +3275,7 @@ >> break; >> >> case BUT_NORMAL: >> - ui_draw_but_NORMAL(but, &tui->wcol_regular, >> rect); >> + wt = widget_type(UI_WTYPE_NORMAL); >> break; >> >> case BUT_IMAGE: >> >> Modified: trunk/blender/source/blender/editors/space_node/drawnode.c >> =================================================================== >> --- trunk/blender/source/blender/editors/space_node/drawnode.c 2012-11-17 >> 16:10:47 UTC (rev 52308) >> +++ trunk/blender/source/blender/editors/space_node/drawnode.c 2012-11-17 >> 16:11:02 UTC (rev 52309) >> @@ -398,29 +398,15 @@ >> uiTemplateCurveMapping(layout, ptr, "mapping", 'c', 0, 0); >> } >> >> -static void node_normal_cb(bContext *C, void *ntree_v, void *node_v) >> -{ >> - Main *bmain = CTX_data_main(C); >> - >> - ED_node_generic_update(bmain, ntree_v, node_v); >> - WM_event_add_notifier(C, NC_NODE | NA_EDITED, ntree_v); >> -} >> - >> static void node_buts_normal(uiLayout *layout, bContext *UNUSED(C), >> PointerRNA *ptr) >> { >> - uiBlock *block = uiLayoutAbsoluteBlock(layout); >> - bNodeTree *ntree = ptr->id.data; >> - bNode *node = ptr->data; >> - rctf *butr = &node->butr; >> + bNodeTree *ntree = (bNodeTree*)ptr->id.data; >> + bNode *node = (bNode*)ptr->data; >> bNodeSocket *sock = node->outputs.first; /* first socket stores >> normal */ >> - float *nor = ((bNodeSocketValueVector *)sock->default_value)->value; >> - uiBut *bt; >> - >> - bt = uiDefButF(block, BUT_NORMAL, B_NODE_EXEC, "", >> - (int)butr->xmin, (int)butr->xmin, >> - (short)BLI_rctf_size_x(butr), >> (short)BLI_rctf_size_x(butr), >> - nor, 0.0f, 1.0f, 0, 0, ""); >> - uiButSetFunc(bt, node_normal_cb, ntree, node); >> + PointerRNA sockptr; >> + >> + RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &sockptr); >> + uiItemR(layout, &sockptr, "default_value", 0, "", ICON_NONE); >> } >> #if 0 /* not used in 2.5x yet */ >> static void node_browse_tex_cb(bContext *C, void *ntree_v, void *node_v) >> >> Modified: >> trunk/blender/source/blender/nodes/composite/nodes/node_composite_normal.c >> =================================================================== >> --- >> trunk/blender/source/blender/nodes/composite/nodes/node_composite_normal.c >> 2012-11-17 16:10:47 UTC (rev 52308) >> +++ >> trunk/blender/source/blender/nodes/composite/nodes/node_composite_normal.c >> 2012-11-17 16:11:02 UTC (rev 52309) >> @@ -40,7 +40,7 @@ >> }; >> >> static bNodeSocketTemplate cmp_node_normal_out[] = { >> - { SOCK_VECTOR, 0, N_("Normal")}, >> + { SOCK_VECTOR, 0, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, >> -1.0f, 1.0f, PROP_DIRECTION}, >> { SOCK_FLOAT, 0, N_("Dot")}, >> { -1, 0, "" } >> }; >> >> _______________________________________________ >> Bf-blender-cvs mailing list >> [email protected] >> http://lists.blender.org/mailman/listinfo/bf-blender-cvs > _______________________________________________ > Bf-committers mailing list > [email protected] > http://lists.blender.org/mailman/listinfo/bf-committers _______________________________________________ Bf-committers mailing list [email protected] http://lists.blender.org/mailman/listinfo/bf-committers
