From 209c5cebb06abc06f7afd6b70298cf14a7138b64 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 4 Apr 2018 15:51:03 +0200 Subject: Freestyle: use depsgraph to get geometry, instead of Blender Internal. Some of the code is simpler because we use Blender's triangulation directly instead of dealing with quads. Also some progress printing code was removed because the depsgraph can not tell us the number of objects ahead of time. Differential Revision: https://developer.blender.org/D3127 --- .../freestyle/intern/blender_interface/BlenderFileLoader.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h') diff --git a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h index ad92416801d..e671c916934 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h +++ b/source/blender/freestyle/intern/blender_interface/BlenderFileLoader.h @@ -40,17 +40,28 @@ #include "../system/RenderMonitor.h" extern "C" { +#include "MEM_guardedalloc.h" + #include "DNA_material_types.h" +#include "DNA_mesh_types.h" #include "DNA_meshdata_types.h" +#include "DNA_modifier_types.h" +#include "DNA_object_types.h" #include "DNA_scene_types.h" #include "renderdatabase.h" #include "render_types.h" +#include "BKE_customdata.h" +#include "BKE_material.h" #include "BKE_mesh.h" #include "BKE_scene.h" +#include "BLI_iterator.h" +#include "BLI_listbase.h" #include "BLI_math.h" + +#include "DEG_depsgraph_query.h" } #ifdef WITH_CXX_GUARDEDALLOC @@ -96,9 +107,8 @@ public: inline void setRenderMonitor(RenderMonitor *iRenderMonitor) {_pRenderMonitor = iRenderMonitor;} protected: - void insertShapeNode(ObjectInstanceRen *obi, int id); + void insertShapeNode(Object *ob, Mesh *mesh, int id); int testDegenerateTriangle(float v1[3], float v2[3], float v3[3]); - bool testEdgeRotation(float v1[3], float v2[3], float v3[3], float v4[3]); int countClippedFaces(float v1[3], float v2[3], float v3[3], int clip[3]); void clipLine(float v1[3], float v2[3], float c[3], float z); void clipTriangle(int numTris, float triCoords[][3], float v1[3], float v2[3], float v3[3], -- cgit v1.2.3