[Bf-blender-cvs] [c2191912cab] blender2.8: Freestyle is back for 2.8

Dalai Felinto noreply at git.blender.org
Thu May 18 17:35:08 CEST 2017


Commit: c2191912cabeab3dd0da12863a8af8e57a70df03
Author: Dalai Felinto
Date:   Thu May 18 16:03:28 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBc2191912cabeab3dd0da12863a8af8e57a70df03

Freestyle is back for 2.8

It works with Cycles and Blender Internal for now.

The Blender Internal support will disappear, but we should be able to
integrate it with the Draw manager and use it with Clay, Eevee, ...

===================================================================

M	source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
M	source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp

===================================================================

diff --git a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
index 1f5e2b63bfa..35ac3171987 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.cpp
@@ -105,8 +105,6 @@ NodeGroup *BlenderFileLoader::Load()
 			cnt++;
 		}
 
-		if (!(obi->lay & _srl->lay))
-			continue;
 		char *name = obi->ob->id.name;
 		//printf("%c%c:%s\n", name[0], name[1], name+2);
 		//print_m4("obi->mat", obi->mat);
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index b89ff75e199..e4c4e7473fe 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@ -43,6 +43,7 @@ extern "C" {
 #include "DNA_screen_types.h"
 #include "DNA_scene_types.h"
 
+#include "BKE_collection.h"
 #include "BKE_customdata.h"
 #include "BKE_global.h"
 #include "BKE_library.h" /* free_libblock */
@@ -168,7 +169,7 @@ BlenderStrokeRenderer::~BlenderStrokeRenderer()
 	// compositor has finished.
 
 	// release objects and data blocks
-	for (BaseLegacy *b = (BaseLegacy *)freestyle_scene->base.first; b; b = b->next) {
+	for (Base *b = (Base *)((SceneLayer *)(freestyle_scene->render_layers.first))->object_bases.first; b; b = b->next) {
 		Object *ob = b->object;
 		void *data = ob->data;
 		char *name = ob->id.name;
@@ -191,7 +192,6 @@ BlenderStrokeRenderer::~BlenderStrokeRenderer()
 			cerr << "Warning: unexpected object in the scene: " << name[0] << name[1] << ":" << (name + 2) << endl;
 		}
 	}
-	BLI_freelistN(&freestyle_scene->base);
 
 	// release materials
 	Link *lnk = (Link *)freestyle_bmain->mat.first;
@@ -924,7 +924,6 @@ void BlenderStrokeRenderer::GenerateStrokeMesh(StrokeGroup *group, bool hasTex)
 Object *BlenderStrokeRenderer::NewMesh() const
 {
 	Object *ob;
-	BaseLegacy *base;
 	char name[MAX_ID_NAME];
 	unsigned int mesh_id = get_stroke_mesh_id();
 
@@ -934,14 +933,11 @@ Object *BlenderStrokeRenderer::NewMesh() const
 	ob->data = BKE_mesh_add(freestyle_bmain, name);
 	ob->lay = 1;
 
-	base = BKE_scene_base_add(freestyle_scene, ob);
+	SceneCollection *sc_master = BKE_collection_master(freestyle_scene);
+	BKE_collection_object_add(freestyle_scene, sc_master, ob);
+
+	BKE_scene_base_add(freestyle_scene, ob);
 	DEG_relations_tag_update(freestyle_bmain);
-#if 0
-	BKE_scene_base_deselect_all(scene);
-	BKE_scene_base_select(scene, base);
-#else
-	(void)base;
-#endif
 
 	DEG_id_tag_update_ex(freestyle_bmain, &ob->id, OB_RECALC_OB | OB_RECALC_DATA | OB_RECALC_TIME);




More information about the Bf-blender-cvs mailing list