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:
-rwxr-xr-xsource/blender/freestyle/intern/app_blender/AppCanvas.cpp15
-rwxr-xr-xsource/blender/freestyle/intern/app_blender/AppCanvas.h1
-rwxr-xr-xsource/blender/freestyle/intern/stroke/Canvas.cpp24
-rwxr-xr-xsource/blender/freestyle/intern/stroke/Canvas.h5
4 files changed, 29 insertions, 16 deletions
diff --git a/source/blender/freestyle/intern/app_blender/AppCanvas.cpp b/source/blender/freestyle/intern/app_blender/AppCanvas.cpp
index fb13e10de15..dd4075eccd0 100755
--- a/source/blender/freestyle/intern/app_blender/AppCanvas.cpp
+++ b/source/blender/freestyle/intern/app_blender/AppCanvas.cpp
@@ -46,7 +46,6 @@ AppCanvas::AppCanvas()
:Canvas()
{
_pViewer = 0;
- _blendEquation = true;
_MapsPath = StringUtils::toAscii( Config::Path::getInstance()->getMapsDir() ).c_str();
}
@@ -54,14 +53,12 @@ AppCanvas::AppCanvas(AppGLWidget* iViewer)
:Canvas()
{
_pViewer = iViewer;
- _blendEquation = true;
}
AppCanvas::AppCanvas(const AppCanvas& iBrother)
:Canvas(iBrother)
{
_pViewer = iBrother._pViewer;
- _blendEquation = iBrother._blendEquation;
}
AppCanvas::~AppCanvas()
@@ -118,7 +115,7 @@ void AppCanvas::init()
cout << "GLEW initialized" << endl;
if(!glBlendEquation) {
- _blendEquation = false;
+ _basic = true;
cout << "glBlendEquation unavailable on this hardware -> switching to strokes basic rendering mode" << endl;
}
firsttime=false;
@@ -227,7 +224,7 @@ void AppCanvas::update()
void AppCanvas::Render(const StrokeRenderer *iRenderer)
{
- if(!_blendEquation){
+ if(_basic){
RenderBasic(iRenderer);
return;
}
@@ -359,9 +356,13 @@ void AppCanvas::RenderBasic(const StrokeRenderer *iRenderer)
void AppCanvas::RenderStroke(Stroke *iStroke) {
- iStroke->Render(_Renderer);
+
+ if(_basic)
+ iStroke->RenderBasic(_Renderer);
+ else
+ iStroke->Render(_Renderer);
+
if(_pViewer->getRecordFlag()){
- //Sleep(1000);
_pViewer->saveSnapshot(true);
}
}
diff --git a/source/blender/freestyle/intern/app_blender/AppCanvas.h b/source/blender/freestyle/intern/app_blender/AppCanvas.h
index 0eb1faa2549..c61c8044c10 100755
--- a/source/blender/freestyle/intern/app_blender/AppCanvas.h
+++ b/source/blender/freestyle/intern/app_blender/AppCanvas.h
@@ -8,7 +8,6 @@ class AppCanvas : public Canvas
{
private:
mutable AppGLWidget *_pViewer;
- bool _blendEquation;
public:
AppCanvas();
AppCanvas(AppGLWidget *iViewer);
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();
}
diff --git a/source/blender/freestyle/intern/stroke/Canvas.h b/source/blender/freestyle/intern/stroke/Canvas.h
index 4f57cd9c36c..4dd13950daf 100755
--- a/source/blender/freestyle/intern/stroke/Canvas.h
+++ b/source/blender/freestyle/intern/stroke/Canvas.h
@@ -82,7 +82,8 @@ protected:
mapsMap _maps;
static const char * _MapsPath;
SteerableViewMap *_steerableViewMap;
-
+ bool _basic;
+
public:
/* Builds the Canvas */
Canvas();
@@ -184,7 +185,7 @@ public:
void ReplaceStyleModule(unsigned index, StyleModule *iStyleModule);
void setVisible(unsigned index, bool iVisible) ;
//inline void setDensityMap(InformationMap<RGBImage>* iMap) {_DensityMap = iMap;}
- inline void AddLayer(StrokeLayer *iLayer) {_Layers.push_back(iLayer);}
+ inline void AddLayer(StrokeLayer *iLayer) {_Layers.push_back(iLayer);}
void resetModified(bool iMod=false);
void causalStyleModules(std::vector<unsigned>& vec, unsigned index = 0);
void setModified(unsigned index, bool b);