[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31887] branches/particles-2010/source/ blender: further cleanup of node files and folders.
Lukas Toenne
lukas.toenne at googlemail.com
Sun Sep 12 12:51:55 CEST 2010
Revision: 31887
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31887
Author: lukastoenne
Date: 2010-09-12 12:51:54 +0200 (Sun, 12 Sep 2010)
Log Message:
-----------
further cleanup of node files and folders. created separate directories for each tree type, with a nodes subfolder replacing the ***_nodes folders in source/blender/nodes/intern/. Removed more tree type specific code from blenkernel/node.c, this should use callbacks where necessary.
Modified Paths:
--------------
branches/particles-2010/source/blender/blenkernel/BKE_node.h
branches/particles-2010/source/blender/blenkernel/intern/node.c
branches/particles-2010/source/blender/blenloader/intern/writefile.c
branches/particles-2010/source/blender/nodes/CMP_node.h
branches/particles-2010/source/blender/nodes/CMakeLists.txt
branches/particles-2010/source/blender/nodes/SHD_node.h
branches/particles-2010/source/blender/nodes/SIM_node.h
branches/particles-2010/source/blender/nodes/TEX_node.h
branches/particles-2010/source/blender/nodes/intern/node_util.c
branches/particles-2010/source/blender/nodes/intern/node_util.h
Added Paths:
-----------
branches/particles-2010/source/blender/nodes/intern/composite/
branches/particles-2010/source/blender/nodes/intern/composite/CMP_util.c
branches/particles-2010/source/blender/nodes/intern/composite/CMP_util.h
branches/particles-2010/source/blender/nodes/intern/composite/node_tree_composite.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_alphaOver.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_bilateralblur.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_blur.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_brightness.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_channelMatte.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_chromaMatte.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_colorMatte.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_colorSpill.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_colorbalance.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_composite.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_crop.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_curves.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_defocus.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_diffMatte.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_dilate.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_directionalblur.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_displace.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_distanceMatte.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_filter.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_flip.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_gamma.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_glare.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_hueSatVal.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_huecorrect.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_idMask.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_image.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_invert.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_lensdist.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_levels.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_lummaMatte.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_mapUV.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_mapValue.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_math.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_mixrgb.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_normal.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_normalize.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_outputFile.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_premulkey.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_rgb.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_rotate.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_scale.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombHSVA.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombRGBA.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombYCCA.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_sepcombYUVA.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_setalpha.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_splitViewer.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_texture.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_tonemap.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_translate.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_valToRgb.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_value.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_vecBlur.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_viewer.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/CMP_zcombine.c
branches/particles-2010/source/blender/nodes/intern/composite/nodes/Makefile
branches/particles-2010/source/blender/nodes/intern/shader/
branches/particles-2010/source/blender/nodes/intern/shader/SHD_util.c
branches/particles-2010/source/blender/nodes/intern/shader/SHD_util.h
branches/particles-2010/source/blender/nodes/intern/shader/node_tree_shader.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/
branches/particles-2010/source/blender/nodes/intern/shader/nodes/Makefile
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_camera.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_curves.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_dynamic.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_geom.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_hueSatVal.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_invert.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_mapping.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_material.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_math.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_mixRgb.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_normal.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_output.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_rgb.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_sepcombRGB.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_squeeze.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_texture.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_valToRgb.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_value.c
branches/particles-2010/source/blender/nodes/intern/shader/nodes/SHD_vectMath.c
branches/particles-2010/source/blender/nodes/intern/simulation/
branches/particles-2010/source/blender/nodes/intern/simulation/SIM_util.c
branches/particles-2010/source/blender/nodes/intern/simulation/SIM_util.h
branches/particles-2010/source/blender/nodes/intern/simulation/node_tree_simulation.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_add_particle.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_add_particle_force.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_debugprint.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_filter.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_for.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_get_data.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_if.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_math.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_particle_dynamics.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_pass.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_program.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_random.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_set_data.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_subprogram.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_timestep.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_vector_compose.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_vector_decompose.c
branches/particles-2010/source/blender/nodes/intern/simulation/nodes/SIM_vectormath.c
branches/particles-2010/source/blender/nodes/intern/texture/
branches/particles-2010/source/blender/nodes/intern/texture/TEX_util.c
branches/particles-2010/source/blender/nodes/intern/texture/TEX_util.h
branches/particles-2010/source/blender/nodes/intern/texture/node_tree_texture.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/
branches/particles-2010/source/blender/nodes/intern/texture/nodes/Makefile
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_at.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_bricks.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_checker.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_compose.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_coord.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_curves.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_decompose.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_distance.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_hueSatVal.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_image.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_invert.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_math.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_mixRgb.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_output.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_proc.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_rotate.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_scale.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_texture.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_translate.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_valToNor.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_valToRgb.c
branches/particles-2010/source/blender/nodes/intern/texture/nodes/TEX_viewer.c
Removed Paths:
-------------
branches/particles-2010/source/blender/nodes/intern/CMP_nodes/
branches/particles-2010/source/blender/nodes/intern/CMP_util.c
branches/particles-2010/source/blender/nodes/intern/CMP_util.h
branches/particles-2010/source/blender/nodes/intern/SHD_nodes/
branches/particles-2010/source/blender/nodes/intern/SHD_util.c
branches/particles-2010/source/blender/nodes/intern/SHD_util.h
branches/particles-2010/source/blender/nodes/intern/SIM_nodes/
branches/particles-2010/source/blender/nodes/intern/SIM_util.c
branches/particles-2010/source/blender/nodes/intern/SIM_util.h
branches/particles-2010/source/blender/nodes/intern/TEX_nodes/
branches/particles-2010/source/blender/nodes/intern/TEX_util.c
branches/particles-2010/source/blender/nodes/intern/TEX_util.h
branches/particles-2010/source/blender/nodes/intern/node_tree_composite.c
branches/particles-2010/source/blender/nodes/intern/node_tree_shader.c
branches/particles-2010/source/blender/nodes/intern/node_tree_simulation.c
branches/particles-2010/source/blender/nodes/intern/node_tree_texture.c
Modified: branches/particles-2010/source/blender/blenkernel/BKE_node.h
===================================================================
--- branches/particles-2010/source/blender/blenkernel/BKE_node.h 2010-09-11 23:13:47 UTC (rev 31886)
+++ branches/particles-2010/source/blender/blenkernel/BKE_node.h 2010-09-12 10:51:54 UTC (rev 31887)
@@ -203,13 +203,13 @@
void ntreeUpdateGroupTree(struct bNodeTree *ntree, struct bNodeTree *group);
void ntreeUpdateFullTree(struct bNodeTree *ntree);
-void ntreeCalcSocketTypeIslands(struct bNodeTree *ntree);
-void ntreeFreeSocketTypeIslands(struct bNodeTree *ntree);
-void ntreeFindIslandSocketType(struct bNodeTree *ntree, int island, int *restype, int *resolved);
-void ntreeResolveSocketTypes(struct bNodeTree *ntree);
-void ntreeResolveSocketContexts(struct bNodeTree *ntree);
-void ntreeResolveInputContexts(struct bNode *node);
-void ntreeResolveOutputContexts(struct bNode *node);
+//void ntreeCalcSocketTypeIslands(struct bNodeTree *ntree);
+//void ntreeFreeSocketTypeIslands(struct bNodeTree *ntree);
+//void ntreeFindIslandSocketType(struct bNodeTree *ntree, int island, int *restype, int *resolved);
+//void ntreeResolveSocketTypes(struct bNodeTree *ntree);
+//void ntreeResolveSocketContexts(struct bNodeTree *ntree);
+//void ntreeResolveInputContexts(struct bNode *node);
+//void ntreeResolveOutputContexts(struct bNode *node);
void ntreeBeginExecTree(struct bNodeTree *ntree);
void ntreeExecTree(struct bNodeTree *ntree, void *callerdata, int thread);
@@ -269,6 +269,8 @@
void NodeTagChanged(struct bNodeTree *ntree, struct bNode *node);
void NodeTagIDChanged(struct bNodeTree *ntree, struct ID *id);
+void nodeFreePreview(struct bNode *node);
+
/* ************** Groups ****************** */
struct bNode *nodeMakeGroupFromSelected(struct bNodeTree *ntree);
Modified: branches/particles-2010/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/particles-2010/source/blender/blenkernel/intern/node.c 2010-09-11 23:13:47 UTC (rev 31886)
+++ branches/particles-2010/source/blender/blenkernel/intern/node.c 2010-09-12 10:51:54 UTC (rev 31887)
@@ -37,28 +37,34 @@
#include "DNA_anim_types.h"
#include "DNA_node_types.h"
+#include "DNA_scene_types.h"
-#include "RNA_access.h"
+#include "BLI_string.h"
+#include "BLI_math.h"
+#include "BLI_listbase.h"
+#include "BLI_path_util.h"
#include "BKE_fcurve.h"
#include "BKE_animsys.h" /* BKE_free_animdata only */
#include "BKE_global.h"
+#include "BKE_image.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_node.h"
+#include "BKE_utildefines.h"
+#include "MEM_guardedalloc.h"
+
//#include "PIL_time.h"
+#include "RNA_access.h"
#include "CMP_node.h"
-#include "intern/CMP_util.h" /* stupid include path... */
#include "SHD_node.h"
-#include "intern/SHD_util.h"
#include "TEX_node.h"
-#include "intern/TEX_util.h"
#include "SIM_node.h"
-#include "intern/SIM_util.h"
-#include "GPU_material.h"
-
bNodeTreeTypeInfo *ntreeGetTypeInfo(int type)
{
static bNodeTreeTypeInfo *types[NUM_NTREE_TYPES];
@@ -1075,7 +1081,7 @@
/* *************** preview *********** */
/* if node->preview, then we assume the rect to exist */
-static void node_free_preview(bNode *node)
+void nodeFreePreview(bNode *node)
{
if(node->preview) {
if(node->preview->rect)
@@ -1222,7 +1228,7 @@
BLI_freelistN(&node->inputs);
BLI_freelistN(&node->outputs);
- node_free_preview(node);
+ nodeFreePreview(node);
if(node->typeinfo && node->typeinfo->freestoragefunc) {
node->typeinfo->freestoragefunc(node);
@@ -1652,6 +1658,7 @@
}
}
+#if 0
static void merge_socket_islands(bNodeSocketIsland *islands, int a, int b)
{
bNodeSocketIsland *i;
@@ -1953,6 +1960,7 @@
ntreeResolveOutputContexts(node);
}
}
+#endif
static void validate_links(bNodeTree *ntree)
{
@@ -2006,8 +2014,8 @@
* They have to be recalculated for each tree up in the hierarchy,
* because the result on higher levels may differ from local level result.
*/
- ntreeResolveSocketTypes(ntree);
- ntreeResolveSocketContexts(ntree);
+// ntreeResolveSocketTypes(ntree);
+// ntreeResolveSocketContexts(ntree);
validate_links(ntree);
@@ -2026,9 +2034,9 @@
* but requires keeping the island list stored in the node trees,
* therefore careful freeing and a full update in do_versions when loading older files.
*/
- ntreeCalcSocketTypeIslands(ntree);
+// ntreeCalcSocketTypeIslands(ntree);
update_tree_recursive(ntree);
- ntreeFreeSocketTypeIslands(ntree);
+// ntreeFreeSocketTypeIslands(ntree);
}
void ntreeUpdateGroupTree(bNodeTree *ntree, bNodeTree *group)
@@ -2039,9 +2047,9 @@
group->flag |= NTREE_UPDATE;
set_update_flag_recursive(ntree);
- ntreeCalcSocketTypeIslands(ntree);
+// ntreeCalcSocketTypeIslands(ntree);
update_tree_recursive(ntree);
- ntreeFreeSocketTypeIslands(ntree);
+// ntreeFreeSocketTypeIslands(ntree);
}
void ntreeUpdateFullTree(bNodeTree *ntree)
@@ -2051,9 +2059,9 @@
set_all_update_flags_recursive(ntree);
- ntreeCalcSocketTypeIslands(ntree);
+// ntreeCalcSocketTypeIslands(ntree);
update_tree_recursive(ntree);
- ntreeFreeSocketTypeIslands(ntree);
+// ntreeFreeSocketTypeIslands(ntree);
}
void NodeTagChanged(bNodeTree *ntree, bNode *node)
@@ -2131,380 +2139,6 @@
treetype->exec(ntree, ntree->execdata, callerdata, thread);
}
-
-/* ********** copy composite tree entirely, to allow threaded exec ******************* */
-/* ***************** do NOT execute this in a thread! ****************** */
-
-/* returns localized composite tree for execution in threads */
-/* local tree then owns all compbufs */
-bNodeTree *ntreeLocalize(bNodeTree *ntree)
-{
- bNodeTree *ltree;
- bNode *node;
- bNodeSocket *sock;
-
- bAction *action_backup= NULL, *tmpact_backup= NULL;
-
- /* Workaround for copying an action on each render!
- * set action to NULL so animdata actions dont get copied */
- AnimData *adt= BKE_animdata_from_id(&ntree->id);
-
- if(adt) {
- action_backup= adt->action;
- tmpact_backup= adt->tmpact;
-
- adt->action= NULL;
- adt->tmpact= NULL;
- }
-
- /* node copy func */
- ltree= ntreeCopyTree(ntree, 0);
-
- if(adt) {
- AnimData *ladt= BKE_animdata_from_id(<ree->id);
-
- adt->action= ladt->action= action_backup;
- adt->tmpact= ladt->tmpact= tmpact_backup;
-
- if(action_backup) action_backup->id.us++;
- if(tmpact_backup) tmpact_backup->id.us++;
-
- }
- /* end animdata uglyness */
-
- /* move over the compbufs */
- /* right after ntreeCopyTree() oldsock pointers are valid */
- for(node= ntree->nodes.first; node; node= node->next) {
-
- /* store new_node pointer to original */
- node->new_node->new_node= node;
- /* ensure new user input gets handled ok */
- node->need_exec= 0;
-
- if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
- if(node->id) {
- if(node->flag & NODE_DO_OUTPUT)
- node->new_node->id= (ID *)copy_image((Image *)node->id);
- else
- node->new_node->id= NULL;
- }
- }
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
-
- sock->new_sock->ns.data= sock->ns.data;
- compbuf_set_node(sock->new_sock->ns.data, node->new_node);
-
- sock->ns.data= NULL;
- sock->new_sock->new_sock= sock;
- }
- }
-
- return ltree;
-}
-
-static int node_exists(bNodeTree *ntree, bNode *testnode)
-{
- bNode *node= ntree->nodes.first;
- for(; node; node= node->next)
- if(node==testnode)
- return 1;
- return 0;
-}
-
-static int outsocket_exists(bNode *node, bNodeSocket *testsock)
-{
- bNodeSocket *sock= node->outputs.first;
- for(; sock; sock= sock->next)
- if(sock==testsock)
- return 1;
- return 0;
-}
-
-
-/* sync local composite with real tree */
-/* local composite is supposed to be running, be careful moving previews! */
-void ntreeLocalSync(bNodeTree *localtree, bNodeTree *ntree)
-{
- bNode *lnode;
-
- /* move over the compbufs and previews */
- for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
- if( (lnode->exec & NODE_READY) && !(lnode->exec & NODE_SKIPPED) ) {
- if(node_exists(ntree, lnode->new_node)) {
-
- if(lnode->preview && lnode->preview->rect) {
- node_free_preview(lnode->new_node);
- lnode->new_node->preview= lnode->preview;
- lnode->preview= NULL;
- }
- }
- }
- }
-}
-
-/* merge local tree results back, and free local tree */
-/* we have to assume the editor already changed completely */
-void ntreeLocalMerge(bNodeTree *localtree, bNodeTree *ntree)
-{
- bNode *lnode;
- bNodeSocket *lsock;
-
- /* move over the compbufs and previews */
- for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
- if(node_exists(ntree, lnode->new_node)) {
-
- if(lnode->preview && lnode->preview->rect) {
- node_free_preview(lnode->new_node);
- lnode->new_node->preview= lnode->preview;
- lnode->preview= NULL;
- }
-
- if(ELEM(lnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
- if(lnode->id && (lnode->flag & NODE_DO_OUTPUT)) {
- /* image_merge does sanity check for pointers */
- BKE_image_merge((Image *)lnode->new_node->id, (Image *)lnode->id);
- }
- }
-
- for(lsock= lnode->outputs.first; lsock; lsock= lsock->next) {
- if(outsocket_exists(lnode->new_node, lsock->new_sock)) {
- lsock->new_sock->ns.data= lsock->ns.data;
- compbuf_set_node(lsock->new_sock->ns.data, lnode->new_node);
- lsock->ns.data= NULL;
- lsock->new_sock= NULL;
- }
- }
- }
- }
- ntreeFreeTree(localtree);
- MEM_freeN(localtree);
-}
-
-/* *********************************************** */
-
-/* GPU material from shader nodes */
-
-static void gpu_from_node_stack(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
-{
- bNodeSocket *sock;
- int i;
-
- for (sock=sockets->first, i=0; sock; sock=sock->next, i++) {
- memset(&gs[i], 0, sizeof(gs[i]));
-
- QUATCOPY(gs[i].vec, ns[i]->vec);
- gs[i].link= ns[i]->data;
-
- if (sock->type == SOCK_VALUE)
- gs[i].type= GPU_FLOAT;
- else if (sock->type == SOCK_VECTOR)
- gs[i].type= GPU_VEC3;
- else if (sock->type == SOCK_RGBA)
- gs[i].type= GPU_VEC4;
- else
- gs[i].type= GPU_NONE;
-
- gs[i].name = "";
- gs[i].hasinput= ns[i]->hasinput && ns[i]->data;
- gs[i].hasoutput= ns[i]->hasinput && ns[i]->data;
- gs[i].sockettype= ns[i]->sockettype;
- }
-
- gs[i].type= GPU_NONE;
-}
-
-static void data_from_gpu_stack(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
-{
- bNodeSocket *sock;
- int i;
-
- for (sock=sockets->first, i=0; sock; sock=sock->next, i++) {
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list