[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16729] branches/soc-2008-mxcurioni/source /blender/freestyle/intern: soc-2008-mxcurioni: incorporated Tamito Kajiyama 's patch, improving robustness for the Win32 build on older machines.
Maxime Curioni
maxime.curioni at gmail.com
Thu Sep 25 20:02:15 CEST 2008
Revision: 16729
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16729
Author: mxcurioni
Date: 2008-09-25 20:02:15 +0200 (Thu, 25 Sep 2008)
Log Message:
-----------
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
Modified Paths:
--------------
branches/soc-2008-mxcurioni/source/blender/freestyle/intern/app_blender/AppCanvas.cpp
branches/soc-2008-mxcurioni/source/blender/freestyle/intern/app_blender/AppCanvas.h
branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Canvas.cpp
branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Canvas.h
Modified: branches/soc-2008-mxcurioni/source/blender/freestyle/intern/app_blender/AppCanvas.cpp
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/freestyle/intern/app_blender/AppCanvas.cpp 2008-09-25 17:53:15 UTC (rev 16728)
+++ branches/soc-2008-mxcurioni/source/blender/freestyle/intern/app_blender/AppCanvas.cpp 2008-09-25 18:02:15 UTC (rev 16729)
@@ -46,7 +46,6 @@
:Canvas()
{
_pViewer = 0;
- _blendEquation = true;
_MapsPath = StringUtils::toAscii( Config::Path::getInstance()->getMapsDir() ).c_str();
}
@@ -54,14 +53,12 @@
:Canvas()
{
_pViewer = iViewer;
- _blendEquation = true;
}
AppCanvas::AppCanvas(const AppCanvas& iBrother)
:Canvas(iBrother)
{
_pViewer = iBrother._pViewer;
- _blendEquation = iBrother._blendEquation;
}
AppCanvas::~AppCanvas()
@@ -118,7 +115,7 @@
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::Render(const StrokeRenderer *iRenderer)
{
- if(!_blendEquation){
+ if(_basic){
RenderBasic(iRenderer);
return;
}
@@ -359,9 +356,13 @@
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);
}
}
Modified: branches/soc-2008-mxcurioni/source/blender/freestyle/intern/app_blender/AppCanvas.h
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/freestyle/intern/app_blender/AppCanvas.h 2008-09-25 17:53:15 UTC (rev 16728)
+++ branches/soc-2008-mxcurioni/source/blender/freestyle/intern/app_blender/AppCanvas.h 2008-09-25 18:02:15 UTC (rev 16729)
@@ -8,7 +8,6 @@
{
private:
mutable AppGLWidget *_pViewer;
- bool _blendEquation;
public:
AppCanvas();
AppCanvas(AppGLWidget *iViewer);
Modified: branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Canvas.cpp
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Canvas.cpp 2008-09-25 17:53:15 UTC (rev 16728)
+++ branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Canvas.cpp 2008-09-25 18:02:15 UTC (rev 16729)
@@ -59,6 +59,7 @@
_Renderer = 0;
_current_sm = NULL;
_steerableViewMap = new SteerableViewMap(NB_STEERABLE_VIEWMAP-1);
+ _basic = false;
}
Canvas::Canvas(const Canvas& iBrother)
@@ -69,7 +70,7 @@
_Renderer = iBrother._Renderer;
_current_sm = iBrother._current_sm;
_steerableViewMap = new SteerableViewMap(*(iBrother._steerableViewMap));
-
+ _basic = iBrother._basic;
}
Canvas::~Canvas()
@@ -109,17 +110,28 @@
_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();
}
Modified: branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Canvas.h
===================================================================
--- branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Canvas.h 2008-09-25 17:53:15 UTC (rev 16728)
+++ branches/soc-2008-mxcurioni/source/blender/freestyle/intern/stroke/Canvas.h 2008-09-25 18:02:15 UTC (rev 16729)
@@ -82,7 +82,8 @@
mapsMap _maps;
static const char * _MapsPath;
SteerableViewMap *_steerableViewMap;
-
+ bool _basic;
+
public:
/* Builds the Canvas */
Canvas();
@@ -184,7 +185,7 @@
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);
More information about the Bf-blender-cvs
mailing list