diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-07-17 03:29:12 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2012-07-17 03:29:12 +0400 |
commit | 5a581c1fd116c51df13e09c5c320feba48d069bb (patch) | |
tree | 91df14a7a43b19af4ecac736460cbbd8c1b1e291 /source/blender/freestyle/intern/winged_edge/WingedEdgeBuilder.h | |
parent | 9d2a957a0d440b07d1a5e9e0ee5fb613d93637d9 (diff) |
Better handling of the ESC key during Freestyle rendering.
This commit is meant to improve the response of the ESC key for stopping Freestyle rendering
throughout the rendering process. The rendering with Freestyle consists of several steps
including: (1) mesh data loading, (2) winged edge construction, (3) silhouette edge detection,
(4) view map construction, and (5) stroke drawing. All these steps have been extended to
frequently check if the ESC key is pressed, so that users can abort time-consuming rendering
at any point of time.
Diffstat (limited to 'source/blender/freestyle/intern/winged_edge/WingedEdgeBuilder.h')
-rwxr-xr-x | source/blender/freestyle/intern/winged_edge/WingedEdgeBuilder.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/winged_edge/WingedEdgeBuilder.h b/source/blender/freestyle/intern/winged_edge/WingedEdgeBuilder.h index 8e9d0122e35..972d67355d2 100755 --- a/source/blender/freestyle/intern/winged_edge/WingedEdgeBuilder.h +++ b/source/blender/freestyle/intern/winged_edge/WingedEdgeBuilder.h @@ -33,6 +33,7 @@ # define WINGED_EDGE_BUILDER_H # include "../system/FreestyleConfig.h" +# include "../system/RenderMonitor.h" # include "../scene_graph/SceneVisitor.h" # include "WEdge.h" # include "../scene_graph/IndexedFaceSet.h" @@ -47,6 +48,7 @@ class LIB_WINGED_EDGE_EXPORT WingedEdgeBuilder : public SceneVisitor _current_frs_material = NULL; _current_matrix = NULL; _winged_edge = new WingedEdge; // Not deleted by the destructor + _pRenderMonitor = NULL; } virtual ~WingedEdgeBuilder() { @@ -101,6 +103,10 @@ class LIB_WINGED_EDGE_EXPORT WingedEdgeBuilder : public SceneVisitor // _current_matrix = matrix; // } + inline void setRenderMonitor(RenderMonitor *iRenderMonitor) { + _pRenderMonitor = iRenderMonitor; + } + protected: virtual void buildWShape(WShape& shape, IndexedFaceSet& ifs); @@ -108,6 +114,8 @@ class LIB_WINGED_EDGE_EXPORT WingedEdgeBuilder : public SceneVisitor const real *vertices, unsigned vsize); + RenderMonitor *_pRenderMonitor; + private: void buildTriangleStrip(const real *vertices, |