Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-07-15 19:21:27 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2014-08-12 05:10:20 +0400
commitfc85446c500fbe70515567e94122fc0d8746f3e5 (patch)
treef468d3d79cf395ea443682cdb1a92b42640e2550 /source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
parent4677684cfd18ea92f72bc5f24dc453cb1919e513 (diff)
Freestyle: Added preliminary support for textured strokes in Cycles.
Now the shader node tree of a line style ID datablock is used to define textures as well as their mapping and influence. TODO: Textures alpha channel mapping and influence. TODO: Blend mode in the Output Line Style shader node.
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp')
-rw-r--r--source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
index 00826c873bd..8c98a940f20 100644
--- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
+++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
@@ -328,7 +328,7 @@ static void prepare(Main *bmain, Render *re, SceneRenderLayer *srl)
cout << " (" << module_conf->script->name << ")";
cout << endl;
}
- controller->InsertStyleModule(layer_count, id_name, module_conf->script);
+ controller->InsertStyleModule(layer_count, id_name, NULL, module_conf->script);
controller->toggleLayer(layer_count, true);
layer_count++;
}
@@ -369,7 +369,7 @@ static void prepare(Main *bmain, Render *re, SceneRenderLayer *srl)
(lineset->linestyle ? (lineset->linestyle->id.name + 2) : "<NULL>") << endl;
}
Text *text = create_lineset_handler(bmain, srl->name, lineset->name);
- controller->InsertStyleModule(layer_count, lineset->name, text);
+ controller->InsertStyleModule(layer_count, lineset->name, lineset->linestyle, text);
controller->toggleLayer(layer_count, true);
if (!(lineset->selection & FREESTYLE_SEL_EDGE_TYPES) || !lineset->edge_types) {
++use_ridges_and_valleys;
@@ -736,7 +736,12 @@ void FRS_move_active_lineset_down(FreestyleConfig *config)
Material *FRS_create_stroke_material(bContext *C, Main *bmain, Scene *scene)
{
- return BlenderStrokeRenderer::GetStrokeMaterial(C, bmain, scene);
+ FreestyleLineStyle *linestyle = CTX_data_linestyle_from_scene(scene);
+
+ if (!linestyle) {
+ cout << "FRS_create_stroke_material: No active line style in the current scene" << endl;
+ }
+ return BlenderStrokeRenderer::GetStrokeShader(C, bmain, linestyle);
}
} // extern "C"