Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2010-03-28 21:46:10 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2010-03-28 21:46:10 +0400
commit840ba8e8e74c74088aabf8185b91fd5e32302fee (patch)
tree2e0f229ffe129b889229c17b108777cb26aa818e /source/blender/freestyle/intern/application
parent009d7819c144047355c35fb1ac90333351779e3c (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-xsource/blender/freestyle/intern/application/Controller.cpp7
-rwxr-xr-xsource/blender/freestyle/intern/application/Controller.h2
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;