diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-05-09 06:58:25 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2014-05-09 07:19:29 +0400 |
commit | 40520d549d50bb227b06d46b35c91887171d2767 (patch) | |
tree | ab7db3a50a44063205cedb6534bfcf9fecae317a /source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h | |
parent | b24708775ff88470566a54a271ca926488753f5a (diff) |
Freestyle: Stroke rendering optimization.
Previously mesh objects were created for individual visible stroke segments (recalling that
a stroke may consist of alternate visible and invisible segments). This could result in an
excessive memory consumption in stroke rendering when strokes are composed of many
short visible segments (for instance by means of dashed lines and/or blueprint geometry
modifiers).
Now mesh objects represent individual strokes instead of stroke segments, which tends to
reduce the number of generated mesh objects by an order of magnitude.
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h')
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h index 0d502a3be4a..0025d48e77f 100644 --- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h +++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h @@ -63,6 +63,9 @@ protected: 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; #ifdef WITH_CXX_GUARDEDALLOC MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:BlenderStrokeRenderer") |