diff options
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h')
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h index 74e5d321df2..ec53efa14cd 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h +++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h @@ -53,6 +53,21 @@ public: Object *NewMesh() const; + struct StrokeGroup { + explicit StrokeGroup() : totvert(0), totedge(0), totpoly(0), totloop(0), totcol(0) {} + vector<StrokeRep*> strokes; + int totvert; + int totedge; + int totpoly; + int totloop; + int totcol; + }; + vector<StrokeGroup*> strokeGroups, texturedStrokeGroups; + + int GenerateScene(); + void GenerateStrokeMesh(StrokeGroup *group, bool hasTex); + void FreeStrokeGroups(); + Render *RenderScene(Render *re, bool render); static Material* GetStrokeShader(Main *bmain, bNodeTree *iNodeTree, bool do_id_user); @@ -68,16 +83,20 @@ protected: bool _use_shading_nodes; struct GHash *_nodetree_hash; + static const char *uvNames[]; + + int get_stroke_count() const; float get_stroke_vertex_z(void) const; unsigned int get_stroke_mesh_id(void) const; bool test_triangle_visibility(StrokeVertexRep *svRep[3]) const; void test_strip_visibility(Strip::vertex_container& strip_vertices, int *visible_faces, int *visible_segments) const; + vector<StrokeRep *> _strokeReps; + #ifdef WITH_CXX_GUARDEDALLOC MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:BlenderStrokeRenderer") #endif - }; } /* namespace Freestyle */ |