forked from bartvdbraak/blender
2.5 / Nodes
* [Use nodes] added. For future improvements: a panel which enumerates materials, textures and scenes for selection and editing in the opened node-editor without having to set it in Buttons (or 'global' scene).
This commit is contained in:
parent
6dc63e054f
commit
99d10b7f76
@ -488,7 +488,7 @@ static void texture_node_event(SpaceNode *snode, short event)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif /* 0 */
|
||||
/* assumes nothing being done in ntree yet, sets the default in/out node */
|
||||
/* called from shading buttons or header */
|
||||
void node_shader_default(Material *ma)
|
||||
@ -548,7 +548,7 @@ void node_composit_default(Scene *sce)
|
||||
|
||||
ntreeSolveOrder(sce->nodetree); /* needed for pointers */
|
||||
|
||||
ntreeCompositForceHidden(sce->nodetree);
|
||||
// XXX ntreeCompositForceHidden(sce->nodetree);
|
||||
}
|
||||
|
||||
/* assumes nothing being done in ntree yet, sets the default in/out node */
|
||||
@ -580,7 +580,6 @@ void node_texture_default(Tex *tx)
|
||||
ntreeSolveOrder(tx->nodetree); /* needed for pointers */
|
||||
ntreeTexUpdatePreviews(tx->nodetree);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Here we set the active tree(s), even called for each redraw now, so keep it fast :) */
|
||||
void snode_set_context(SpaceNode *snode, Scene *scene)
|
||||
|
@ -650,7 +650,52 @@ static uiBlock *node_viewmenu(bContext *C, uiMenuBlockHandle *handle, void *arg_
|
||||
|
||||
static void do_node_buttons(bContext *C, void *arg, int event)
|
||||
{
|
||||
// NODE_FIX_ME : instead of using "current material/texture/scene" a la old buttons/G.scene
|
||||
// have a panel from which enumerates textures, materials and scenes.
|
||||
SpaceNode *snode= (SpaceNode*)CTX_wm_space_data(C);
|
||||
Scene *scene= CTX_data_scene(C);
|
||||
Material *ma;
|
||||
Tex *tx;
|
||||
|
||||
switch(event) {
|
||||
case B_NODE_USEMAT:
|
||||
ma= (Material *)snode->id;
|
||||
if(ma) {
|
||||
if(ma->use_nodes && ma->nodetree==NULL) {
|
||||
node_shader_default(ma);
|
||||
snode_set_context(snode, scene);
|
||||
}
|
||||
/* BIF_preview_changed(ID_MA);
|
||||
allqueue(REDRAWNODE, 0);
|
||||
allqueue(REDRAWBUTSSHADING, 0);
|
||||
allqueue(REDRAWIPO, 0);*/
|
||||
}
|
||||
break;
|
||||
|
||||
case B_NODE_USESCENE:
|
||||
if(scene->use_nodes) {
|
||||
if(scene->nodetree==NULL)
|
||||
node_composit_default(scene);
|
||||
// addqueue(curarea->win, UI_BUT_EVENT, B_NODE_TREE_EXEC);
|
||||
}
|
||||
snode_set_context(snode, scene);
|
||||
// allqueue(REDRAWNODE, 0);
|
||||
break;
|
||||
|
||||
case B_NODE_USETEX:
|
||||
tx = (Tex *)snode->id;
|
||||
if(tx) {
|
||||
tx->type = 0;
|
||||
if(tx->use_nodes && tx->nodetree==NULL) {
|
||||
node_texture_default(tx);
|
||||
snode_set_context(snode, scene);
|
||||
}
|
||||
/* BIF_preview_changed(ID_TE);
|
||||
allqueue(REDRAWNODE, 0);
|
||||
allqueue(REDRAWBUTSSHADING, 0);
|
||||
allqueue(REDRAWIPO, 0);*/
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,6 +75,9 @@ void snode_make_group_editable(SpaceNode *snode, bNode *gnode);
|
||||
void snode_home(ScrArea *sa, ARegion *ar, SpaceNode *snode);
|
||||
void node_set_active(SpaceNode *snode, bNode *node);
|
||||
void node_deselectall(SpaceNode *snode, int swap);
|
||||
void node_shader_default(Material *ma);
|
||||
void node_composit_default(Scene *sce);
|
||||
void node_texture_default(Tex *tx);
|
||||
|
||||
// XXXXXX
|
||||
|
||||
|
@ -27,6 +27,8 @@
|
||||
*/
|
||||
|
||||
#include "DNA_node_types.h"
|
||||
#include "DNA_material_types.h"
|
||||
#include "DNA_texture_types.h"
|
||||
#include "DNA_scene_types.h"
|
||||
#include "DNA_space_types.h"
|
||||
|
||||
|
@ -29,6 +29,8 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include "DNA_node_types.h"
|
||||
#include "DNA_material_types.h"
|
||||
#include "DNA_texture_types.h"
|
||||
#include "DNA_scene_types.h"
|
||||
#include "DNA_screen_types.h"
|
||||
#include "DNA_space_types.h"
|
||||
|
@ -29,6 +29,8 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include "DNA_node_types.h"
|
||||
#include "DNA_material_types.h"
|
||||
#include "DNA_texture_types.h"
|
||||
#include "DNA_scene_types.h"
|
||||
#include "DNA_screen_types.h"
|
||||
#include "DNA_space_types.h"
|
||||
|
@ -31,6 +31,8 @@
|
||||
|
||||
#include "DNA_node_types.h"
|
||||
#include "DNA_object_types.h"
|
||||
#include "DNA_material_types.h"
|
||||
#include "DNA_texture_types.h"
|
||||
#include "DNA_space_types.h"
|
||||
#include "DNA_scene_types.h"
|
||||
#include "DNA_screen_types.h"
|
||||
|
Loading…
Reference in New Issue
Block a user