<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Rendering step complete</title>
	<atom:link href="http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/feed/" rel="self" type="application/rss+xml" />
	<link>http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/</link>
	<description>»Log of the integration process, its challenges and (hopefully…) its solutions</description>
	<lastBuildDate>Thu, 18 Apr 2013 11:52:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: maxime</title>
		<link>http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/#comment-262</link>
		<dc:creator><![CDATA[maxime]]></dc:creator>
		<pubDate>Fri, 06 Jun 2008 07:30:21 +0000</pubDate>
		<guid isPermaLink="false">http://maximecurioni.com/gsoc2008/?p=18#comment-262</guid>
		<description><![CDATA[Stéphane, thanks for all the details. I only have a superficial understanding of Freestyle and I don&#039;t think I would have been able to figure this out quickly.

Jean-Luc, that&#039;s great news. Send me the patch for this scons script as soon as you have it. That will allow us to test it on Linux and Windows.]]></description>
		<content:encoded><![CDATA[<p>Stéphane, thanks for all the details. I only have a superficial understanding of Freestyle and I don&#8217;t think I would have been able to figure this out quickly.</p>
<p>Jean-Luc, that&#8217;s great news. Send me the patch for this scons script as soon as you have it. That will allow us to test it on Linux and Windows.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephane</title>
		<link>http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/#comment-261</link>
		<dc:creator><![CDATA[stephane]]></dc:creator>
		<pubDate>Thu, 05 Jun 2008 22:50:45 +0000</pubDate>
		<guid isPermaLink="false">http://maximecurioni.com/gsoc2008/?p=18#comment-261</guid>
		<description><![CDATA[This bundle_loader option is nice!
I don&#039;t know anything equivalent under windows though (?).
I might be wrong but I think that the lib_freestyle still needs to be subdivided (or built as a shared library) for the symbol resolution to work on all platforms, no?]]></description>
		<content:encoded><![CDATA[<p>This bundle_loader option is nice!<br />
I don&#8217;t know anything equivalent under windows though (?).<br />
I might be wrong but I think that the lib_freestyle still needs to be subdivided (or built as a shared library) for the symbol resolution to work on all platforms, no?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jean-luc</title>
		<link>http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/#comment-260</link>
		<dc:creator><![CDATA[jean-luc]]></dc:creator>
		<pubDate>Thu, 05 Jun 2008 15:31:55 +0000</pubDate>
		<guid isPermaLink="false">http://maximecurioni.com/gsoc2008/?p=18#comment-260</guid>
		<description><![CDATA[Stephane thanks, your comment put me in the right direction and :

 IT WORKS NOW !

compiling the wrapper must use the bundle_loader option :

g++ -bundle -flat_namespace -undefined suppress -w -L../../../../../../build/darwin/lib -framework python -lbf_freestyle -o ../../python/_Freestyle.so ModuleWrapper.o -bundle_loader ../../../../../../build/darwin/bin/blender.app/Contents/MacOS/blender

It works on intels probably because they dont have flat namespace unlike PPC (I use a G5). but you still need to use the flag for bundle.

I can now try to create the scons steps to do that automagically]]></description>
		<content:encoded><![CDATA[<p>Stephane thanks, your comment put me in the right direction and :</p>
<p> IT WORKS NOW !</p>
<p>compiling the wrapper must use the bundle_loader option :</p>
<p>g++ -bundle -flat_namespace -undefined suppress -w -L../../../../../../build/darwin/lib -framework python -lbf_freestyle -o ../../python/_Freestyle.so ModuleWrapper.o -bundle_loader ../../../../../../build/darwin/bin/blender.app/Contents/MacOS/blender</p>
<p>It works on intels probably because they dont have flat namespace unlike PPC (I use a G5). but you still need to use the flag for bundle.</p>
<p>I can now try to create the scons steps to do that automagically</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephane</title>
		<link>http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/#comment-259</link>
		<dc:creator><![CDATA[stephane]]></dc:creator>
		<pubDate>Wed, 04 Jun 2008 18:57:29 +0000</pubDate>
		<guid isPermaLink="false">http://maximecurioni.com/gsoc2008/?p=18#comment-259</guid>
		<description><![CDATA[I think I may see a possible explanation to the “Warning: current set empty” message and the absence of strokes.
The lines are not explicitly manipulated in the style module, instead they are stored as a state in the C++ library. Practically, in stroke/Operators.h, several containers are declared as static members of the Operators class (which also declares the select, chain, ... operators as static methods). That is fine as long as the library that contains Operators is shared between the executable and the python extension. Now, with the current configuration, freestyle is statically linked to blender on one side and statically linked to the _Freestyle.so python extension on the other side (this last one is dynamically linked to blender). As a result, the freestyle code appears twice and the Operators containers also. So, I suspect that the set of initial edges (coming from the ViewMap computation) is initialized on one side but not on the side seen by the python extension which therefore believes that the set of edges is empty. What do you think?
One thing that I don&#039;t understand though, is why it works on your system :-S

If that theory is confirmed, the solution would be to split the freestyle library into two or three sub-libraries, making sure that the library containing the states is linked only once into the blender executable.]]></description>
		<content:encoded><![CDATA[<p>I think I may see a possible explanation to the “Warning: current set empty” message and the absence of strokes.<br />
The lines are not explicitly manipulated in the style module, instead they are stored as a state in the C++ library. Practically, in stroke/Operators.h, several containers are declared as static members of the Operators class (which also declares the select, chain, &#8230; operators as static methods). That is fine as long as the library that contains Operators is shared between the executable and the python extension. Now, with the current configuration, freestyle is statically linked to blender on one side and statically linked to the _Freestyle.so python extension on the other side (this last one is dynamically linked to blender). As a result, the freestyle code appears twice and the Operators containers also. So, I suspect that the set of initial edges (coming from the ViewMap computation) is initialized on one side but not on the side seen by the python extension which therefore believes that the set of edges is empty. What do you think?<br />
One thing that I don&#8217;t understand though, is why it works on your system :-S</p>
<p>If that theory is confirmed, the solution would be to split the freestyle library into two or three sub-libraries, making sure that the library containing the states is linked only once into the blender executable.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: maxime</title>
		<link>http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/#comment-258</link>
		<dc:creator><![CDATA[maxime]]></dc:creator>
		<pubDate>Sat, 31 May 2008 06:13:41 +0000</pubDate>
		<guid isPermaLink="false">http://maximecurioni.com/gsoc2008/?p=18#comment-258</guid>
		<description><![CDATA[I tried compiling and linking with the local swig binary and environment and it seems to work (if I did not forget anything). Here are the steps I followed (I put the full path for clarity):

export SWIG_LIB=/Users/mx/Documents/work/GSoC_2008/bf-blender/branches/soc-2008-mxcurioni/extern/freestyle/swig/Lib

# verify swig library is recognized
/Users/mx/Documents/work/GSoC_2008/bf-blender/branches/build/darwin/bin/swig -swiglib

cd /Users/mx/Documents/work/GSoC_2008/bf-blender/branches/soc-2008-mxcurioni/source/blender/freestyle/intern/swig

/Users/mx/Documents/work/GSoC_2008/bf-blender/branches/build/darwin/bin/swig -c++ -python -o ModuleWrapper.cpp Freestyle.i

mv ./Freestyle.py ../../python/

g++ -w  -I../geometry -I../image -I../scene_graph -I../stroke -I../system -I../view_map -I../winged_edge -I/usr/include/python2.5 -I../../../blenlib -I../../../blenkernel -I../../../imbuf -I../../../makesdna -c ModuleWrapper.cpp -o ModuleWrapper.o

# for Mac OS
g++ -bundle -flat_namespace -undefined suppress  -w  -L/usr/lib/python2.5/config -L/Users/mx/Documents/work/GSoC_2008/bf-blender/branches/build/darwin/lib -lpython2.5 -lbf_freestyle -o ../../python/_Freestyle.so ModuleWrapper.o]]></description>
		<content:encoded><![CDATA[<p>I tried compiling and linking with the local swig binary and environment and it seems to work (if I did not forget anything). Here are the steps I followed (I put the full path for clarity):</p>
<p>export SWIG_LIB=/Users/mx/Documents/work/GSoC_2008/bf-blender/branches/soc-2008-mxcurioni/extern/freestyle/swig/Lib</p>
<p># verify swig library is recognized<br />
/Users/mx/Documents/work/GSoC_2008/bf-blender/branches/build/darwin/bin/swig -swiglib</p>
<p>cd /Users/mx/Documents/work/GSoC_2008/bf-blender/branches/soc-2008-mxcurioni/source/blender/freestyle/intern/swig</p>
<p>/Users/mx/Documents/work/GSoC_2008/bf-blender/branches/build/darwin/bin/swig -c++ -python -o ModuleWrapper.cpp Freestyle.i</p>
<p>mv ./Freestyle.py ../../python/</p>
<p>g++ -w  -I../geometry -I../image -I../scene_graph -I../stroke -I../system -I../view_map -I../winged_edge -I/usr/include/python2.5 -I../../../blenlib -I../../../blenkernel -I../../../imbuf -I../../../makesdna -c ModuleWrapper.cpp -o ModuleWrapper.o</p>
<p># for Mac OS<br />
g++ -bundle -flat_namespace -undefined suppress  -w  -L/usr/lib/python2.5/config -L/Users/mx/Documents/work/GSoC_2008/bf-blender/branches/build/darwin/lib -lpython2.5 -lbf_freestyle -o ../../python/_Freestyle.so ModuleWrapper.o</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: maxime</title>
		<link>http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/#comment-257</link>
		<dc:creator><![CDATA[maxime]]></dc:creator>
		<pubDate>Sat, 31 May 2008 05:40:20 +0000</pubDate>
		<guid isPermaLink="false">http://maximecurioni.com/gsoc2008/?p=18#comment-257</guid>
		<description><![CDATA[I just double-checked and I uploaded all the files in the source/blender/freestyle directory (except of course my own _Freestyle.so and the compiled Python modules). I do not use any particular environment variable (Freestyle uses the FREESTYLE_DIR by default, by I removed that dependency in app_blender/AppConfig.cpp and use the fixed directory variable TEST_ROOT_DIR specified in test_config.h).

We&#039;ll have to make sure that the different config paths (cf app_blender/AppConfig.h/cpp) are well instantiated. I&#039;ll take a closer look today.]]></description>
		<content:encoded><![CDATA[<p>I just double-checked and I uploaded all the files in the source/blender/freestyle directory (except of course my own _Freestyle.so and the compiled Python modules). I do not use any particular environment variable (Freestyle uses the FREESTYLE_DIR by default, by I removed that dependency in app_blender/AppConfig.cpp and use the fixed directory variable TEST_ROOT_DIR specified in test_config.h).</p>
<p>We&#8217;ll have to make sure that the different config paths (cf app_blender/AppConfig.h/cpp) are well instantiated. I&#8217;ll take a closer look today.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jean-luc</title>
		<link>http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/#comment-256</link>
		<dc:creator><![CDATA[jean-luc]]></dc:creator>
		<pubDate>Fri, 30 May 2008 17:15:32 +0000</pubDate>
		<guid isPermaLink="false">http://maximecurioni.com/gsoc2008/?p=18#comment-256</guid>
		<description><![CDATA[still no luck with the strokes. I tried various things with no changes, using both svn interface files and swig produced ones. I try to use the framework python

I notice that swig produce slighty different output in freestyle.py :

--- source/blender/freestyle/python/Freestyle.py        (revision 15049)
+++ source/blender/freestyle/python/Freestyle.py        (working copy)
@@ -1,5 +1,5 @@
 # This file was automatically generated by SWIG (http://www.swig.org).
-# Version 1.3.33
+# Version 1.3.35
 #
 # Don&#039;t modify this file, modify the SWIG interface instead.
 # This file is compatible with both classic and new-style classes.
@@ -60,7 +60,7 @@
     __setattr__ = lambda self, name, value: _swig_setattr(self, PySwigIterator, name, value)
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, PySwigIterator, name)
-    def __init__(self): raise AttributeError, &quot;No constructor defined&quot;
+    def __init__(self, *args, **kwargs): raise AttributeError, &quot;No constructor defined&quot;
     __repr__ = _swig_repr
     __swig_destroy__ = _Freestyle.delete_PySwigIterator
     __del__ = lambda self : None;
@@ -674,6 +674,8 @@
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, Interface0D, name)
     __repr__ = _swig_repr
+    __swig_destroy__ = _Freestyle.delete_Interface0D
+    __del__ = lambda self : None;
     def getExactTypeName(*args): return _Freestyle.Interface0D_getExactTypeName(*args)
     def getX(*args): return _Freestyle.Interface0D_getX(*args)
     def getY(*args): return _Freestyle.Interface0D_getY(*args)
@@ -694,8 +696,6 @@
         this = _Freestyle.new_Interface0D(*args)
         try: self.this.append(this)
         except: self.this = this
-    __swig_destroy__ = _Freestyle.delete_Interface0D
-    __del__ = lambda self : None;
 Interface0D_swigregister = _Freestyle.Interface0D_swigregister
 Interface0D_swigregister(Interface0D)
 cvar = _Freestyle.cvar
@@ -718,7 +718,7 @@
     __setattr__ = lambda self, name, value: _swig_setattr(self, Interface0DIteratorNested, name, value)
     __swig_getmethods__ = {}
     __getattr__ = lambda self, name: _swig_getattr(self, Interface0DIteratorNested, name)
-    def __init__(self): raise AttributeError, &quot;No constructor defined&quot;
+    def __init__(self, *args, **kwargs): raise AttributeError, &quot;No constructor defined&quot;


i&#039;m a bit out of ideas here.
Do you have env variables defined, or something not in svn ?]]></description>
		<content:encoded><![CDATA[<p>still no luck with the strokes. I tried various things with no changes, using both svn interface files and swig produced ones. I try to use the framework python</p>
<p>I notice that swig produce slighty different output in freestyle.py :</p>
<p>&#8212; source/blender/freestyle/python/Freestyle.py        (revision 15049)<br />
+++ source/blender/freestyle/python/Freestyle.py        (working copy)<br />
@@ -1,5 +1,5 @@<br />
 # This file was automatically generated by SWIG (<a href="http://www.swig.org" rel="nofollow">http://www.swig.org</a>).<br />
-# Version 1.3.33<br />
+# Version 1.3.35<br />
 #<br />
 # Don&#8217;t modify this file, modify the SWIG interface instead.<br />
 # This file is compatible with both classic and new-style classes.<br />
@@ -60,7 +60,7 @@<br />
     __setattr__ = lambda self, name, value: _swig_setattr(self, PySwigIterator, name, value)<br />
     __swig_getmethods__ = {}<br />
     __getattr__ = lambda self, name: _swig_getattr(self, PySwigIterator, name)<br />
-    def __init__(self): raise AttributeError, &#8220;No constructor defined&#8221;<br />
+    def __init__(self, *args, **kwargs): raise AttributeError, &#8220;No constructor defined&#8221;<br />
     __repr__ = _swig_repr<br />
     __swig_destroy__ = _Freestyle.delete_PySwigIterator<br />
     __del__ = lambda self : None;<br />
@@ -674,6 +674,8 @@<br />
     __swig_getmethods__ = {}<br />
     __getattr__ = lambda self, name: _swig_getattr(self, Interface0D, name)<br />
     __repr__ = _swig_repr<br />
+    __swig_destroy__ = _Freestyle.delete_Interface0D<br />
+    __del__ = lambda self : None;<br />
     def getExactTypeName(*args): return _Freestyle.Interface0D_getExactTypeName(*args)<br />
     def getX(*args): return _Freestyle.Interface0D_getX(*args)<br />
     def getY(*args): return _Freestyle.Interface0D_getY(*args)<br />
@@ -694,8 +696,6 @@<br />
         this = _Freestyle.new_Interface0D(*args)<br />
         try: self.this.append(this)<br />
         except: self.this = this<br />
-    __swig_destroy__ = _Freestyle.delete_Interface0D<br />
-    __del__ = lambda self : None;<br />
 Interface0D_swigregister = _Freestyle.Interface0D_swigregister<br />
 Interface0D_swigregister(Interface0D)<br />
 cvar = _Freestyle.cvar<br />
@@ -718,7 +718,7 @@<br />
     __setattr__ = lambda self, name, value: _swig_setattr(self, Interface0DIteratorNested, name, value)<br />
     __swig_getmethods__ = {}<br />
     __getattr__ = lambda self, name: _swig_getattr(self, Interface0DIteratorNested, name)<br />
-    def __init__(self): raise AttributeError, &#8220;No constructor defined&#8221;<br />
+    def __init__(self, *args, **kwargs): raise AttributeError, &#8220;No constructor defined&#8221;</p>
<p>i&#8217;m a bit out of ideas here.<br />
Do you have env variables defined, or something not in svn ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephane</title>
		<link>http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/#comment-255</link>
		<dc:creator><![CDATA[stephane]]></dc:creator>
		<pubDate>Thu, 29 May 2008 19:32:35 +0000</pubDate>
		<guid isPermaLink="false">http://maximecurioni.com/gsoc2008/?p=18#comment-255</guid>
		<description><![CDATA[Nice !! Is it me or the aspect ratio is not right? It&#039;s not a big deal anyway because the way the strokes screen-space coordinates are currently computed is based on the window raster size (which is very bad), so we&#039;ll have the opportunity to look a little closer at the projection matrix. In any case, congratulations for these first results, they&#039;re good to see!]]></description>
		<content:encoded><![CDATA[<p>Nice !! Is it me or the aspect ratio is not right? It&#8217;s not a big deal anyway because the way the strokes screen-space coordinates are currently computed is based on the window raster size (which is very bad), so we&#8217;ll have the opportunity to look a little closer at the projection matrix. In any case, congratulations for these first results, they&#8217;re good to see!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jean-luc</title>
		<link>http://freestyleintegration.wordpress.com/2008/05/29/rendering-step-complete/#comment-254</link>
		<dc:creator><![CDATA[jean-luc]]></dc:creator>
		<pubDate>Thu, 29 May 2008 12:34:49 +0000</pubDate>
		<guid isPermaLink="false">http://maximecurioni.com/gsoc2008/?p=18#comment-254</guid>
		<description><![CDATA[congrats.

my own build dont show strokes. possibily something wrong with swig.
i compiled freestyle.so with the datas in sconscript, but i probably missed something.

i have following message in console : &quot;Warning: current set empty&quot;

Also, it should be noted that you need to set render to render windows to get any result]]></description>
		<content:encoded><![CDATA[<p>congrats.</p>
<p>my own build dont show strokes. possibily something wrong with swig.<br />
i compiled freestyle.so with the datas in sconscript, but i probably missed something.</p>
<p>i have following message in console : &#8220;Warning: current set empty&#8221;</p>
<p>Also, it should be noted that you need to set render to render windows to get any result</p>
]]></content:encoded>
	</item>
</channel>
</rss>
