[Bf-blender-cvs] [45af769] master: Freestyle: Properly reconnect links from a UV Along Stroke node to a UV Map node.
Tamito Kajiyama
noreply at git.blender.org
Tue Aug 12 03:18:11 CEST 2014
Commit: 45af7690201ab9dea706e006c98daf33a9a1bb8f
Author: Tamito Kajiyama
Date: Sun Jul 20 16:21:05 2014 +0900
Branches: master
https://developer.blender.org/rB45af7690201ab9dea706e006c98daf33a9a1bb8f
Freestyle: Properly reconnect links from a UV Along Stroke node to a UV Map node.
===================================================================
M source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
===================================================================
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index 5d4a2ad..d0ab6b1 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@ -346,21 +346,33 @@ Material* BlenderStrokeRenderer::GetStrokeShader(bContext *C, Main *bmain, bNode
outsock = (bNodeSocket *)BLI_findlink(&output_linestyle->inputs, 3); // Alpha Fac
#endif
-#if 0
for (bNode *node = (bNode *)ntree->nodes.first; node; node = node->next) {
- if (node->type == SH_NODE_TEX_IMAGE) {
+ if (node->type == SH_NODE_UVALONGSTROKE) {
+ // UV output of the UV Along Stroke node
+ bNodeSocket *sock = (bNodeSocket *)BLI_findlink(&node->outputs, 0);
+
+ // add new UV Map node
bNode *input_uvmap = nodeAddStaticNode(C, ntree, SH_NODE_UVMAP);
input_uvmap->locx = node->locx - 200.0f;
input_uvmap->locy = node->locy;
NodeShaderUVMap *storage = (NodeShaderUVMap *)input_uvmap->storage;
- BLI_strncpy(storage->uv_map, "along_stroke_tips", sizeof(storage->uv_map));
-
+ if (node->custom1 & 1) { // use_tips
+ BLI_strncpy(storage->uv_map, "along_stroke_tips", sizeof(storage->uv_map));
+ }
+ else {
+ BLI_strncpy(storage->uv_map, "along_stroke", sizeof(storage->uv_map));
+ }
fromsock = (bNodeSocket *)BLI_findlink(&input_uvmap->outputs, 0); // UV
- tosock = (bNodeSocket *)BLI_findlink(&node->inputs, 0); // Vector
- nodeAddLink(ntree, input_uvmap, fromsock, node, tosock);
+
+ // replace links from the UV Along Stroke node by links from the UV Map node
+ for (bNodeLink *link = (bNodeLink *)ntree->links.first; link; link = link->next) {
+ if (link->fromnode == node && link->fromsock == sock) {
+ nodeAddLink(ntree, input_uvmap, fromsock, link->tonode, link->tosock);
+ }
+ }
+ nodeRemSocketLinks(ntree, sock);
}
}
-#endif
}
nodeSetActive(ntree, shader_mix);
More information about the Bf-blender-cvs
mailing list