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:
authorMaxime Curioni <maxime.curioni@gmail.com>2008-09-25 22:02:15 +0400
committerMaxime Curioni <maxime.curioni@gmail.com>2008-09-25 22:02:15 +0400
commit920bb95aabf581e2cdf25568c77e276078c3689b (patch)
tree82e36fce6d0771e7ef6cfd41648ca3f5e6cfff95 /source/blender/freestyle/intern/stroke/Canvas.cpp
parent4be21b18f83a7606fdb764caa537e42ec9aa72fc (diff)
soc-2008-mxcurioni: incorporated Tamito Kajiyama's patch, improving robustness for the Win32 build on older machines. In detail, the _blendEquation variable from AppCanvas is replaced by a _basic variable in Canvas, determing the rendering mode (standard with blending or basic). This latter variable is used to make sure that strokes are rendered in the right mode
Diffstat (limited to 'source/blender/freestyle/intern/stroke/Canvas.cpp')
-rwxr-xr-xsource/blender/freestyle/intern/stroke/Canvas.cpp24
1 files changed, 18 insertions, 6 deletions
diff --git a/source/blender/freestyle/intern/stroke/Canvas.cpp b/source/blender/freestyle/intern/stroke/Canvas.cpp
index ee8213609dd..acfbdc1fc26 100755
--- a/source/blender/freestyle/intern/stroke/Canvas.cpp
+++ b/source/blender/freestyle/intern/stroke/Canvas.cpp
@@ -59,6 +59,7 @@ Canvas::Canvas()
_Renderer = 0;
_current_sm = NULL;
_steerableViewMap = new SteerableViewMap(NB_STEERABLE_VIEWMAP-1);
+ _basic = false;
}
Canvas::Canvas(const Canvas& iBrother)
@@ -69,7 +70,7 @@ Canvas::Canvas(const Canvas& iBrother)
_Renderer = iBrother._Renderer;
_current_sm = iBrother._current_sm;
_steerableViewMap = new SteerableViewMap(*(iBrother._steerableViewMap));
-
+ _basic = iBrother._basic;
}
Canvas::~Canvas()
@@ -109,17 +110,28 @@ void Canvas::Draw()
_current_sm = _StyleModules[i];
if (!_StyleModules[i]->getModified())
{
- if (_StyleModules[i]->getDrawable() && _Layers[i])
- _Layers[i]->Render(_Renderer);
- continue;
+
+ if (_StyleModules[i]->getDrawable() && _Layers[i]) {
+ if (_basic)
+ _Layers[i]->RenderBasic(_Renderer);
+ else
+ _Layers[i]->Render(_Renderer);
+ }
+ continue;
+
+
}
if (i < _Layers.size() && _Layers[i])
delete _Layers[i];
_Layers[i] = _StyleModules[i]->execute();
- if (_StyleModules[i]->getDrawable() && _Layers[i])
- _Layers[i]->Render(_Renderer);
+ if (_StyleModules[i]->getDrawable() && _Layers[i]) {
+ if (_basic)
+ _Layers[i]->RenderBasic(_Renderer);
+ else
+ _Layers[i]->Render(_Renderer);
+ }
timestamp->increment();
}