diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2010-03-28 21:46:10 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2010-03-28 21:46:10 +0400 |
commit | 840ba8e8e74c74088aabf8185b91fd5e32302fee (patch) | |
tree | 2e0f229ffe129b889229c17b108777cb26aa818e /source/blender/freestyle/intern/application | |
parent | 009d7819c144047355c35fb1ac90333351779e3c (diff) |
Fixed the full sample anti-aliasing support in Freestyle.
The render pipeline has been extended to better work with
Freestyle stroke rendering. Struct Render has a new member
ListBase freestyle_renders to keep Render instances generated
through stroke rendering in Freestyle. The number of
elements (LinkData instances with LinkData::data pointing to a
Render instance) in freestyle_renders is the same as the scene
render layers of the scene being rendered. When the k-th scene
render layer has the Freestyle option enabled, the k-th element
of freestyle_renders refers to a Render instance that holds
Freestyle render results for the scene layer. This association
between the scene render layer and the Render instance is used to
merge the Freestyle render results into the corresponding render
results for the scene render layer.
Diffstat (limited to 'source/blender/freestyle/intern/application')
-rwxr-xr-x | source/blender/freestyle/intern/application/Controller.cpp | 7 | ||||
-rwxr-xr-x | source/blender/freestyle/intern/application/Controller.h | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/source/blender/freestyle/intern/application/Controller.cpp b/source/blender/freestyle/intern/application/Controller.cpp index 43f091d3fa1..76c9023df57 100755 --- a/source/blender/freestyle/intern/application/Controller.cpp +++ b/source/blender/freestyle/intern/application/Controller.cpp @@ -676,8 +676,13 @@ void Controller::DrawStrokes() resetModified(); } +void Controller::ResetRenderCount() +{ + _render_count = 0; +} + Render* Controller::RenderStrokes(Render *re) { - BlenderStrokeRenderer* blenderRenderer = new BlenderStrokeRenderer(re); + BlenderStrokeRenderer* blenderRenderer = new BlenderStrokeRenderer(re, ++_render_count); _Canvas->Render( blenderRenderer ); Render* freestyle_render = blenderRenderer->RenderScene(re); delete blenderRenderer; diff --git a/source/blender/freestyle/intern/application/Controller.h b/source/blender/freestyle/intern/application/Controller.h index 9d1db24a026..deeabb6da0a 100755 --- a/source/blender/freestyle/intern/application/Controller.h +++ b/source/blender/freestyle/intern/application/Controller.h @@ -85,6 +85,7 @@ public: void saveSteerableViewMapImages(); void toggleEdgeTesselationNature(Nature::EdgeNature iNature); void DrawStrokes(); + void ResetRenderCount(); Render* RenderStrokes(Render *re); void SwapStyleModules(unsigned i1, unsigned i2); void InsertStyleModule(unsigned index, const char *iFileName); @@ -204,6 +205,7 @@ private: real _EPSILON; real _bboxDiag; + int _render_count; //AppStyleWindow *_pStyleWindow; //AppOptionsWindow *_pOptionsWindow; |