diff options
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h')
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h | 113 |
1 files changed, 57 insertions, 56 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h index 686e7272cc8..c333319ada1 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h +++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h @@ -38,66 +38,67 @@ struct bNodeTree; namespace Freestyle { -class BlenderStrokeRenderer : public StrokeRenderer -{ -public: - BlenderStrokeRenderer(Render *re, int render_count); - virtual ~BlenderStrokeRenderer(); - - /*! Renders a stroke rep */ - virtual void RenderStrokeRep(StrokeRep *iStrokeRep) const; - virtual void RenderStrokeRepBasic(StrokeRep *iStrokeRep) const; - - 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); - -protected: - Main *freestyle_bmain; - Scene *old_scene; - Scene *freestyle_scene; - Depsgraph *freestyle_depsgraph; - bContext *_context; - float _width, _height; - float _z, _z_delta; - unsigned int _mesh_id; - 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; +class BlenderStrokeRenderer : public StrokeRenderer { + public: + BlenderStrokeRenderer(Render *re, int render_count); + virtual ~BlenderStrokeRenderer(); + + /*! Renders a stroke rep */ + virtual void RenderStrokeRep(StrokeRep *iStrokeRep) const; + virtual void RenderStrokeRepBasic(StrokeRep *iStrokeRep) const; + + 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); + + protected: + Main *freestyle_bmain; + Scene *old_scene; + Scene *freestyle_scene; + Depsgraph *freestyle_depsgraph; + bContext *_context; + float _width, _height; + float _z, _z_delta; + unsigned int _mesh_id; + 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") + MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:BlenderStrokeRenderer") #endif }; } /* namespace Freestyle */ -#endif // __BLENDER_STROKE_RENDERER_H__ +#endif // __BLENDER_STROKE_RENDERER_H__ |