<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-3701</id>
	<title>Nabble - Aqsis Renderer</title>
	<updated>2009-11-29T01:28:27Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Aqsis-Renderer-f3701.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Aqsis-Renderer-f3701.html" />
	<subtitle type="html">Aqsis is a Renderman(tm) compliant 3D rendering toolkit.   Aqsis is based on the Reyes rendering architecture.   Features include :  Programmable Shading  True Displacements  NURBS  CSG  Motion Blur  Subdivision Surfaces Aqsis Renderer home is &lt;a href=&quot;http://sourceforge.net/projects/aqsis/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26560400</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-29T01:28:27Z</published>
	<updated>2009-11-29T01:28:27Z</updated>
	<author>
		<name>Jonathan Merritt-2</name>
	</author>
	<content type="html">Hi Everyone,
&lt;br&gt;&lt;br&gt;On 24/11/2009, at 8:41 AM, Matthias Baas wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; I was hoping to do something more general initially... a layered approach:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;Piqsl XML-based socket communication
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;Data layer of interfaces containing 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;bucket data, listeners that are 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;notified when buckets become 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;available, etc.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;Display layer; components in various
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;toolkits (Swing, JavaFX, SWT) for
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;displaying the data layer.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; With an appropriate &amp;quot;model&amp;quot; (in the MVC arrangement) that includes
&lt;br&gt;&amp;gt;&amp;gt; listeners, an adaptor-style hookup to any of the GUI toolkits should
&lt;br&gt;&amp;gt;&amp;gt; be easy.
&lt;/div&gt;&lt;br&gt;Just a quick update on this... I've implemented most of the bottom layer in a &amp;quot;rough draft&amp;quot; form. &amp;nbsp;I've implemented it around a &amp;quot;responder&amp;quot; interface for socket communication that looks like this:
&lt;br&gt;&lt;br&gt;public interface PiqslResponder {
&lt;br&gt;&amp;nbsp; &amp;nbsp; List&amp;lt;Format&amp;gt; openDisplay(OpenMessage message);
&lt;br&gt;&amp;nbsp; &amp;nbsp; void receiveBucket(BucketData data);
&lt;br&gt;&amp;nbsp; &amp;nbsp; void closeDisplay();
&lt;br&gt;&amp;nbsp; &amp;nbsp; void commError(String message); &amp;nbsp; &amp;nbsp;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;The responder is passed to a socket manager, which performs the socket communication and asynchronously calls the various methods when required. &amp;nbsp;The other items (OpenMessage, Format, BucketData, and a few others referenced by those) are also interfaces to read-only data structures.
&lt;br&gt;&lt;br&gt;It's a bit rough at this stage, but everything is working. &amp;nbsp;I'll probably spend the remainder of next week tidying up the socket layer. &amp;nbsp;Then I'll implement a model which will be suitable for any of the GUI toolkits.
&lt;br&gt;&lt;br&gt;I'm using Scala for all of this, but that should be invisible to clients of each layer. &amp;nbsp;Each layer is only made visible outside of its own package via a set of interfaces and a few stub classes which are written in Java. &amp;nbsp;Since Java is (currently) the lowest-common-denominator among the JVM languages, it should be possible for clients of each layer to be written in any JVM language.
&lt;br&gt;&lt;br&gt;&amp;gt; Does that mean I could write applets or Eclipse plugins in one of the
&lt;br&gt;&amp;gt; above languages instead of Java?
&lt;br&gt;&lt;br&gt;I think so, yes... but you'd need to check the specifics for how each of the languages inter-operates with Java. &amp;nbsp;I know, for example, that it's possible to use Swing and SWT from Jython. &amp;nbsp;Jython uses reflection (at least, last time I checked) to call appropriate methods on the Java classes.
&lt;br&gt;&lt;br&gt;I can keep working on things locally, and perhaps prepare a screencast or something when I have a GUI layer finished (which wouldn't be until mid-January, probably). &amp;nbsp;If anyone else wants to see what I'm up to, I can check code in to aqsis svn or perhaps to somewhere like Project Kenai (I'm using Netbeans for development, which integrates nicely with Kenai).
&lt;br&gt;&lt;br&gt;There hasn't been a need to modify piqsldisplay.cpp yet. &amp;nbsp;For development, I'm launching the socket listener first, and then invoking aqsis. &amp;nbsp;Provided that I use:
&lt;br&gt;&amp;nbsp; &amp;nbsp; Display &amp;quot;name.tif&amp;quot; &amp;quot;piqsl&amp;quot; ...
&lt;br&gt;in a RIB file, aqsis will still launch piqsldisplay, and piqsldisplay will not attempt to re-launch the FLTK GUI provided that someone is already listening on the correct port. &amp;nbsp;Obviously, something will need to be done to launch the GUI eventually, but tinkering with that can wait until I have a working GUI.
&lt;br&gt;&lt;br&gt;Jonathan Merritt.
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26560400&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26560400.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26548522</id>
	<title>Re: memset usage in d_sdcBMP.cpp</title>
	<published>2009-11-27T14:12:45Z</published>
	<updated>2009-11-27T14:12:45Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">On Fri, Nov 27, 2009 at 10:46 PM, Paul Gregory &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26548522&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pgregory@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Looks like a real bug, this needs to be recorded on the bug list so that it
&lt;br&gt;&amp;gt; gets fixed asap.
&lt;br&gt;&lt;br&gt;Fixed now in git.
&lt;br&gt;&lt;br&gt;&amp;gt; Only positive is that d_sdcWin32 and d_sdcBMP are pretty much unused as far
&lt;br&gt;&amp;gt; as I know.
&lt;br&gt;&lt;br&gt;The bmp display driver is built and installed but I'd guess that pretty much
&lt;br&gt;nobody uses it. &amp;nbsp;OTOH, the win32 display driver isn't even built so that bug
&lt;br&gt;can't be affecting anybody ;-)
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;~Chris
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26548522&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/memset-usage-in-d_sdcBMP.cpp-tp26541854p26548522.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26543033</id>
	<title>Re: memset usage in d_sdcBMP.cpp</title>
	<published>2009-11-27T04:46:14Z</published>
	<updated>2009-11-27T04:46:14Z</updated>
	<author>
		<name>Paul Gregory-4</name>
	</author>
	<content type="html">Looks like a real bug, this needs to be recorded on the bug list so that it gets fixed asap.&lt;br&gt;&lt;br&gt;Only positive is that d_sdcWin32 and d_sdcBMP are pretty much unused as far as I know.&lt;br&gt;&lt;br&gt;&lt;br&gt;Cheers&lt;br&gt;&lt;br&gt;Paul&lt;br&gt;&lt;br&gt;
&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/27 Nicolas Chauvet &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26543033&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kwizart@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Hello,&lt;br&gt;
&lt;br&gt;
Dave Jones from the fedora kernel team has checked several userland&lt;br&gt;
package for incorrect usage of the memset function.&lt;br&gt;
Aqsis is one of them. From his report one can see:&lt;br&gt;
&lt;br&gt;
Checking ./aqsis/aqsis-1.6.0/tools/displays/sdcWin32/d_sdcWin32.cpp&lt;br&gt;
Found memset with swapped arguments.&lt;br&gt;
250:    memset(&amp;amp;g_Data, sizeof(AppData), 0);&lt;br&gt;
&lt;br&gt;
Checking ./aqsis/aqsis-1.6.0/tools/displays/sdcBMP/d_sdcBMP.cpp&lt;br&gt;
Found memset with swapped arguments.&lt;br&gt;
172:    memset(&amp;amp;g_Data, sizeof(AppData), 0);&lt;br&gt;
&lt;br&gt;
This seems always to be a bug when the third argument is 0.&lt;br&gt;
&lt;br&gt;
Thx&lt;br&gt;
&lt;br&gt;
Nicolas (kwizart)&lt;br&gt;
&lt;br&gt;
------------------------------------------------------------------------------&lt;br&gt;
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day&lt;br&gt;
trial. Simplify your report design, integration and deployment - and focus on&lt;br&gt;
what you do best, core application coding. Discover what&amp;#39;s new with&lt;br&gt;
Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Aqsis-development mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26543033&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26543033&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/memset-usage-in-d_sdcBMP.cpp-tp26541854p26543033.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26541854</id>
	<title>memset usage in d_sdcBMP.cpp</title>
	<published>2009-11-27T04:34:30Z</published>
	<updated>2009-11-27T04:34:30Z</updated>
	<author>
		<name>Nicolas Chauvet</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;Dave Jones from the fedora kernel team has checked several userland
&lt;br&gt;package for incorrect usage of the memset function.
&lt;br&gt;Aqsis is one of them. From his report one can see:
&lt;br&gt;&lt;br&gt;Checking ./aqsis/aqsis-1.6.0/tools/displays/sdcWin32/d_sdcWin32.cpp
&lt;br&gt;Found memset with swapped arguments.
&lt;br&gt;250: &amp;nbsp; &amp;nbsp;memset(&amp;g_Data, sizeof(AppData), 0);
&lt;br&gt;&lt;br&gt;Checking ./aqsis/aqsis-1.6.0/tools/displays/sdcBMP/d_sdcBMP.cpp
&lt;br&gt;Found memset with swapped arguments.
&lt;br&gt;172: &amp;nbsp; &amp;nbsp;memset(&amp;g_Data, sizeof(AppData), 0);
&lt;br&gt;&lt;br&gt;This seems always to be a bug when the third argument is 0.
&lt;br&gt;&lt;br&gt;Thx
&lt;br&gt;&lt;br&gt;Nicolas (kwizart)
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26541854&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/memset-usage-in-d_sdcBMP.cpp-tp26541854p26541854.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26486445</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-23T13:41:44Z</published>
	<updated>2009-11-23T13:41:44Z</updated>
	<author>
		<name>Matthias Baas-3</name>
	</author>
	<content type="html">Hi Jonathan,
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I was hoping to do something more general initially... a layered approach:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Piqsl XML-based socket communication
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Data layer of interfaces containing 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; bucket data, listeners that are 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; notified when buckets become 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; available, etc.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Display layer; components in various
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; toolkits (Swing, JavaFX, SWT) for
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; displaying the data layer.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; With an appropriate &amp;quot;model&amp;quot; (in the MVC arrangement) that includes
&lt;br&gt;&amp;gt; listeners, an adaptor-style hookup to any of the GUI toolkits should
&lt;br&gt;&amp;gt; be easy.
&lt;/div&gt;&lt;br&gt;Sounds good. I suppose once this is all done, integrating it into
&lt;br&gt;Eclipse should be relatively straightforward. The other stuff like an SL
&lt;br&gt;editor or a node-based editor are independent from that anyway (and I
&lt;br&gt;suppose, at the beginning, it would also be fine to just use the C/C++
&lt;br&gt;editor from the CDT plugin to write shaders).
&lt;br&gt;&lt;br&gt;&amp;gt; I'm into the JVM mostly for the available languages... I love being
&lt;br&gt;&amp;gt; able to switch between Java, Groovy, JRuby, Python and Scala. &amp;nbsp;I know
&lt;br&gt;&lt;br&gt;I didn't know there are so many languages that can be run on the JVM! I
&lt;br&gt;heard about Jython, but never really knew how it actually works (another
&lt;br&gt;thing to look into eventually. There are just too many interesting
&lt;br&gt;things around... ;) )
&lt;br&gt;Does that mean I could write applets or Eclipse plugins in one of the
&lt;br&gt;above languages instead of Java? (it's interesting how all the languages
&lt;br&gt;start interleaving. Recently, I found &amp;quot;Pyjamas&amp;quot; which is a port of
&lt;br&gt;Google's Web Toolkit which means you can implement web applications in
&lt;br&gt;Python just as if it was a desktop GUI application. Pyjamas then
&lt;br&gt;translates the Python code into a set of JavaScript/HTML files and you
&lt;br&gt;can run the application inside a browser. If the regression test tool
&lt;br&gt;ever gets an overhaul, this might be an option to consider... :) )
&lt;br&gt;&lt;br&gt;&amp;gt; The java.net package is the place to start for socket listening:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://java.sun.com/javase/6/docs/api/java/net/package-summary.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/javase/6/docs/api/java/net/package-summary.html&lt;/a&gt;&lt;br&gt;&amp;gt; Basically, you open a socket and end up with a java.io.Reader, which
&lt;br&gt;&amp;gt; you can treat just like a FileReader or whatever else you're familiar with:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://java.sun.com/docs/books/tutorial/networking/sockets/readingWriting.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/docs/books/tutorial/networking/sockets/readingWriting.html&lt;/a&gt;&lt;br&gt;&amp;gt; That could then listen for output from the normal Aqsis socket writer
&lt;br&gt;&amp;gt; (see src/tools/piqsl). &amp;nbsp;I think that the low-level Dspy*-to-socket
&lt;br&gt;&amp;gt; stuff still belongs in C/C++ however.
&lt;br&gt;&lt;br&gt;Thanks for the pointers! I wasn't sure if Java would provide other
&lt;br&gt;options as well and I also wasn't aware (anymore?) that piqsl uses a
&lt;br&gt;socket-based approach using XML.
&lt;br&gt;I suppose if the piqsl display driver could be generalized a bit, so
&lt;br&gt;that it can also launch other tools and communicate with them then half
&lt;br&gt;of the problem is already solved.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;- Matthias -
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26486445&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26486445.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26442021</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-20T03:27:18Z</published>
	<updated>2009-11-20T03:27:18Z</updated>
	<author>
		<name>Paul Gregory-4</name>
	</author>
	<content type="html">&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/20 Chris Foster &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26442021&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;chris42f@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
There&amp;#39;s some docs from the early days of piqsl development here:&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;http://wiki.aqsis.org/dev/eqshibit&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://wiki.aqsis.org/dev/eqshibit&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
I think they&amp;#39;re still current; Paul will know better than me.  I&amp;#39;m tempted to&lt;br&gt;
make the XML format a bit more consistent here and there, but it does work so&lt;br&gt;
maybe it&amp;#39;s best to leave it alone ;-)&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;Yes, those docs are pretty much valid, although a little sparse. Couple of points to note:&lt;br&gt;&lt;br&gt;1. The Open sample shows a number of Parameters, this isn&amp;#39;t fixed, it passes any specified parameters from the Aqsis side of the interface using that syntax, so you&amp;#39;d need to iterate over each parameter, deal with it&amp;#39;s type, and decide if you understand/need it using the name.&lt;br&gt;
2. The CDATA in the data message is base64 encoded.&lt;br&gt;&lt;br&gt;&lt;br&gt;Paul&lt;br&gt;&lt;/div&gt;&lt;/div&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26442021&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26442021.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26440853</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-20T02:00:03Z</published>
	<updated>2009-11-20T02:00:03Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">On Fri, Nov 20, 2009 at 5:33 PM, Jonathan Merritt
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26440853&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;merritt@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; That could then listen for output from the normal Aqsis socket writer (see
&lt;br&gt;&amp;gt; src/tools/piqsl).  I think that the low-level Dspy*-to-socket stuff still
&lt;br&gt;&amp;gt; belongs in C/C++ however.
&lt;br&gt;&lt;br&gt;Sounds right to me.
&lt;br&gt;&lt;br&gt;&amp;gt; Two questions I do have:
&lt;br&gt;&amp;gt;  1. Is there a spec / reference for the XML format that piqsl uses for
&lt;br&gt;&amp;gt; socket communication?  I can construct most of it from
&lt;br&gt;&amp;gt; src/tools/piqsl/piqsl.cpp#processMessage, but documentation would be good.
&lt;br&gt;&lt;br&gt;There's some docs from the early days of piqsl development here:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://wiki.aqsis.org/dev/eqshibit&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.aqsis.org/dev/eqshibit&lt;/a&gt;&lt;br&gt;&lt;br&gt;I think they're still current; Paul will know better than me. &amp;nbsp;I'm tempted to
&lt;br&gt;make the XML format a bit more consistent here and there, but it does work so
&lt;br&gt;maybe it's best to leave it alone ;-)
&lt;br&gt;&lt;br&gt;&amp;gt;  2. How easy is it to separate the socket writing stuff in piqsl from the
&lt;br&gt;&amp;gt; FLTK GUI?
&lt;br&gt;&lt;br&gt;It should be very easy, in fact the code is already in separate directories in
&lt;br&gt;the new source layout. &amp;nbsp;From memory, the only thing you will need to change
&lt;br&gt;will be the program which the piqsl display automatically runs. &amp;nbsp;I'd be happy
&lt;br&gt;to accept a patch which adds a display parameter allowing arbitrary framebuffer
&lt;br&gt;programs to be invoked (if this can't be done already that is).
&lt;br&gt;&lt;br&gt;You may also need to change the cmake setup so that piqsl display is built
&lt;br&gt;independently of whether the necessary libraries exist to build piqsl itself.
&lt;br&gt;&lt;br&gt;~Chris
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26440853&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26440853.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26439428</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-19T23:33:30Z</published>
	<updated>2009-11-19T23:33:30Z</updated>
	<author>
		<name>Jonathan Merritt-2</name>
	</author>
	<content type="html">Hi Matthias,
&lt;br&gt;&lt;br&gt;On 20/11/2009, at 7:59 AM, Matthias Baas wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jonathan Merritt wrote:
&lt;br&gt;&amp;gt;&amp;gt; Thanks for the link. &amp;nbsp;I'll check out OIIO and iv sometime next week.
&lt;br&gt;&amp;gt;&amp;gt; I have also been contemplating writing a JVM-based display. &amp;nbsp;I think
&lt;br&gt;&amp;gt;&amp;gt; that the cross-platform benefits and the multiple GUI toolkit options
&lt;br&gt;&amp;gt;&amp;gt; (JavaFX, Swing, SWT, etc.) might make it worthwhile. &amp;nbsp;I also have far
&lt;br&gt;&amp;gt;&amp;gt; more experience with the various JVM languages than with C/C++ these
&lt;br&gt;&amp;gt;&amp;gt; days. :-)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Have you considered implementing this framebuffer as an Eclipse view? I
&lt;br&gt;&amp;gt; think together with an editor plugin that supports SL, this would be a
&lt;br&gt;&amp;gt; nice IDE for writing shaders (for example, the framebuffer view could
&lt;br&gt;&amp;gt; automatically update while you write the shader and there could be GUI
&lt;br&gt;&amp;gt; controls for tweaking the shader parameters, etc.)
&lt;/div&gt;&lt;br&gt;That sounds like a great idea! &amp;nbsp;Using Eclipse or Netbeans as the IDE backbone of a node-based editor would also make a nice project one day... :-)
&lt;br&gt;&lt;br&gt;I was hoping to do something more general initially... a layered approach:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Piqsl XML-based socket communication
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;nbsp; &amp;nbsp; Data layer of interfaces containing 
&lt;br&gt;&amp;nbsp; &amp;nbsp; bucket data, listeners that are 
&lt;br&gt;&amp;nbsp; &amp;nbsp; notified when buckets become 
&lt;br&gt;&amp;nbsp; &amp;nbsp; available, etc.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;nbsp; &amp;nbsp; Display layer; components in various
&lt;br&gt;&amp;nbsp; &amp;nbsp; toolkits (Swing, JavaFX, SWT) for
&lt;br&gt;&amp;nbsp; &amp;nbsp; displaying the data layer.
&lt;br&gt;&lt;br&gt;With an appropriate &amp;quot;model&amp;quot; (in the MVC arrangement) that includes listeners, an adaptor-style hookup to any of the GUI toolkits should be easy.
&lt;br&gt;&lt;br&gt;&amp;gt; (Being able to write Eclipse plugins is one of the reasons I've actually
&lt;br&gt;&amp;gt; started looking into Java (Android is another one), but so far, I have
&lt;br&gt;&amp;gt; no idea how a RenderMan display device would be implemented in Java...)
&lt;br&gt;&lt;br&gt;I'm into the JVM mostly for the available languages... I love being able to switch between Java, Groovy, JRuby, Python and Scala. &amp;nbsp;I know some people hate the current &amp;quot;language explosion&amp;quot;, but I think it's fantastic, especially in the way it's getting to the guts of various issues like static-vs-dynamic typing, functional-vs-imperative styles, etc., and the way all of those work in a real development environment.
&lt;br&gt;&lt;br&gt;The java.net package is the place to start for socket listening:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://java.sun.com/javase/6/docs/api/java/net/package-summary.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/javase/6/docs/api/java/net/package-summary.html&lt;/a&gt;&lt;br&gt;Basically, you open a socket and end up with a java.io.Reader, which you can treat just like a FileReader or whatever else you're familiar with:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://java.sun.com/docs/books/tutorial/networking/sockets/readingWriting.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/docs/books/tutorial/networking/sockets/readingWriting.html&lt;/a&gt;&lt;br&gt;That could then listen for output from the normal Aqsis socket writer (see src/tools/piqsl). &amp;nbsp;I think that the low-level Dspy*-to-socket stuff still belongs in C/C++ however.
&lt;br&gt;&lt;br&gt;Two questions I do have: 
&lt;br&gt;&amp;nbsp; 1. Is there a spec / reference for the XML format that piqsl uses for socket communication? &amp;nbsp;I can construct most of it from src/tools/piqsl/piqsl.cpp#processMessage, but documentation would be good.
&lt;br&gt;&amp;nbsp; 2. How easy is it to separate the socket writing stuff in piqsl from the FLTK GUI? &amp;nbsp;(Would it be just as easy for me to start from scratch with the Dspy* stuff?)
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Jonathan.
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26439428&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26439428.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26434022</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-19T12:59:48Z</published>
	<updated>2009-11-19T12:59:48Z</updated>
	<author>
		<name>Matthias Baas-3</name>
	</author>
	<content type="html">Jonathan Merritt wrote:
&lt;br&gt;&amp;gt; Thanks for the link. &amp;nbsp;I'll check out OIIO and iv sometime next week.
&lt;br&gt;&amp;gt; I have also been contemplating writing a JVM-based display. &amp;nbsp;I think
&lt;br&gt;&amp;gt; that the cross-platform benefits and the multiple GUI toolkit options
&lt;br&gt;&amp;gt; (JavaFX, Swing, SWT, etc.) might make it worthwhile. &amp;nbsp;I also have far
&lt;br&gt;&amp;gt; more experience with the various JVM languages than with C/C++ these
&lt;br&gt;&amp;gt; days. :-)
&lt;br&gt;&lt;br&gt;Have you considered implementing this framebuffer as an Eclipse view? I
&lt;br&gt;think together with an editor plugin that supports SL, this would be a
&lt;br&gt;nice IDE for writing shaders (for example, the framebuffer view could
&lt;br&gt;automatically update while you write the shader and there could be GUI
&lt;br&gt;controls for tweaking the shader parameters, etc.)
&lt;br&gt;&lt;br&gt;(Being able to write Eclipse plugins is one of the reasons I've actually
&lt;br&gt;started looking into Java (Android is another one), but so far, I have
&lt;br&gt;no idea how a RenderMan display device would be implemented in Java...)
&lt;br&gt;&lt;br&gt;- Matthias -
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26434022&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26434022.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26426800</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-19T06:00:06Z</published>
	<updated>2009-11-19T06:00:06Z</updated>
	<author>
		<name>Tobias Sauerwein-2</name>
	</author>
	<content type="html">I haven't upgraded to Leopard yet but will do that this weekend,
&lt;br&gt;probably tomorrow.
&lt;br&gt;After that I'll give it a go and let you know how it went.
&lt;br&gt;&lt;br&gt;About using a qt-based viewer: while qt looks nice the framework is
&lt;br&gt;quite heavy, so I'd be cautious, but then you only mentioned it as a
&lt;br&gt;possible alternative. I wonder if switching to fltk2 would be
&lt;br&gt;difficult and much work, presumed it compiles as 64bit. But also if it
&lt;br&gt;is already stable enough and would offer any benefit over the fltk
&lt;br&gt;version we're currently using.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&amp;nbsp;Tobias
&lt;br&gt;&lt;br&gt;On Thu, Nov 19, 2009 at 12:45 PM, Jonathan Merritt
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26426800&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;merritt@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Chris,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On 19/11/2009, at 10:18 PM, Chris Foster wrote:
&lt;br&gt;&amp;gt;&amp;gt; On Thu, Nov 19, 2009 at 7:47 PM, Jonathan Merritt
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26426800&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;merritt@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Sorry I can't really help with this Jonathan, just a minor off topic note...
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;  c) obtaining an alternate framebuffer display driver; maybe writing my own (!)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; There's been some speculation that the image viewer (iv) from OIIO will be
&lt;br&gt;&amp;gt;&amp;gt; controllable by a socket interface sometime in the future and would be a
&lt;br&gt;&amp;gt;&amp;gt; possible alternative to piqsl (it uses qt).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; You're probably after something quick &amp; simple, but on the off chance that
&lt;br&gt;&amp;gt;&amp;gt; you're interested I think that extending iv in this way would be a highly
&lt;br&gt;&amp;gt;&amp;gt; worthwhile project.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for the link.  I'll check out OIIO and iv sometime next week.  I have also been contemplating writing a JVM-based display.  I think that the cross-platform benefits and the multiple GUI toolkit options (JavaFX, Swing, SWT, etc.) might make it worthwhile.  I also have far more experience with the various JVM languages than with C/C++ these days. :-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jonathan.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Aqsis-development mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26426800&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26426800&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26426800.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26424830</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-19T03:45:22Z</published>
	<updated>2009-11-19T03:45:22Z</updated>
	<author>
		<name>Jonathan Merritt-2</name>
	</author>
	<content type="html">Hi Chris,
&lt;br&gt;&lt;br&gt;On 19/11/2009, at 10:18 PM, Chris Foster wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Thu, Nov 19, 2009 at 7:47 PM, Jonathan Merritt
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26424830&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;merritt@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sorry I can't really help with this Jonathan, just a minor off topic note...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;c) obtaining an alternate framebuffer display driver; maybe writing my own (!)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; There's been some speculation that the image viewer (iv) from OIIO will be
&lt;br&gt;&amp;gt; controllable by a socket interface sometime in the future and would be a
&lt;br&gt;&amp;gt; possible alternative to piqsl (it uses qt).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; You're probably after something quick &amp; simple, but on the off chance that
&lt;br&gt;&amp;gt; you're interested I think that extending iv in this way would be a highly
&lt;br&gt;&amp;gt; worthwhile project.
&lt;/div&gt;&lt;br&gt;Thanks for the link. &amp;nbsp;I'll check out OIIO and iv sometime next week. &amp;nbsp;I have also been contemplating writing a JVM-based display. &amp;nbsp;I think that the cross-platform benefits and the multiple GUI toolkit options (JavaFX, Swing, SWT, etc.) might make it worthwhile. &amp;nbsp;I also have far more experience with the various JVM languages than with C/C++ these days. :-)
&lt;br&gt;&lt;br&gt;Jonathan.
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26424830&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26424830.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26424548</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-19T03:18:17Z</published>
	<updated>2009-11-19T03:18:17Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">On Thu, Nov 19, 2009 at 7:47 PM, Jonathan Merritt
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26424548&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;merritt@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;br&gt;Sorry I can't really help with this Jonathan, just a minor off topic note...
&lt;br&gt;&lt;br&gt;&amp;gt;  c) obtaining an alternate framebuffer display driver; maybe writing my own (!)
&lt;br&gt;&lt;br&gt;There's been some speculation that the image viewer (iv) from OIIO will be
&lt;br&gt;controllable by a socket interface sometime in the future and would be a
&lt;br&gt;possible alternative to piqsl (it uses qt).
&lt;br&gt;&lt;br&gt;You're probably after something quick &amp; simple, but on the off chance that
&lt;br&gt;you're interested I think that extending iv in this way would be a highly
&lt;br&gt;worthwhile project.
&lt;br&gt;&lt;br&gt;~Chris
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26424548&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26424548.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26423440</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-19T01:47:10Z</published>
	<updated>2009-11-19T01:47:10Z</updated>
	<author>
		<name>Jonathan Merritt-2</name>
	</author>
	<content type="html">Hi Tobias (+ List :-),
&lt;br&gt;&lt;br&gt;Have you had any success with a Snow Leopard compile?
&lt;br&gt;&lt;br&gt;Just an update on my progress... I've been able to compile Aqsis without FLTK (actually as a 64-bit application), and it works fine without the framebuffer display driver. &amp;nbsp;However, I *haven't* yet gone through the process of either:
&lt;br&gt;&amp;nbsp; a) compiling FLTK with a 64-bit Quartz back-end, or
&lt;br&gt;&amp;nbsp; b) compiling all Aqsis libs as 32-bit so they cooperate with FLTK, or
&lt;br&gt;&amp;nbsp; c) obtaining an alternate framebuffer display driver; maybe writing my own (!)
&lt;br&gt;Option a) would be the best for me, but my naive efforts at compiling FLTK (version 1.3.x-r6916) as 64-bit have failed. &amp;nbsp;I'm not even 100% sure it's possible.
&lt;br&gt;&lt;br&gt;I may be able to spend some more time tinkering with this next week...
&lt;br&gt;&lt;br&gt;Jonathan.
&lt;br&gt;&lt;br&gt;On 06/11/2009, at 6:00 PM, Tobias Sauerwein wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Jonathan,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; even if I'm not building under Snow Leopard yet, and despite the fact
&lt;br&gt;&amp;gt; that I have been very pro MacPorts in the past I switched to &amp;quot;build
&lt;br&gt;&amp;gt; everything by hand&amp;quot; because its easier to get a propper universal
&lt;br&gt;&amp;gt; binary than forcing MacPorts to do the right thing there.
&lt;br&gt;&amp;gt; But I know that Leon uses mainly MacPorts for our official build, so
&lt;br&gt;&amp;gt; he certainly has some tips for you.
&lt;br&gt;&amp;gt; Writing that up on the wiki would be great for other people who are
&lt;br&gt;&amp;gt; having the same issues. Saying that, I'll have to upgrade to SL
&lt;br&gt;&amp;gt; anyway, maybe today, so I might give it a chance this weekend.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Cheers,
&lt;br&gt;&amp;gt; Tobias
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Fri, Nov 6, 2009 at 2:55 AM, Jonathan Merritt &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26423440&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;merritt@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi Everyone,
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Just wondering: is anyone currently compiling Aqsis under Snow
&lt;br&gt;&amp;gt;&amp;gt; Leopard? &amp;nbsp;If so, are there any wiki instructions that I could follow?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I've just started the process, using MacPorts (instead of hand-
&lt;br&gt;&amp;gt;&amp;gt; compiling everything as I have done in the past). &amp;nbsp;However, it seems
&lt;br&gt;&amp;gt;&amp;gt; there is a problem with FLTK. &amp;nbsp;AFAICT, MacPorts is compiling
&lt;br&gt;&amp;gt;&amp;gt; everything as 64-bit by default (which is also the Snow Leopard
&lt;br&gt;&amp;gt;&amp;gt; default), but FLTK can only be compiled in 32-bit mode because it
&lt;br&gt;&amp;gt;&amp;gt; still uses Carbon as the OS X interface layer. &amp;nbsp;As a result, I get
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;file is not of the required architecture&amp;quot; errors with FLTK if I use
&lt;br&gt;&amp;gt;&amp;gt; the default CMake setting (x86_64), or with Boost and other libraries
&lt;br&gt;&amp;gt;&amp;gt; if I try to force i386. &amp;nbsp;Does someone already have a compilation
&lt;br&gt;&amp;gt;&amp;gt; recipe that works? &amp;nbsp;Or some appropriate kung-fu to make MacPorts
&lt;br&gt;&amp;gt;&amp;gt; behave? :-)
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; It seems as though I need to make all of the libraries 32-bit. &amp;nbsp;Is
&lt;br&gt;&amp;gt;&amp;gt; there some way to make MacPorts generate both 32-bit and 64-bit
&lt;br&gt;&amp;gt;&amp;gt; versions of libraries? &amp;nbsp;And if so, how does that work out at run-time?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Jonathan Merritt.
&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26423440&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26423440.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26369891</id>
	<title>Re: aqsl on OSX 10.4</title>
	<published>2009-11-16T02:46:52Z</published>
	<updated>2009-11-16T02:46:52Z</updated>
	<author>
		<name>ALoopingIcon</name>
	</author>
	<content type="html">I have exactly the same problem, but with OSX 10.5.8 (plain leopard)
&lt;br&gt;renderer is ok, but compiling a shader causes
&lt;br&gt;&lt;br&gt;dyld: Symbol not found: __ZNKSt9bad_alloc4whatEv
&lt;br&gt;&amp;nbsp; Referenced from: /Applications/Aqsis.app/Contents/Resources/bin/../../Frameworks/libboost_wave.dylib
&lt;br&gt;&amp;nbsp; Expected in: /usr/lib/libstdc++.6.dylib
&lt;br&gt;&lt;br&gt;thanks in advance....
&lt;br&gt;&lt;br&gt;p.
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Matthias Baas-3 wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hi,
&lt;br&gt;&lt;br&gt;when I tested Aqsis 1.6 on OSX 10.4 so far, I was only looking at the
&lt;br&gt;renderer itself which worked without any problem at all.
&lt;br&gt;But there is a slight problem with aqsl:
&lt;br&gt;&lt;br&gt;$ aqsl testShader.sl
&lt;br&gt;dyld: Symbol not found: __ZNKSt9bad_alloc4whatEv
&lt;br&gt;&amp;nbsp; Referenced from:
&lt;br&gt;/Applications/Graphics/Aqsis.app/Contents/Resources/bin/../../Frameworks/libboost_wave.dylib
&lt;br&gt;&amp;nbsp; Expected in: /usr/lib/libstdc++.6.dylib
&lt;br&gt;&lt;br&gt;Trace/BPT trap
&lt;br&gt;&lt;br&gt;The missing symbol is this:
&lt;br&gt;&lt;br&gt;$ c++filt
&lt;br&gt;__ZNKSt9bad_alloc4whatEv
&lt;br&gt;std::bad_alloc::what() const
&lt;br&gt;&lt;br&gt;Looking at the libraries:
&lt;br&gt;&lt;br&gt;$ otool -L
&lt;br&gt;/Applications/Graphics/Aqsis.app/Contents/Frameworks/libboost_wave.dylib
&lt;br&gt;/Applications/Graphics/Aqsis.app/Contents/Frameworks/libboost_wave.dylib:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @executable_path/../../Frameworks/libboost_wave.dylib
&lt;br&gt;(compatibility version 0.0.0, current version 0.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @executable_path/../../Frameworks/libboost_filesystem.dylib
&lt;br&gt;(compatibility version 0.0.0, current version 0.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @executable_path/../../Frameworks/libboost_date_time.dylib
&lt;br&gt;(compatibility version 0.0.0, current version 0.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @executable_path/../../Frameworks/libboost_thread.dylib
&lt;br&gt;(compatibility version 0.0.0, current version 0.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
&lt;br&gt;version 7.9.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
&lt;br&gt;version 103.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
&lt;br&gt;version 124.1.1)
&lt;br&gt;&lt;br&gt;$ otool -L /usr/lib/libstdc++.6.dylib
&lt;br&gt;/usr/lib/libstdc++.6.dylib:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
&lt;br&gt;version 7.4.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
&lt;br&gt;version 88.3.7)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
&lt;br&gt;version 1.0.0)
&lt;br&gt;&lt;br&gt;&lt;br&gt;So does that mean aqsl was compiled on a machine that had libstdc++
&lt;br&gt;v7.9.0 whereas I have v7.4.0? But don't they both claim to be compatible
&lt;br&gt;with v7.0.0 so that this unresolved symbol shouldn't have happened? (or
&lt;br&gt;was bad_alloc::what() added after 7.4? But then shouldn't it be recorded
&lt;br&gt;in libboost_wave somewhere that it needs a higher version of libstdc++?)
&lt;br&gt;&lt;br&gt;- Matthias -
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;Aqsis-development@lists.sourceforge.net
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aqsl-on-OSX-10.4-tp25948604p26369891.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26227688</id>
	<title>Re: Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-05T23:00:58Z</published>
	<updated>2009-11-05T23:00:58Z</updated>
	<author>
		<name>Tobias Sauerwein-2</name>
	</author>
	<content type="html">Hi Jonathan,
&lt;br&gt;&lt;br&gt;even if I'm not building under Snow Leopard yet, and despite the fact
&lt;br&gt;that I have been very pro MacPorts in the past I switched to &amp;quot;build
&lt;br&gt;everything by hand&amp;quot; because its easier to get a propper universal
&lt;br&gt;binary than forcing MacPorts to do the right thing there.
&lt;br&gt;But I know that Leon uses mainly MacPorts for our official build, so
&lt;br&gt;he certainly has some tips for you.
&lt;br&gt;Writing that up on the wiki would be great for other people who are
&lt;br&gt;having the same issues. Saying that, I'll have to upgrade to SL
&lt;br&gt;anyway, maybe today, so I might give it a chance this weekend.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&amp;nbsp;Tobias
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Fri, Nov 6, 2009 at 2:55 AM, Jonathan Merritt &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26227688&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;merritt@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Everyone,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Just wondering: is anyone currently compiling Aqsis under Snow
&lt;br&gt;&amp;gt; Leopard?  If so, are there any wiki instructions that I could follow?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I've just started the process, using MacPorts (instead of hand-
&lt;br&gt;&amp;gt; compiling everything as I have done in the past).  However, it seems
&lt;br&gt;&amp;gt; there is a problem with FLTK.  AFAICT, MacPorts is compiling
&lt;br&gt;&amp;gt; everything as 64-bit by default (which is also the Snow Leopard
&lt;br&gt;&amp;gt; default), but FLTK can only be compiled in 32-bit mode because it
&lt;br&gt;&amp;gt; still uses Carbon as the OS X interface layer.  As a result, I get
&lt;br&gt;&amp;gt; &amp;quot;file is not of the required architecture&amp;quot; errors with FLTK if I use
&lt;br&gt;&amp;gt; the default CMake setting (x86_64), or with Boost and other libraries
&lt;br&gt;&amp;gt; if I try to force i386.  Does someone already have a compilation
&lt;br&gt;&amp;gt; recipe that works?  Or some appropriate kung-fu to make MacPorts
&lt;br&gt;&amp;gt; behave? :-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It seems as though I need to make all of the libraries 32-bit.  Is
&lt;br&gt;&amp;gt; there some way to make MacPorts generate both 32-bit and 64-bit
&lt;br&gt;&amp;gt; versions of libraries?  And if so, how does that work out at run-time?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jonathan Merritt.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Aqsis-development mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26227688&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26227688&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26227688.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26225851</id>
	<title>Compiling Aqsis on Snow Leopard (OS X 10.6.x)</title>
	<published>2009-11-05T17:55:37Z</published>
	<updated>2009-11-05T17:55:37Z</updated>
	<author>
		<name>Jonathan Merritt-2</name>
	</author>
	<content type="html">Hi Everyone,
&lt;br&gt;&lt;br&gt;Just wondering: is anyone currently compiling Aqsis under Snow &amp;nbsp;
&lt;br&gt;Leopard? &amp;nbsp;If so, are there any wiki instructions that I could follow?
&lt;br&gt;&lt;br&gt;I've just started the process, using MacPorts (instead of hand- 
&lt;br&gt;compiling everything as I have done in the past). &amp;nbsp;However, it seems &amp;nbsp;
&lt;br&gt;there is a problem with FLTK. &amp;nbsp;AFAICT, MacPorts is compiling &amp;nbsp;
&lt;br&gt;everything as 64-bit by default (which is also the Snow Leopard &amp;nbsp;
&lt;br&gt;default), but FLTK can only be compiled in 32-bit mode because it &amp;nbsp;
&lt;br&gt;still uses Carbon as the OS X interface layer. &amp;nbsp;As a result, I get &amp;nbsp;
&lt;br&gt;&amp;quot;file is not of the required architecture&amp;quot; errors with FLTK if I use &amp;nbsp;
&lt;br&gt;the default CMake setting (x86_64), or with Boost and other libraries &amp;nbsp;
&lt;br&gt;if I try to force i386. &amp;nbsp;Does someone already have a compilation &amp;nbsp;
&lt;br&gt;recipe that works? &amp;nbsp;Or some appropriate kung-fu to make MacPorts &amp;nbsp;
&lt;br&gt;behave? :-)
&lt;br&gt;&lt;br&gt;It seems as though I need to make all of the libraries 32-bit. &amp;nbsp;Is &amp;nbsp;
&lt;br&gt;there some way to make MacPorts generate both 32-bit and 64-bit &amp;nbsp;
&lt;br&gt;versions of libraries? &amp;nbsp;And if so, how does that work out at run-time?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Jonathan Merritt.
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26225851&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Compiling-Aqsis-on-Snow-Leopard-%28OS-X-10.6.x%29-tp26225851p26225851.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25948604</id>
	<title>aqsl on OSX 10.4</title>
	<published>2009-10-18T10:22:49Z</published>
	<updated>2009-10-18T10:22:49Z</updated>
	<author>
		<name>Matthias Baas-3</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;when I tested Aqsis 1.6 on OSX 10.4 so far, I was only looking at the
&lt;br&gt;renderer itself which worked without any problem at all.
&lt;br&gt;But there is a slight problem with aqsl:
&lt;br&gt;&lt;br&gt;$ aqsl testShader.sl
&lt;br&gt;dyld: Symbol not found: __ZNKSt9bad_alloc4whatEv
&lt;br&gt;&amp;nbsp; Referenced from:
&lt;br&gt;/Applications/Graphics/Aqsis.app/Contents/Resources/bin/../../Frameworks/libboost_wave.dylib
&lt;br&gt;&amp;nbsp; Expected in: /usr/lib/libstdc++.6.dylib
&lt;br&gt;&lt;br&gt;Trace/BPT trap
&lt;br&gt;&lt;br&gt;The missing symbol is this:
&lt;br&gt;&lt;br&gt;$ c++filt
&lt;br&gt;__ZNKSt9bad_alloc4whatEv
&lt;br&gt;std::bad_alloc::what() const
&lt;br&gt;&lt;br&gt;Looking at the libraries:
&lt;br&gt;&lt;br&gt;$ otool -L
&lt;br&gt;/Applications/Graphics/Aqsis.app/Contents/Frameworks/libboost_wave.dylib
&lt;br&gt;/Applications/Graphics/Aqsis.app/Contents/Frameworks/libboost_wave.dylib:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @executable_path/../../Frameworks/libboost_wave.dylib
&lt;br&gt;(compatibility version 0.0.0, current version 0.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @executable_path/../../Frameworks/libboost_filesystem.dylib
&lt;br&gt;(compatibility version 0.0.0, current version 0.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @executable_path/../../Frameworks/libboost_date_time.dylib
&lt;br&gt;(compatibility version 0.0.0, current version 0.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @executable_path/../../Frameworks/libboost_thread.dylib
&lt;br&gt;(compatibility version 0.0.0, current version 0.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
&lt;br&gt;version 7.9.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
&lt;br&gt;version 103.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
&lt;br&gt;version 124.1.1)
&lt;br&gt;&lt;br&gt;$ otool -L /usr/lib/libstdc++.6.dylib
&lt;br&gt;/usr/lib/libstdc++.6.dylib:
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current
&lt;br&gt;version 7.4.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
&lt;br&gt;version 88.3.7)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
&lt;br&gt;version 1.0.0)
&lt;br&gt;&lt;br&gt;&lt;br&gt;So does that mean aqsl was compiled on a machine that had libstdc++
&lt;br&gt;v7.9.0 whereas I have v7.4.0? But don't they both claim to be compatible
&lt;br&gt;with v7.0.0 so that this unresolved symbol shouldn't have happened? (or
&lt;br&gt;was bad_alloc::what() added after 7.4? But then shouldn't it be recorded
&lt;br&gt;in libboost_wave somewhere that it needs a higher version of libstdc++?)
&lt;br&gt;&lt;br&gt;- Matthias -
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25948604&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aqsl-on-OSX-10.4-tp25948604p25948604.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25764402</id>
	<title>Re: [Aqsis-commits] [SCM] Aqsis Renderer branch, master, updated. 	Release_1.6.0_Phase2-69-g6b970b0</title>
	<published>2009-10-06T01:02:01Z</published>
	<updated>2009-10-06T01:02:01Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">On Tue, Oct 6, 2009 at 2:43 AM, renderguy
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25764402&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ltatkinson@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; - Log -----------------------------------------------------------------
&lt;br&gt;&amp;gt; commit 6b970b0e3d82aebbfd0badf8a95f4627251e61db
&lt;br&gt;&amp;gt; Author: Leon Atkinson &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25764402&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;latkinson@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Date:   Mon Oct 5 16:42:41 2009 +0000
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;    Missed some file from previous 'Neqsus' commit
&lt;br&gt;&lt;br&gt;This commit has lots of files with windows file endings. &amp;nbsp;Maybe this is worth
&lt;br&gt;fixing before the official release of the 1.6 source?
&lt;br&gt;&lt;br&gt;Just a heads-up, given that I noticed 1.6 isn't quite out yet ;-)
&lt;br&gt;&lt;br&gt;~Chris
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25764402&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--Aqsis-commits---SCM--Aqsis-Renderer-branch%2C-master%2C-updated.-%09Release_1.6.0_Phase2-69-g6b970b0-tp25764402p25764402.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25751785</id>
	<title>Re: patch for bug id 2813534 &quot;Escaped strings in RSL not working&quot;</title>
	<published>2009-10-05T07:24:58Z</published>
	<updated>2009-10-05T07:24:58Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">On Tue, Oct 6, 2009 at 12:05 AM, Ricardo Mayor &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25751785&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ricardo.mayor@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; My first option was to return the interpreted character but this assumes
&lt;br&gt;&amp;gt; that you always have a char to return. This is not the case when the user
&lt;br&gt;&amp;gt; writes incorrect numeric escapes sequences. For example:
&lt;br&gt;&amp;gt; &amp;quot;\xp&amp;quot; //Hex incorrect number
&lt;br&gt;&amp;gt; &amp;quot;\0AF&amp;quot;//Octal incorrect number
&lt;br&gt;&lt;br&gt;Fair point. &amp;nbsp;(Though I think the octal example is valid... it's \0 followed by
&lt;br&gt;the letters AF which are unrelated.)
&lt;br&gt;&lt;br&gt;[...]
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; I wonder whether this is the right thing to do?  Maybe the user should
&lt;br&gt;&amp;gt;&amp;gt; be allowed to insert NULL into the string if they want?  Mind you, it's
&lt;br&gt;&amp;gt;&amp;gt; probably going to cause problems if we use char* instead of std::string
&lt;br&gt;&amp;gt;&amp;gt; anywhere since then the string will be prematurely terminated...
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; In this case the null is not allowed. &amp;nbsp;If the user create a strint &amp;quot;\000&amp;quot;,
&lt;br&gt;&amp;gt; this will not be accepted.
&lt;br&gt;&lt;br&gt;Why can't it be accepted though? &amp;nbsp;It is legal in C, and we're trying to follow
&lt;br&gt;the C rules because the RISpec says so. &amp;nbsp;In the following C++ code, it's
&lt;br&gt;perfectly legal to use \0 in a string, and it gets interpreted as 0:
&lt;br&gt;&lt;br&gt;----------
&lt;br&gt;#include &amp;lt;iostream&amp;gt;
&lt;br&gt;#include &amp;lt;string&amp;gt;
&lt;br&gt;&lt;br&gt;int main()
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; const char s[] = &amp;quot;asdf\0asdf&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; std::string str(s, s+sizeof(s));
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; str &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; std::cout &amp;lt;&amp;lt; &amp;quot;str[4] = &amp;quot; &amp;lt;&amp;lt; int(str[4]) &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; return 0;
&lt;br&gt;}
&lt;br&gt;----------
&lt;br&gt;&lt;br&gt;&lt;br&gt;~Chris.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25751785&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/patch-for-bug-id-2813534-%22Escaped-strings-in-RSL-not-working%22-tp25634434p25751785.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25751481</id>
	<title>Re: patch for bug id 2813534 &quot;Escaped strings in RSL not working&quot;</title>
	<published>2009-10-05T07:05:20Z</published>
	<updated>2009-10-05T07:05:20Z</updated>
	<author>
		<name>Ricardo Mayor</name>
	</author>
	<content type="html">I agree with all the changes you suggested except with two.&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Mon, Oct 5, 2009 at 1:49 PM, Chris Foster &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25751481&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;chris42f@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;br&gt;
This function signature would be a lot cleaner if you avoid passing in c&lt;br&gt;
(just unget() it) and if you return the interpreted character rather&lt;br&gt;
than appending it to the string s.&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;My first option was to return the interpreted character but this assumes that you always have a char to return. This is not the case when the user writes incorrect numeric escapes sequences. For example:&lt;br&gt;
&amp;quot;\xp&amp;quot; //Hex incorrect number&lt;br&gt;&amp;quot;\0AF&amp;quot;//Octal incorrect number&lt;br&gt;&lt;br&gt;In both cases the numeric sequence is invalid and the actual code does not add any char to the string. If the function returns a char, it doesn&amp;#39;t have a char to return. That&amp;#39;s the reason why I pass the CqString, to encapsulate this functionality inside the function. In the current examples, the final string are:&lt;br&gt;
&amp;quot;p&amp;quot;&lt;br&gt;&amp;quot;AF&amp;quot;&lt;br&gt; &lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;
&amp;gt; +{&lt;br&gt;
&amp;gt; +     CqString a(&amp;quot;&amp;quot;);&lt;br&gt;
&amp;gt; +     bool isHexadecimal = (c ==&amp;#39;x&amp;#39;);&lt;br&gt;
&amp;gt; +     unsigned int maxLength;&lt;br&gt;
&amp;gt; +&lt;br&gt;
&amp;gt; +     if (isHexadecimal)&lt;br&gt;
&amp;gt; +     {&lt;br&gt;
&amp;gt; +             maxLength = 2;&lt;br&gt;
&amp;gt; +     }&lt;br&gt;
&amp;gt; +     else&lt;br&gt;
&amp;gt; +     {&lt;br&gt;
&amp;gt; +             a += c;&lt;br&gt;
&amp;gt; +             maxLength = 3;&lt;br&gt;
&amp;gt; +     }&lt;br&gt;
&amp;gt; +     c = pFile-&amp;gt;get();&lt;br&gt;
&amp;gt; +&lt;br&gt;
&amp;gt; +     while ((( c &amp;gt;= &amp;#39;0&amp;#39; &amp;amp;&amp;amp; c &amp;lt;= &amp;#39;9&amp;#39;) || ((( c &amp;gt;= &amp;#39;a&amp;#39; &amp;amp;&amp;amp; c &amp;lt;= &amp;#39;f&amp;#39;) || ( c &amp;gt;= &amp;#39;A&amp;#39; &amp;amp;&amp;amp; c &amp;lt;= &amp;#39;F&amp;#39;)) &amp;amp;&amp;amp; isHexadecimal)) &amp;amp;&amp;amp; (a.length() &amp;lt;maxLength))&lt;br&gt;

&amp;gt; +     {&lt;br&gt;
&amp;gt; +             a += c;&lt;br&gt;
&amp;gt; +             c = pFile-&amp;gt;get();&lt;br&gt;
&amp;gt; +     }&lt;br&gt;
&amp;gt; +&lt;br&gt;
&amp;gt; +     int numericalBase;&lt;br&gt;
&amp;gt; +&lt;br&gt;
&amp;gt; +     if(isHexadecimal)&lt;br&gt;
&amp;gt; +             numericalBase = 16;&lt;br&gt;
&amp;gt; +     else&lt;br&gt;
&amp;gt; +             numericalBase = 8;&lt;br&gt;
&amp;gt; +     char result = strtoul(a.c_str(), NULL, numericalBase);&lt;br&gt;
&amp;gt; +&lt;br&gt;
&amp;gt; +     if (result != 0) s += result;&lt;br&gt;
 &lt;br&gt;&lt;/blockquote&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
I wonder whether this is the right thing to do?  Maybe the user should&lt;br&gt;
be allowed to insert NULL into the string if they want?  Mind you, it&amp;#39;s&lt;br&gt;
probably going to cause problems if we use char* instead of std::string&lt;br&gt;
anywhere since then the string will be prematurely terminated...&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;In this case the null is not allowed. If the user create a strint &amp;quot;\000&amp;quot;, this will not be accepted.  &lt;br&gt;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

&amp;gt; +     pFile-&amp;gt;unget();&lt;br&gt;
&amp;gt; +}&lt;br&gt;
&amp;gt;&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25751481&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/patch-for-bug-id-2813534-%22Escaped-strings-in-RSL-not-working%22-tp25634434p25751481.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25750261</id>
	<title>Re: patch for bug id 2813534 &quot;Escaped strings	in RSL not working&quot;</title>
	<published>2009-10-05T05:49:52Z</published>
	<updated>2009-10-05T05:49:52Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">Hi Ricardo,
&lt;br&gt;&lt;br&gt;On Sun, Oct 04, 2009 at 08:43:11PM +0100, Ricardo Mayor wrote:
&lt;br&gt;&amp;gt; Please find attached another version of the patch.
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;There's still a few issues, but the patch certainly looks better now.
&lt;br&gt;Since we're just about to release aqsis-1.6 I'm going to commit the
&lt;br&gt;patch anyway, and clean up the few bits I think are most important
&lt;br&gt;myself.
&lt;br&gt;&lt;br&gt;I'm quite picky with code quality, so bear with me ;-) &amp;nbsp;Here's a review
&lt;br&gt;of the patch. &amp;nbsp;The main things which I think are fairly important and
&lt;br&gt;I'll fix myself (only because of the tight shedule before the release)
&lt;br&gt;are:
&lt;br&gt;&lt;br&gt;1) Some inaccurate function docs in shadervm.h
&lt;br&gt;2) Declare GetString() and GetNumericEscapeChar() as static since they
&lt;br&gt;&amp;nbsp; &amp;nbsp;don't access any CqShaderVM member data
&lt;br&gt;&lt;br&gt;When checking the patch I also noticed that the function SO_sprintf()
&lt;br&gt;(for printing strings from a shader program) actually translates escape
&lt;br&gt;characters itself. &amp;nbsp;It uses the function CqString::TranslateEscapes()
&lt;br&gt;which I didn't know about. &amp;nbsp;With the new code the translation has
&lt;br&gt;already happened when reading the shader program, so I'll fix that.
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; diff --git a/libs/shadervm/shadervm.cpp b/libs/shadervm/shadervm.cpp
&lt;br&gt;&amp;gt; index b498adf..5861646 100644
&lt;br&gt;&amp;gt; --- a/libs/shadervm/shadervm.cpp
&lt;br&gt;&amp;gt; +++ b/libs/shadervm/shadervm.cpp
&lt;br&gt;&amp;gt; @@ -1341,6 +1334,127 @@ void CqShaderVM::LoadProgram( std::istream* pFile )
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; +CqString CqShaderVM::GetString(std::istream* pFile)
&lt;br&gt;&amp;gt; +{
&lt;br&gt;&amp;gt; +	( *pFile ) &amp;gt;&amp;gt; std::ws;
&lt;br&gt;&amp;gt; +	char c;
&lt;br&gt;&amp;gt; +	CqString s( &amp;quot;&amp;quot; );
&lt;br&gt;&amp;gt; +	bool escapeChar = false;
&lt;br&gt;&amp;gt; +	
&lt;br&gt;&amp;gt; +	pFile-&amp;gt;get();
&lt;br&gt;&amp;gt; +	while ( (( c = pFile-&amp;gt;get() ) != '&amp;quot;') || escapeChar &amp;nbsp;)
&lt;br&gt;&amp;gt; +	{
&lt;br&gt;&amp;gt; +		if(escapeChar)
&lt;/div&gt;&lt;br&gt;The presence of the escapeChar variable seems to complicate things
&lt;br&gt;a bit unnecessarily. &amp;nbsp;It would be simpler if you allow yourself
&lt;br&gt;more than one place to call pFile-&amp;gt;get(). &amp;nbsp;In particular, you can have
&lt;br&gt;&lt;br&gt;if(c == '\\')
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; c = pFile-&amp;gt;get();
&lt;br&gt;&amp;nbsp; &amp;nbsp; switch(c)
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //...
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; s += c;
&lt;br&gt;&lt;br&gt;which avoids the escapeChar variable completely. &amp;nbsp;Other than that, this
&lt;br&gt;function looks about right - you seem to have all the right escape
&lt;br&gt;characters there.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; +		{
&lt;br&gt;&amp;gt; +			//Treatment for escape char
&lt;br&gt;&amp;gt; +			switch(c)
&lt;br&gt;&amp;gt; +			{
&lt;br&gt;&amp;gt; +				case 'a'://Bell (alert)
&lt;br&gt;&amp;gt; +					s += '\a';
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				case 'v'://Vertical tab
&lt;br&gt;&amp;gt; +					s += '\v';
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				case '\''://Single quotation mark
&lt;br&gt;&amp;gt; +					s += &amp;quot;'&amp;quot;;
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				case '?'://Literal question mark
&lt;br&gt;&amp;gt; +					s += '\?';
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				case 'n'://New line
&lt;br&gt;&amp;gt; +					s += '\n';
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				case 'r'://Carriage return
&lt;br&gt;&amp;gt; +					s += '\r';
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				case 't'://Horizontal tab
&lt;br&gt;&amp;gt; +					s += '\t';
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				case 'b'://Backspace
&lt;br&gt;&amp;gt; +					s += '\b';
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				case 'f'://Formfeed
&lt;br&gt;&amp;gt; +					s += '\f';
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				case '&amp;quot;'://Double quotation mark
&lt;br&gt;&amp;gt; +					s += '&amp;quot;';
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;	
&lt;br&gt;&amp;gt; +				case '\\'://Backslash
&lt;br&gt;&amp;gt; +					s += '\\';
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				case 'x'://Hexadecimal
&lt;br&gt;&amp;gt; +				case '0'://octal
&lt;br&gt;&amp;gt; +				case '1':
&lt;br&gt;&amp;gt; +				case '2':
&lt;br&gt;&amp;gt; +				case '3':
&lt;br&gt;&amp;gt; +				case '4':
&lt;br&gt;&amp;gt; +				case '5':
&lt;br&gt;&amp;gt; +				case '6':
&lt;br&gt;&amp;gt; +				case '7':
&lt;br&gt;&amp;gt; +				case '8':
&lt;br&gt;&amp;gt; +				case '9':
&lt;br&gt;&amp;gt; +					GetNumericEscapeChar(pFile, s, &amp;nbsp;c);
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +				default :
&lt;br&gt;&amp;gt; +					escapeChar = false;
&lt;br&gt;&amp;gt; +					break;
&lt;br&gt;&amp;gt; +			}
&lt;br&gt;&amp;gt; +		}
&lt;br&gt;&amp;gt; +		else
&lt;br&gt;&amp;gt; +			if (c == &amp;nbsp;'\\') 
&lt;br&gt;&amp;gt; +				escapeChar = true;
&lt;br&gt;&amp;gt; +			else
&lt;br&gt;&amp;gt; +				s += c;
&lt;br&gt;&amp;gt; +	}
&lt;br&gt;&amp;gt; +	 return s;
&lt;br&gt;&amp;gt; +}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; +void CqShaderVM::GetNumericEscapeChar(std::istream* pFile, CqString &amp;s, char c)
&lt;/div&gt;&lt;br&gt;This function signature would be a lot cleaner if you avoid passing in c
&lt;br&gt;(just unget() it) and if you return the interpreted character rather
&lt;br&gt;than appending it to the string s.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; +{
&lt;br&gt;&amp;gt; + 	CqString a(&amp;quot;&amp;quot;);
&lt;br&gt;&amp;gt; + 	bool isHexadecimal = (c =='x');
&lt;br&gt;&amp;gt; + 	unsigned int maxLength;
&lt;br&gt;&amp;gt; + 	
&lt;br&gt;&amp;gt; + 	if (isHexadecimal)
&lt;br&gt;&amp;gt; + 	{
&lt;br&gt;&amp;gt; + 		maxLength = 2; 
&lt;br&gt;&amp;gt; + 	}
&lt;br&gt;&amp;gt; + 	else
&lt;br&gt;&amp;gt; + 	{
&lt;br&gt;&amp;gt; + 		a += c;
&lt;br&gt;&amp;gt; + 		maxLength = 3;
&lt;br&gt;&amp;gt; + 	} 	
&lt;br&gt;&amp;gt; + 	c = pFile-&amp;gt;get();
&lt;br&gt;&amp;gt; +	
&lt;br&gt;&amp;gt; + 	while ((( c &amp;gt;= '0' &amp;&amp; c &amp;lt;= '9') || ((( c &amp;gt;= 'a' &amp;&amp; c &amp;lt;= 'f') || ( c &amp;gt;= 'A' &amp;&amp; c &amp;lt;= 'F')) &amp;&amp; isHexadecimal)) &amp;&amp; (a.length() &amp;lt;maxLength))
&lt;br&gt;&amp;gt; + 	{
&lt;br&gt;&amp;gt; + 		a += c;
&lt;br&gt;&amp;gt; + 		c = pFile-&amp;gt;get();
&lt;br&gt;&amp;gt; + 	}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + 	int numericalBase;
&lt;br&gt;&amp;gt; + 	
&lt;br&gt;&amp;gt; + 	if(isHexadecimal) 
&lt;br&gt;&amp;gt; + 		numericalBase = 16;
&lt;br&gt;&amp;gt; + 	else
&lt;br&gt;&amp;gt; + 		numericalBase = 8;
&lt;br&gt;&amp;gt; + 	char result = strtoul(a.c_str(), NULL, numericalBase);
&lt;br&gt;&amp;gt; + 	
&lt;br&gt;&amp;gt; + 	if (result != 0) s += result;
&lt;/div&gt;&lt;br&gt;I wonder whether this is the right thing to do? &amp;nbsp;Maybe the user should
&lt;br&gt;be allowed to insert NULL into the string if they want? &amp;nbsp;Mind you, it's
&lt;br&gt;probably going to cause problems if we use char* instead of std::string
&lt;br&gt;anywhere since then the string will be prematurely terminated...
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; + 	pFile-&amp;gt;unget(); 		
&lt;br&gt;&amp;gt; +}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;//---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;nbsp;/**	Ready the shader for execution.
&lt;br&gt;&amp;gt; diff --git a/libs/shadervm/shadervm.h b/libs/shadervm/shadervm.h
&lt;br&gt;&amp;gt; index 11eb227..9e55f90 100644
&lt;br&gt;&amp;gt; --- a/libs/shadervm/shadervm.h
&lt;br&gt;&amp;gt; +++ b/libs/shadervm/shadervm.h
&lt;br&gt;&amp;gt; @@ -246,6 +246,19 @@ class AQSIS_SHADERVM_SHARE CqShaderVM : public CqShaderStack, public IqShader, p
&lt;br&gt;&amp;gt; &amp;nbsp;		bool	m_outsideWorld;						///&amp;lt; Flag indicating this shader was declared outside the world.
&lt;br&gt;&amp;gt; &amp;nbsp;		IqRenderer*	m_pRenderContext;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +		/** Get the char defined in the Numeric Escape char
&lt;br&gt;&amp;gt; +		 * \param pFile shader stream
&lt;br&gt;&amp;gt; +		 * \return String 
&lt;br&gt;&amp;gt; +		 */
&lt;br&gt;&amp;gt; +		CqString GetString(std::istream* pFile);
&lt;/div&gt;&lt;br&gt;The documentation is confusing here.
&lt;br&gt;&lt;br&gt;Also, note that GetString doesn't modify or even reference the state of
&lt;br&gt;CqShaderVM. &amp;nbsp;Therefore, it should be a static method:
&lt;br&gt;&lt;br&gt;&amp;nbsp; static CqString GetString(std::istream* pFile);
&lt;br&gt;&lt;br&gt;(At the very least it should be const method:
&lt;br&gt;&amp;nbsp; CqString GetString(std::istream* pFile) const;
&lt;br&gt;)
&lt;br&gt;&lt;br&gt;&amp;gt; +		/** Get the char defined in the Numeric Escape char
&lt;br&gt;&amp;gt; +		 * \param pFile shader stream
&lt;br&gt;&amp;gt; +		 * \param s result string
&lt;br&gt;&amp;gt; +		 * \param c, current character
&lt;br&gt;&amp;gt; +		 * \return char equivalence for the numeric escape sequence 
&lt;br&gt;&amp;gt; +		 */
&lt;br&gt;&amp;gt; +		void GetNumericEscapeChar(std::istream* pFile, CqString &amp;s, char c) ;
&lt;br&gt;&lt;br&gt;Similar thing here. &amp;nbsp;The docs seem out of date, and this function should
&lt;br&gt;be static too.
&lt;br&gt;&lt;br&gt;That's it, thanks for the patch - it's committed now along with the
&lt;br&gt;minor changes by me in a separate commit.
&lt;br&gt;~Chris.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25750261&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/patch-for-bug-id-2813534-%22Escaped-strings-in-RSL-not-working%22-tp25634434p25750261.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25741399</id>
	<title>Re: patch for bug id 2813534 &quot;Escaped strings in RSL not working&quot;</title>
	<published>2009-10-04T12:43:11Z</published>
	<updated>2009-10-04T12:43:11Z</updated>
	<author>
		<name>Ricardo Mayor</name>
	</author>
	<content type="html">Please find attached another version of the patch. I hope this version fulfill all the discussed requirements&lt;br&gt;&lt;br&gt;Best regards&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Thu, Oct 1, 2009 at 12:36 PM, Chris Foster &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25741399&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;chris42f@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;div class=&quot;im&quot;&gt;On Thu, Oct 1, 2009 at 6:10 PM, Ricardo Mayor &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25741399&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ricardo.mayor@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;

&amp;gt; Hi Chris,&lt;br&gt;
&amp;gt; I&amp;#39;ll implement all your suggestion and corrections in a new patch. Most of&lt;br&gt;
&amp;gt; them are easy to add I think. Find some comments in the email&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;Cool, thanks.&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;gt;&amp;gt; Please use opening braces on their own line for consistency with the rest&lt;br&gt;
&amp;gt;&amp;gt; of&lt;br&gt;
&amp;gt;&amp;gt; the codebase.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I installed  Artistic style to check the code style but.. Where is the&lt;br&gt;
&amp;gt; style file?&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;I personally dislike automatic code formatting because it&amp;#39;s possible to do a&lt;br&gt;
better job by hand if you&amp;#39;re careful.  The most important thing to keep in&lt;br&gt;
mind is to follow the style of the code around that which you&amp;#39;re fixing to&lt;br&gt;
keep things consistent.&lt;br&gt;
&lt;br&gt;
Unfortunately there is more than one styles used in the aqsis codebase (eg,&lt;br&gt;
capitalization of class member functions is inconsistent).  The current&lt;br&gt;
&amp;quot;standard&amp;quot; such as it is can be found in&lt;br&gt;
&lt;br&gt;
doc/coding_standard/codestyle.*&lt;br&gt;
&lt;br&gt;
You will also find the astylerc file in doc/coding_standard, thought as I&lt;br&gt;
said, I prefer to do careful manual formatting.&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;gt;&amp;gt; When I was reading through this code, I got rather confused by the&lt;br&gt;
&amp;gt;&amp;gt; handling of&lt;br&gt;
&amp;gt;&amp;gt; capturedNumber, since it appears in two different places and there&amp;#39;s two&lt;br&gt;
&amp;gt;&amp;gt; different places where it&amp;#39;s converted to a char using strtoul().  I&lt;br&gt;
&amp;gt;&amp;gt; suggest&lt;br&gt;
&amp;gt;&amp;gt; just using a nested loop inside this part of the case statement to confine&lt;br&gt;
&amp;gt;&amp;gt; octal handling logic to a single place in the code.  When you encounter&lt;br&gt;
&amp;gt;&amp;gt; the&lt;br&gt;
&amp;gt;&amp;gt; end of the octal number you can use the function pFile-&amp;gt;unget() to put&lt;br&gt;
&amp;gt;&amp;gt; back&lt;br&gt;
&amp;gt;&amp;gt; the terminating character into the input stream.  (For an example of&lt;br&gt;
&amp;gt;&amp;gt; something&lt;br&gt;
&amp;gt;&amp;gt; very similar, see CqRibLexer::readString() in riblexer.cpp.)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I wrote the code in this way to avoid using file-&amp;gt;unget() when the length of&lt;br&gt;
&amp;gt; the number is less than 3. Anyway I´ll check it&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;Yes, you definitely need to use unget() to write the code how I&amp;#39;m suggesting,&lt;br&gt;
but I see no reason to avoid using it.  I think it will make this code clearer&lt;br&gt;
and shorter ;-)&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
~Chris.&lt;br&gt;
&lt;br&gt;
------------------------------------------------------------------------------&lt;br&gt;
Come build with us! The BlackBerry&amp;amp;reg; Developer Conference in SF, CA&lt;br&gt;
is the only developer event you need to attend this year. Jumpstart your&lt;br&gt;
developing skills, take BlackBerry mobile applications to market and stay&lt;br&gt;
ahead of the curve. Join us from November 9&amp;amp;#45;12, 2009. Register now&amp;amp;#33;&lt;br&gt;
&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Aqsis-development mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25741399&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;&lt;tt&gt;[escape_char_v2.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;diff --git a/libs/shadervm/shadervm.cpp b/libs/shadervm/shadervm.cpp
&lt;br&gt;index b498adf..5861646 100644
&lt;br&gt;--- a/libs/shadervm/shadervm.cpp
&lt;br&gt;+++ b/libs/shadervm/shadervm.cpp
&lt;br&gt;@@ -1276,14 +1276,7 @@ void CqShaderVM::LoadProgram( std::istream* pFile )
&lt;br&gt;&amp;nbsp;											break;
&lt;br&gt;&amp;nbsp;										case type_string:
&lt;br&gt;&amp;nbsp;											{
&lt;br&gt;-												( *pFile ) &amp;gt;&amp;gt; std::ws;
&lt;br&gt;-												char c;
&lt;br&gt;-												CqString s( &amp;quot;&amp;quot; );
&lt;br&gt;-												pFile-&amp;gt;get
&lt;br&gt;-												();
&lt;br&gt;-												while ( ( c = pFile-&amp;gt;get
&lt;br&gt;-															() ) != '&amp;quot;' )
&lt;br&gt;-													s += c;
&lt;br&gt;+												CqString s = GetString(pFile);
&lt;br&gt;&amp;nbsp;												AddString( s.c_str(), pProgramArea );
&lt;br&gt;&amp;nbsp;											}
&lt;br&gt;&amp;nbsp;											break;
&lt;br&gt;@@ -1341,6 +1334,127 @@ void CqShaderVM::LoadProgram( std::istream* pFile )
&lt;br&gt;&amp;nbsp;	}
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+CqString CqShaderVM::GetString(std::istream* pFile)
&lt;br&gt;+{
&lt;br&gt;+	( *pFile ) &amp;gt;&amp;gt; std::ws;
&lt;br&gt;+	char c;
&lt;br&gt;+	CqString s( &amp;quot;&amp;quot; );
&lt;br&gt;+	bool escapeChar = false;
&lt;br&gt;+	
&lt;br&gt;+	pFile-&amp;gt;get();
&lt;br&gt;+	while ( (( c = pFile-&amp;gt;get() ) != '&amp;quot;') || escapeChar &amp;nbsp;)
&lt;br&gt;+	{
&lt;br&gt;+		if(escapeChar)
&lt;br&gt;+		{
&lt;br&gt;+			//Treatment for escape char
&lt;br&gt;+			switch(c)
&lt;br&gt;+			{
&lt;br&gt;+				case 'a'://Bell (alert)
&lt;br&gt;+					s += '\a';
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				case 'v'://Vertical tab
&lt;br&gt;+					s += '\v';
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				case '\''://Single quotation mark
&lt;br&gt;+					s += &amp;quot;'&amp;quot;;
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				case '?'://Literal question mark
&lt;br&gt;+					s += '\?';
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				case 'n'://New line
&lt;br&gt;+					s += '\n';
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				case 'r'://Carriage return
&lt;br&gt;+					s += '\r';
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				case 't'://Horizontal tab
&lt;br&gt;+					s += '\t';
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				case 'b'://Backspace
&lt;br&gt;+					s += '\b';
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				case 'f'://Formfeed
&lt;br&gt;+					s += '\f';
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				case '&amp;quot;'://Double quotation mark
&lt;br&gt;+					s += '&amp;quot;';
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;	
&lt;br&gt;+				case '\\'://Backslash
&lt;br&gt;+					s += '\\';
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				case 'x'://Hexadecimal
&lt;br&gt;+				case '0'://octal
&lt;br&gt;+				case '1':
&lt;br&gt;+				case '2':
&lt;br&gt;+				case '3':
&lt;br&gt;+				case '4':
&lt;br&gt;+				case '5':
&lt;br&gt;+				case '6':
&lt;br&gt;+				case '7':
&lt;br&gt;+				case '8':
&lt;br&gt;+				case '9':
&lt;br&gt;+					GetNumericEscapeChar(pFile, s, &amp;nbsp;c);
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+				default :
&lt;br&gt;+					escapeChar = false;
&lt;br&gt;+					break;
&lt;br&gt;+			}
&lt;br&gt;+		}
&lt;br&gt;+		else
&lt;br&gt;+			if (c == &amp;nbsp;'\\') 
&lt;br&gt;+				escapeChar = true;
&lt;br&gt;+			else
&lt;br&gt;+				s += c;
&lt;br&gt;+	}
&lt;br&gt;+	 return s;
&lt;br&gt;+}
&lt;br&gt;+
&lt;br&gt;+void CqShaderVM::GetNumericEscapeChar(std::istream* pFile, CqString &amp;s, char c)
&lt;br&gt;+{
&lt;br&gt;+ 	CqString a(&amp;quot;&amp;quot;);
&lt;br&gt;+ 	bool isHexadecimal = (c =='x');
&lt;br&gt;+ 	unsigned int maxLength;
&lt;br&gt;+ 	
&lt;br&gt;+ 	if (isHexadecimal)
&lt;br&gt;+ 	{
&lt;br&gt;+ 		maxLength = 2; 
&lt;br&gt;+ 	}
&lt;br&gt;+ 	else
&lt;br&gt;+ 	{
&lt;br&gt;+ 		a += c;
&lt;br&gt;+ 		maxLength = 3;
&lt;br&gt;+ 	} 	
&lt;br&gt;+ 	c = pFile-&amp;gt;get();
&lt;br&gt;+	
&lt;br&gt;+ 	while ((( c &amp;gt;= '0' &amp;&amp; c &amp;lt;= '9') || ((( c &amp;gt;= 'a' &amp;&amp; c &amp;lt;= 'f') || ( c &amp;gt;= 'A' &amp;&amp; c &amp;lt;= 'F')) &amp;&amp; isHexadecimal)) &amp;&amp; (a.length() &amp;lt;maxLength))
&lt;br&gt;+ 	{
&lt;br&gt;+ 		a += c;
&lt;br&gt;+ 		c = pFile-&amp;gt;get();
&lt;br&gt;+ 	}
&lt;br&gt;+
&lt;br&gt;+ 	int numericalBase;
&lt;br&gt;+ 	
&lt;br&gt;+ 	if(isHexadecimal) 
&lt;br&gt;+ 		numericalBase = 16;
&lt;br&gt;+ 	else
&lt;br&gt;+ 		numericalBase = 8;
&lt;br&gt;+ 	char result = strtoul(a.c_str(), NULL, numericalBase);
&lt;br&gt;+ 	
&lt;br&gt;+ 	if (result != 0) s += result;
&lt;br&gt;+ 	pFile-&amp;gt;unget(); 		
&lt;br&gt;+}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;//---------------------------------------------------------------------
&lt;br&gt;&amp;nbsp;/**	Ready the shader for execution.
&lt;br&gt;diff --git a/libs/shadervm/shadervm.h b/libs/shadervm/shadervm.h
&lt;br&gt;index 11eb227..9e55f90 100644
&lt;br&gt;--- a/libs/shadervm/shadervm.h
&lt;br&gt;+++ b/libs/shadervm/shadervm.h
&lt;br&gt;@@ -246,6 +246,19 @@ class AQSIS_SHADERVM_SHARE CqShaderVM : public CqShaderStack, public IqShader, p
&lt;br&gt;&amp;nbsp;		bool	m_outsideWorld;						///&amp;lt; Flag indicating this shader was declared outside the world.
&lt;br&gt;&amp;nbsp;		IqRenderer*	m_pRenderContext;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+
&lt;br&gt;+		/** Get the char defined in the Numeric Escape char
&lt;br&gt;+		 * \param pFile shader stream
&lt;br&gt;+		 * \return String 
&lt;br&gt;+		 */
&lt;br&gt;+		CqString GetString(std::istream* pFile);
&lt;br&gt;+		/** Get the char defined in the Numeric Escape char
&lt;br&gt;+		 * \param pFile shader stream
&lt;br&gt;+		 * \param s result string
&lt;br&gt;+		 * \param c, current character
&lt;br&gt;+		 * \return char equivalence for the numeric escape sequence 
&lt;br&gt;+		 */
&lt;br&gt;+		void GetNumericEscapeChar(std::istream* pFile, CqString &amp;s, char c) ;
&lt;br&gt;&amp;nbsp;		/** Determine whether the program execution has finished.
&lt;br&gt;&amp;nbsp;		 */
&lt;br&gt;&amp;nbsp;		bool	fDone()
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25741399&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/patch-for-bug-id-2813534-%22Escaped-strings-in-RSL-not-working%22-tp25634434p25741399.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25697338</id>
	<title>Re: patch for bug id 2813534 &quot;Escaped strings in RSL not working&quot;</title>
	<published>2009-10-01T04:36:38Z</published>
	<updated>2009-10-01T04:36:38Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">On Thu, Oct 1, 2009 at 6:10 PM, Ricardo Mayor &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25697338&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ricardo.mayor@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Hi Chris,
&lt;br&gt;&amp;gt; I'll implement all your suggestion and corrections in a new patch. Most of
&lt;br&gt;&amp;gt; them are easy to add I think. Find some comments in the email
&lt;br&gt;&lt;br&gt;Cool, thanks.
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Please use opening braces on their own line for consistency with the rest
&lt;br&gt;&amp;gt;&amp;gt; of
&lt;br&gt;&amp;gt;&amp;gt; the codebase.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I installed  Artistic style to check the code style but.. Where is the
&lt;br&gt;&amp;gt; style file?
&lt;br&gt;&lt;br&gt;I personally dislike automatic code formatting because it's possible to do a
&lt;br&gt;better job by hand if you're careful. &amp;nbsp;The most important thing to keep in
&lt;br&gt;mind is to follow the style of the code around that which you're fixing to
&lt;br&gt;keep things consistent.
&lt;br&gt;&lt;br&gt;Unfortunately there is more than one styles used in the aqsis codebase (eg,
&lt;br&gt;capitalization of class member functions is inconsistent). &amp;nbsp;The current
&lt;br&gt;&amp;quot;standard&amp;quot; such as it is can be found in
&lt;br&gt;&lt;br&gt;doc/coding_standard/codestyle.*
&lt;br&gt;&lt;br&gt;You will also find the astylerc file in doc/coding_standard, thought as I
&lt;br&gt;said, I prefer to do careful manual formatting.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; When I was reading through this code, I got rather confused by the
&lt;br&gt;&amp;gt;&amp;gt; handling of
&lt;br&gt;&amp;gt;&amp;gt; capturedNumber, since it appears in two different places and there's two
&lt;br&gt;&amp;gt;&amp;gt; different places where it's converted to a char using strtoul().  I
&lt;br&gt;&amp;gt;&amp;gt; suggest
&lt;br&gt;&amp;gt;&amp;gt; just using a nested loop inside this part of the case statement to confine
&lt;br&gt;&amp;gt;&amp;gt; octal handling logic to a single place in the code.  When you encounter
&lt;br&gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt; end of the octal number you can use the function pFile-&amp;gt;unget() to put
&lt;br&gt;&amp;gt;&amp;gt; back
&lt;br&gt;&amp;gt;&amp;gt; the terminating character into the input stream.  (For an example of
&lt;br&gt;&amp;gt;&amp;gt; something
&lt;br&gt;&amp;gt;&amp;gt; very similar, see CqRibLexer::readString() in riblexer.cpp.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I wrote the code in this way to avoid using file-&amp;gt;unget() when the length of
&lt;br&gt;&amp;gt; the number is less than 3. Anyway I´ll check it
&lt;/div&gt;&lt;br&gt;Yes, you definitely need to use unget() to write the code how I'm suggesting,
&lt;br&gt;but I see no reason to avoid using it. &amp;nbsp;I think it will make this code clearer
&lt;br&gt;and shorter ;-)
&lt;br&gt;&lt;br&gt;~Chris.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25697338&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/patch-for-bug-id-2813534-%22Escaped-strings-in-RSL-not-working%22-tp25634434p25697338.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25694651</id>
	<title>Re: patch for bug id 2813534 &quot;Escaped strings in RSL not working&quot;</title>
	<published>2009-10-01T01:10:41Z</published>
	<updated>2009-10-01T01:10:41Z</updated>
	<author>
		<name>Ricardo Mayor</name>
	</author>
	<content type="html">Hi Chris,&lt;br&gt;I&amp;#39;ll implement all your suggestion and corrections in a new patch. Most of them are easy to add I think. Find some comments in the email&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Wed, Sep 30, 2009 at 10:58 PM, Chris Foster &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25694651&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;chris42f@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Hi Ricardo,&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
On Sun, Sep 27, 2009 at 04:12:57PM +0100, Ricardo Mayor wrote:&lt;br&gt;
&amp;gt; Hello,&lt;br&gt;
&amp;gt; Find attached a patch for the bug &amp;quot;*Escaped strings in RSL not working&amp;quot;.&lt;br&gt;
&amp;gt; According *to ri specs, the supported escape string are&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; \n       linefeed (newline)&lt;br&gt;
&amp;gt; \r       carriage return&lt;br&gt;
&amp;gt; \t       horizontal tab&lt;br&gt;
&amp;gt; \b       backspace&lt;br&gt;
&amp;gt; \f       form feed&lt;br&gt;
&amp;gt; \\       backslash&lt;br&gt;
&amp;gt; \&amp;quot;       double quote&lt;br&gt;
&amp;gt; \ddd     character code ddd (octal)&lt;br&gt;
&amp;gt; \newline no character ? both are ignored&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;I think these may be the escape sequences specified in the part of the RISpec&lt;br&gt;
which deals with the RIB format, not the renderman shading language?&lt;br&gt;
&lt;br&gt;
Here&amp;#39;s what I see in my copy of the RISpec (around page 117):&lt;br&gt;
&lt;br&gt;
&amp;quot; Strings are used to name external objects (texture maps, for&lt;br&gt;
example). String literals (or&lt;br&gt;
&amp;quot; constants) are enclosed in double quotes, as in the C language, and&lt;br&gt;
may contain any of the&lt;br&gt;
&amp;quot; standard C &amp;quot;escape sequences&amp;quot; (such as \n for newline or \&amp;quot; for a quote).&lt;br&gt;
&lt;br&gt;
So actually I guess we should support a few more things which are in the C&lt;br&gt;
language but not part of the RIB syntax:&lt;br&gt;
&lt;br&gt;
\a&lt;br&gt;
\v&lt;br&gt;
\&amp;#39;&lt;br&gt;
\?&lt;br&gt;
\ooo&lt;br&gt;
\x hh&lt;br&gt;
\x hhh&lt;br&gt;
(According to &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/h21280bw%28VS.80%29.aspx&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://msdn.microsoft.com/en-us/library/h21280bw(VS.80).aspx&lt;/a&gt;)&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;I agree with. this. I misinterpreted the specs. Anyway most of this new escape characteres are easy to  add.&lt;font face=&quot;Arial&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14px;&quot;&gt;&lt;span id=&quot;IDA2MXYE&quot; style=&quot;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;
I&amp;#39;ve also got some suggestions to make the code a bit easier to read.  To begin&lt;br&gt;
with, please consider putting this chunk of code into its own function&lt;br&gt;
(eg, LoadString() or whatever).  CqShaderVM::LoadProgram() is a monster&lt;br&gt;
function already, let&amp;#39;s not make it any huger!&lt;br&gt;
&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;Yes, I&amp;#39;ll do it. &lt;br&gt;&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Other suggestions follow:&lt;br&gt;
&lt;br&gt;
&amp;gt; diff --git a/libs/shadervm/shadervm.cpp b/libs/shadervm/shadervm.cpp&lt;br&gt;
&amp;gt; index 225670a..a8d693e 100644&lt;br&gt;
&amp;gt; --- a/libs/shadervm/shadervm.cpp&lt;br&gt;
&amp;gt; +++ b/libs/shadervm/shadervm.cpp&lt;br&gt;
&amp;gt; @@ -1279,11 +1279,89 @@ void CqShaderVM::LoadProgram( std::istream* pFile )&lt;br&gt;
&amp;gt;                       ( *pFile ) &amp;gt;&amp;gt; std::ws;&lt;br&gt;
&amp;gt;                       char c;&lt;br&gt;
&amp;gt;                       CqString s( &amp;quot;&amp;quot; );&lt;br&gt;
&amp;gt; +                     bool escapeChar = false, escapeNumeric = false;&lt;br&gt;
&amp;gt; +                     CqString capturedNumber( &amp;quot;&amp;quot; );&lt;br&gt;
&amp;gt; +&lt;br&gt;
&amp;gt;                       pFile-&amp;gt;get&lt;br&gt;
&amp;gt;                       ();&lt;br&gt;
&amp;gt; -                     while ( ( c = pFile-&amp;gt;get&lt;br&gt;
&amp;gt; -                                             () ) != &amp;#39;&amp;quot;&amp;#39; )&lt;br&gt;
&amp;gt; -                             s += c;&lt;br&gt;
&amp;gt; +                     while ( (( c = pFile-&amp;gt;get() ) != &amp;#39;&amp;quot;&amp;#39;) || escapeChar  )&lt;br&gt;
&amp;gt; +                     {&lt;br&gt;
&amp;gt; +&lt;br&gt;
&amp;gt; +                             if (escapeNumeric)&lt;br&gt;
&amp;gt; +                             {&lt;br&gt;
&amp;gt; +                                     if(c &amp;lt; &amp;#39;0&amp;#39; or c &amp;gt; &amp;#39;9&amp;#39;)&lt;br&gt;
&amp;gt; +                                     {&lt;br&gt;
&amp;gt; +                                             char number = strtoul(capturedNumber.c_str(), NULL, 8);&lt;br&gt;
&amp;gt; +                                             s+= number;&lt;br&gt;
&amp;gt; +                                             escapeChar = false;&lt;br&gt;
&amp;gt; +                                             escapeNumeric =  false;&lt;br&gt;
&amp;gt; +                                             capturedNumber = &amp;quot;&amp;quot;;&lt;br&gt;
&amp;gt; +                                     }&lt;br&gt;
&amp;gt; +                             }&lt;br&gt;
&amp;gt; +                             if(escapeChar)&lt;br&gt;
&amp;gt; +                             {&lt;br&gt;
&amp;gt; +                                     //Treatment for escape char&lt;br&gt;
&amp;gt; +                                     switch(c){&lt;br&gt;
&lt;br&gt;
Please use opening braces on their own line for consistency with the rest of&lt;br&gt;
the codebase.&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;I installed  Artistic style to check the code style but.. Where is the  style file?&lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

&lt;br&gt;
&amp;gt; +                                             case &amp;#39;n&amp;#39;:&lt;br&gt;
&amp;gt; +                                                     s += &amp;#39;\n&amp;#39;;&lt;br&gt;
&amp;gt; +                                                     escapeChar = false;&lt;br&gt;
&amp;gt; +                                                     break;&lt;br&gt;
&amp;gt; +                                             case &amp;#39;r&amp;#39;:&lt;br&gt;
&amp;gt; +                                                     s += &amp;#39;\r&amp;#39;;&lt;br&gt;
&amp;gt; +                                                     escapeChar = false;&lt;br&gt;
&amp;gt; +                                                     break;&lt;br&gt;
&amp;gt; +                                             case &amp;#39;t&amp;#39;:&lt;br&gt;
&amp;gt; +                                                     s += &amp;#39;\t&amp;#39;;&lt;br&gt;
&amp;gt; +                                                     escapeChar = false;&lt;br&gt;
&amp;gt; +                                                     break;&lt;br&gt;
&amp;gt; +                                             case &amp;#39;b&amp;#39;:&lt;br&gt;
&amp;gt; +                                                     s += &amp;#39;\b&amp;#39;;&lt;br&gt;
&amp;gt; +                                                     escapeChar = false;&lt;br&gt;
&amp;gt; +                                                     break;&lt;br&gt;
&amp;gt; +                                             case &amp;#39;f&amp;#39;:&lt;br&gt;
&amp;gt; +                                                     s += &amp;#39;\f&amp;#39;;&lt;br&gt;
&amp;gt; +                                                     escapeChar = false;&lt;br&gt;
&amp;gt; +                                                     break;&lt;br&gt;
&amp;gt; +                                             case &amp;#39;&amp;quot;&amp;#39;:&lt;br&gt;
&amp;gt; +                                                     s += &amp;#39;&amp;quot;&amp;#39;;&lt;br&gt;
&amp;gt; +                                                     escapeChar = false;&lt;br&gt;
&amp;gt; +                                                     break;&lt;br&gt;
&amp;gt; +                                             case &amp;#39;\\&amp;#39;:&lt;br&gt;
&amp;gt; +                                                     s += &amp;#39;\\&amp;#39;;&lt;br&gt;
&amp;gt; +                                                     escapeChar = false;&lt;br&gt;
&amp;gt; +                                                     break;&lt;br&gt;
&amp;gt; +                                             case &amp;#39;0&amp;#39;:&lt;br&gt;
&amp;gt; +                                             case &amp;#39;1&amp;#39;:&lt;br&gt;
&amp;gt; +                                             case &amp;#39;2&amp;#39;:&lt;br&gt;
&amp;gt; +                                             case &amp;#39;3&amp;#39;:&lt;br&gt;
&amp;gt; +                                             case &amp;#39;4&amp;#39;:&lt;br&gt;
&amp;gt; +                                             case &amp;#39;5&amp;#39;:&lt;br&gt;
&amp;gt; +                                             case &amp;#39;6&amp;#39;:&lt;br&gt;
&amp;gt; +                                             case &amp;#39;7&amp;#39;:&lt;br&gt;
&amp;gt; +                                             case &amp;#39;8&amp;#39;:&lt;br&gt;
&amp;gt; +                                             case &amp;#39;9&amp;#39;:&lt;br&gt;
&amp;gt; +&lt;br&gt;
&amp;gt; +                                                     capturedNumber += c;&lt;br&gt;
&amp;gt; +                                                     if (capturedNumber.length() == 3)&lt;br&gt;
&amp;gt; +                                                     {&lt;br&gt;
&amp;gt; +                                                             escapeNumeric = false;&lt;br&gt;
&amp;gt; +                                                             escapeChar = false;&lt;br&gt;
&amp;gt; +                                                             s +=  (char)strtoul(capturedNumber.c_str(), NULL, 8);&lt;br&gt;
&amp;gt; +                                                     }&lt;br&gt;
&amp;gt; +                                                     else&lt;br&gt;
&amp;gt; +                                                             escapeNumeric = true;&lt;br&gt;
&amp;gt; +                                                     break;&lt;br&gt;
&lt;br&gt;
When I was reading through this code, I got rather confused by the handling of&lt;br&gt;
capturedNumber, since it appears in two different places and there&amp;#39;s two&lt;br&gt;
different places where it&amp;#39;s converted to a char using strtoul().  I suggest&lt;br&gt;
just using a nested loop inside this part of the case statement to confine&lt;br&gt;
octal handling logic to a single place in the code.  When you encounter the&lt;br&gt;
end of the octal number you can use the function pFile-&amp;gt;unget() to put back&lt;br&gt;
the terminating character into the input stream.  (For an example of something&lt;br&gt;
very similar, see CqRibLexer::readString() in riblexer.cpp.)&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;I wrote the code in this way to avoid using file-&amp;gt;unget() when the length of the number is less than 3. Anyway I´ll check it&lt;br&gt;&lt;/div&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;br&gt;
&amp;gt; +                                             default :&lt;br&gt;
&amp;gt; +                                                     escapeChar = false;&lt;br&gt;
&amp;gt; +                                                     break;&lt;br&gt;
&amp;gt; +                                     }&lt;br&gt;
&amp;gt; +                             }&lt;br&gt;
&amp;gt; +                             else&lt;br&gt;
&amp;gt; +                                     if (c ==  &amp;#39;\\&amp;#39;)&lt;br&gt;
&amp;gt; +                                             escapeChar = true;&lt;br&gt;
&amp;gt; +                                     else&lt;br&gt;
&amp;gt; +                                             s += c;&lt;br&gt;
&amp;gt; +                     }&lt;br&gt;
&amp;gt;                       AddString( s.c_str(), pProgramArea );&lt;br&gt;
&amp;gt;               }&lt;br&gt;
&amp;gt;               break;&lt;br&gt;
&lt;br&gt;
Just attach any changes as a new patch, thanks :-)&lt;br&gt;
~Chris.&lt;br&gt;
&lt;br&gt;
------------------------------------------------------------------------------&lt;br&gt;
Come build with us! The BlackBerry&amp;amp;reg; Developer Conference in SF, CA&lt;br&gt;
is the only developer event you need to attend this year. Jumpstart your&lt;br&gt;
developing skills, take BlackBerry mobile applications to market and stay&lt;br&gt;
ahead of the curve. Join us from November 9&amp;amp;#45;12, 2009. Register now&amp;amp;#33;&lt;br&gt;
&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
Aqsis-development mailing list&lt;br&gt;
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25694651&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25694651&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/patch-for-bug-id-2813534-%22Escaped-strings-in-RSL-not-working%22-tp25634434p25694651.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25689806</id>
	<title>Re: patch for bug id 2813534 &quot;Escaped strings in RSL not working&quot;</title>
	<published>2009-09-30T14:58:17Z</published>
	<updated>2009-09-30T14:58:17Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">Hi Ricardo,
&lt;br&gt;&lt;br&gt;On Sun, Sep 27, 2009 at 04:12:57PM +0100, Ricardo Mayor wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; Find attached a patch for the bug &amp;quot;*Escaped strings in RSL not working&amp;quot;.
&lt;br&gt;&amp;gt; According *to ri specs, the supported escape string are
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; \n &amp;nbsp; &amp;nbsp; &amp;nbsp; linefeed (newline)
&lt;br&gt;&amp;gt; \r &amp;nbsp; &amp;nbsp; &amp;nbsp; carriage return
&lt;br&gt;&amp;gt; \t &amp;nbsp; &amp;nbsp; &amp;nbsp; horizontal tab
&lt;br&gt;&amp;gt; \b &amp;nbsp; &amp;nbsp; &amp;nbsp; backspace
&lt;br&gt;&amp;gt; \f &amp;nbsp; &amp;nbsp; &amp;nbsp; form feed
&lt;br&gt;&amp;gt; \\ &amp;nbsp; &amp;nbsp; &amp;nbsp; backslash
&lt;br&gt;&amp;gt; \&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; double quote
&lt;br&gt;&amp;gt; \ddd &amp;nbsp; &amp;nbsp; character code ddd (octal)
&lt;br&gt;&amp;gt; \newline no character ? both are ignored
&lt;/div&gt;&lt;br&gt;I think these may be the escape sequences specified in the part of the RISpec
&lt;br&gt;which deals with the RIB format, not the renderman shading language?
&lt;br&gt;&lt;br&gt;Here's what I see in my copy of the RISpec (around page 117):
&lt;br&gt;&lt;br&gt;&amp;quot; Strings are used to name external objects (texture maps, for
&lt;br&gt;example). String literals (or
&lt;br&gt;&amp;quot; constants) are enclosed in double quotes, as in the C language, and
&lt;br&gt;may contain any of the
&lt;br&gt;&amp;quot; standard C &amp;quot;escape sequences&amp;quot; (such as \n for newline or \&amp;quot; for a quote).
&lt;br&gt;&lt;br&gt;So actually I guess we should support a few more things which are in the C
&lt;br&gt;language but not part of the RIB syntax:
&lt;br&gt;&lt;br&gt;\a
&lt;br&gt;\v
&lt;br&gt;\'
&lt;br&gt;\?
&lt;br&gt;\ooo
&lt;br&gt;\x hh
&lt;br&gt;\x hhh
&lt;br&gt;(According to &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/h21280bw(VS.80).aspx&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://msdn.microsoft.com/en-us/library/h21280bw(VS.80).aspx&lt;/a&gt;)
&lt;br&gt;&lt;br&gt;I've also got some suggestions to make the code a bit easier to read. &amp;nbsp;To begin
&lt;br&gt;with, please consider putting this chunk of code into its own function
&lt;br&gt;(eg, LoadString() or whatever). &amp;nbsp;CqShaderVM::LoadProgram() is a monster
&lt;br&gt;function already, let's not make it any huger!
&lt;br&gt;&lt;br&gt;Other suggestions follow:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; diff --git a/libs/shadervm/shadervm.cpp b/libs/shadervm/shadervm.cpp
&lt;br&gt;&amp;gt; index 225670a..a8d693e 100644
&lt;br&gt;&amp;gt; --- a/libs/shadervm/shadervm.cpp
&lt;br&gt;&amp;gt; +++ b/libs/shadervm/shadervm.cpp
&lt;br&gt;&amp;gt; @@ -1279,11 +1279,89 @@ void CqShaderVM::LoadProgram( std::istream* pFile )
&lt;br&gt;&amp;gt; &amp;nbsp;			( *pFile ) &amp;gt;&amp;gt; std::ws;
&lt;br&gt;&amp;gt; &amp;nbsp;			char c;
&lt;br&gt;&amp;gt; &amp;nbsp;			CqString s( &amp;quot;&amp;quot; );
&lt;br&gt;&amp;gt; +			bool escapeChar = false, escapeNumeric = false;
&lt;br&gt;&amp;gt; +			CqString capturedNumber( &amp;quot;&amp;quot; );
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; &amp;nbsp;			pFile-&amp;gt;get
&lt;br&gt;&amp;gt; &amp;nbsp;			();
&lt;br&gt;&amp;gt; -			while ( ( c = pFile-&amp;gt;get
&lt;br&gt;&amp;gt; -						() ) != '&amp;quot;' )
&lt;br&gt;&amp;gt; -				s += c;
&lt;br&gt;&amp;gt; +			while ( (( c = pFile-&amp;gt;get() ) != '&amp;quot;') || escapeChar &amp;nbsp;)
&lt;br&gt;&amp;gt; +			{
&lt;br&gt;&amp;gt; +				
&lt;br&gt;&amp;gt; +				if (escapeNumeric)
&lt;br&gt;&amp;gt; +				{
&lt;br&gt;&amp;gt; +					if(c &amp;lt; '0' or c &amp;gt; '9')
&lt;br&gt;&amp;gt; +					{
&lt;br&gt;&amp;gt; +						char number = strtoul(capturedNumber.c_str(), NULL, 8);
&lt;br&gt;&amp;gt; +						s+= number;
&lt;br&gt;&amp;gt; +						escapeChar = false;
&lt;br&gt;&amp;gt; +						escapeNumeric = &amp;nbsp;false;
&lt;br&gt;&amp;gt; +						capturedNumber = &amp;quot;&amp;quot;;
&lt;br&gt;&amp;gt; +					}
&lt;br&gt;&amp;gt; +				}
&lt;br&gt;&amp;gt; +				if(escapeChar)
&lt;br&gt;&amp;gt; +				{
&lt;br&gt;&amp;gt; +					//Treatment for escape char
&lt;br&gt;&amp;gt; +					switch(c){
&lt;/div&gt;&lt;br&gt;Please use opening braces on their own line for consistency with the rest of
&lt;br&gt;the codebase.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; +						case 'n':
&lt;br&gt;&amp;gt; +							s += '\n';
&lt;br&gt;&amp;gt; +							escapeChar = false;
&lt;br&gt;&amp;gt; +							break;
&lt;br&gt;&amp;gt; +						case 'r':
&lt;br&gt;&amp;gt; +							s += '\r';
&lt;br&gt;&amp;gt; +							escapeChar = false;
&lt;br&gt;&amp;gt; +							break;
&lt;br&gt;&amp;gt; +						case 't':
&lt;br&gt;&amp;gt; +							s += '\t';
&lt;br&gt;&amp;gt; +							escapeChar = false;
&lt;br&gt;&amp;gt; +							break;
&lt;br&gt;&amp;gt; +						case 'b':
&lt;br&gt;&amp;gt; +							s += '\b';
&lt;br&gt;&amp;gt; +							escapeChar = false;
&lt;br&gt;&amp;gt; +							break;
&lt;br&gt;&amp;gt; +						case 'f':
&lt;br&gt;&amp;gt; +							s += '\f';
&lt;br&gt;&amp;gt; +							escapeChar = false;
&lt;br&gt;&amp;gt; +							break;
&lt;br&gt;&amp;gt; +						case '&amp;quot;':
&lt;br&gt;&amp;gt; +							s += '&amp;quot;';
&lt;br&gt;&amp;gt; +							escapeChar = false;
&lt;br&gt;&amp;gt; +							break;	
&lt;br&gt;&amp;gt; +						case '\\':
&lt;br&gt;&amp;gt; +							s += '\\';
&lt;br&gt;&amp;gt; +							escapeChar = false;
&lt;br&gt;&amp;gt; +							break;
&lt;br&gt;&amp;gt; +						case '0':
&lt;br&gt;&amp;gt; +						case '1':
&lt;br&gt;&amp;gt; +						case '2':
&lt;br&gt;&amp;gt; +						case '3':
&lt;br&gt;&amp;gt; +						case '4':
&lt;br&gt;&amp;gt; +						case '5':
&lt;br&gt;&amp;gt; +						case '6':
&lt;br&gt;&amp;gt; +						case '7':
&lt;br&gt;&amp;gt; +						case '8':
&lt;br&gt;&amp;gt; +						case '9':
&lt;br&gt;&amp;gt; +							
&lt;br&gt;&amp;gt; +							capturedNumber += c;
&lt;br&gt;&amp;gt; +							if (capturedNumber.length() == 3)
&lt;br&gt;&amp;gt; +							{
&lt;br&gt;&amp;gt; +								escapeNumeric = false;
&lt;br&gt;&amp;gt; +								escapeChar = false;
&lt;br&gt;&amp;gt; +								s += &amp;nbsp;(char)strtoul(capturedNumber.c_str(), NULL, 8);
&lt;br&gt;&amp;gt; +							}
&lt;br&gt;&amp;gt; +							else
&lt;br&gt;&amp;gt; +								escapeNumeric = true;
&lt;br&gt;&amp;gt; +							break;
&lt;/div&gt;&lt;br&gt;When I was reading through this code, I got rather confused by the handling of
&lt;br&gt;capturedNumber, since it appears in two different places and there's two
&lt;br&gt;different places where it's converted to a char using strtoul(). &amp;nbsp;I suggest
&lt;br&gt;just using a nested loop inside this part of the case statement to confine
&lt;br&gt;octal handling logic to a single place in the code. &amp;nbsp;When you encounter the
&lt;br&gt;end of the octal number you can use the function pFile-&amp;gt;unget() to put back
&lt;br&gt;the terminating character into the input stream. &amp;nbsp;(For an example of something
&lt;br&gt;very similar, see CqRibLexer::readString() in riblexer.cpp.)
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; +						default :
&lt;br&gt;&amp;gt; +							escapeChar = false;
&lt;br&gt;&amp;gt; +							break;
&lt;br&gt;&amp;gt; +					}
&lt;br&gt;&amp;gt; +				}
&lt;br&gt;&amp;gt; +				else
&lt;br&gt;&amp;gt; +					if (c == &amp;nbsp;'\\')
&lt;br&gt;&amp;gt; +						escapeChar = true;
&lt;br&gt;&amp;gt; +					else
&lt;br&gt;&amp;gt; +						s += c;
&lt;br&gt;&amp;gt; +			}
&lt;br&gt;&amp;gt; &amp;nbsp;			AddString( s.c_str(), pProgramArea );
&lt;br&gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt; &amp;nbsp;		break;
&lt;/div&gt;&lt;br&gt;Just attach any changes as a new patch, thanks :-)
&lt;br&gt;~Chris.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25689806&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/patch-for-bug-id-2813534-%22Escaped-strings-in-RSL-not-working%22-tp25634434p25689806.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25638453</id>
	<title>Re: constant vs smooth shading interpolation</title>
	<published>2009-09-27T15:51:08Z</published>
	<updated>2009-09-27T15:51:08Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">On Mon, Sep 28, 2009 at 7:23 AM, Matthias Baas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25638453&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthias.baas@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; True, in particular when it's the default now. I suppose improving
&lt;br&gt;&amp;gt; constant interpolation only makes sense when there is a noticeable
&lt;br&gt;&amp;gt; performance benefit. I just did a quick test with that scene from the
&lt;br&gt;&amp;gt; bug report and rendered it using a very low shading rate (to create more
&lt;br&gt;&amp;gt; micro polys). Smooth shading was only slightly slower and I suppose that
&lt;br&gt;&amp;gt; difference will get even smaller once there is more complex geometry and
&lt;br&gt;&amp;gt; shading involved. So, just using smooth interpolation is fine by me. :)
&lt;br&gt;&lt;br&gt;Note that the smooth shading implementation has changed completely
&lt;br&gt;since 1.4, but I think the conclusion that the speed hit is fairly
&lt;br&gt;minor (when compared to other costs of complex scenes) tends to be
&lt;br&gt;generally true. &amp;nbsp;Overall I think that defaulting to smooth is a win
&lt;br&gt;compared to dealing with the confusing artefacts which come up every
&lt;br&gt;now and then with constant interpolation.
&lt;br&gt;&lt;br&gt;Note also that the hit depth always needs better than constant
&lt;br&gt;interpolation for proper hiding (in aqsis-1.4 it was a kind of halfway
&lt;br&gt;smooth interpolation). &amp;nbsp;In the new implementation smooth interpolation
&lt;br&gt;is used for the depth so some of the cost of smooth interpolation is
&lt;br&gt;always present due to the need to calculate z accurately (that is, the
&lt;br&gt;cost of reverse bilinear lookup from the hit location to micropolygon
&lt;br&gt;u,v coordinates).
&lt;br&gt;&lt;br&gt;~Chris.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25638453&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/constant-vs-smooth-shading-interpolation-tp25567970p25638453.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25637751</id>
	<title>Re: constant vs smooth shading interpolation</title>
	<published>2009-09-27T14:23:00Z</published>
	<updated>2009-09-27T14:23:00Z</updated>
	<author>
		<name>Matthias Baas-3</name>
	</author>
	<content type="html">Hi Chris,
&lt;br&gt;&lt;br&gt;Chris Foster wrote:
&lt;br&gt;&amp;gt; I'm sure we could come up with a number of complex workarounds, but
&lt;br&gt;&amp;gt; TBH I don't know why we'd bother because we already have one: it's
&lt;br&gt;&amp;gt; called smooth shading interpolation!
&lt;br&gt;&lt;br&gt;True, in particular when it's the default now. I suppose improving
&lt;br&gt;constant interpolation only makes sense when there is a noticeable
&lt;br&gt;performance benefit. I just did a quick test with that scene from the
&lt;br&gt;bug report and rendered it using a very low shading rate (to create more
&lt;br&gt;micro polys). Smooth shading was only slightly slower and I suppose that
&lt;br&gt;difference will get even smaller once there is more complex geometry and
&lt;br&gt;shading involved. So, just using smooth interpolation is fine by me. :)
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;- Matthias -
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25637751&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/constant-vs-smooth-shading-interpolation-tp25567970p25637751.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25634434</id>
	<title>patch for bug id 2813534 &quot;Escaped strings in RSL not working&quot;</title>
	<published>2009-09-27T08:12:57Z</published>
	<updated>2009-09-27T08:12:57Z</updated>
	<author>
		<name>Ricardo Mayor</name>
	</author>
	<content type="html">Hello,&lt;br&gt;Find attached a patch for the bug &amp;quot;&lt;span&gt;&lt;strong&gt;Escaped strings in RSL not working&amp;quot;. &lt;br&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;According &lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;to ri specs, the supported escape string are&lt;br&gt;
&lt;br&gt;\n       linefeed (newline)&lt;br&gt;\r       carriage return&lt;br&gt;\t       horizontal tab&lt;br&gt;\b       backspace&lt;br&gt;\f       form feed&lt;br&gt;\\       backslash&lt;br&gt;\”       double quote&lt;br&gt;\ddd     character code ddd (octal)&lt;br&gt;\newline no character – both are ignored&lt;br&gt;
&lt;br&gt;Only the last one was currently supported. The attached patch adds support for all the cases.&lt;br&gt;&lt;br&gt;Best regards&lt;br&gt;
&lt;br /&gt;&lt;tt&gt;[escape_char.patch]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;diff --git a/libs/shadervm/shadervm.cpp b/libs/shadervm/shadervm.cpp
&lt;br&gt;index 225670a..a8d693e 100644
&lt;br&gt;--- a/libs/shadervm/shadervm.cpp
&lt;br&gt;+++ b/libs/shadervm/shadervm.cpp
&lt;br&gt;@@ -1279,11 +1279,89 @@ void CqShaderVM::LoadProgram( std::istream* pFile )
&lt;br&gt;&amp;nbsp;												( *pFile ) &amp;gt;&amp;gt; std::ws;
&lt;br&gt;&amp;nbsp;												char c;
&lt;br&gt;&amp;nbsp;												CqString s( &amp;quot;&amp;quot; );
&lt;br&gt;+												bool escapeChar = false, escapeNumeric = false;
&lt;br&gt;+												CqString capturedNumber( &amp;quot;&amp;quot; );
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;												pFile-&amp;gt;get
&lt;br&gt;&amp;nbsp;												();
&lt;br&gt;-												while ( ( c = pFile-&amp;gt;get
&lt;br&gt;-															() ) != '&amp;quot;' )
&lt;br&gt;-													s += c;
&lt;br&gt;+												while ( (( c = pFile-&amp;gt;get() ) != '&amp;quot;') || escapeChar &amp;nbsp;)
&lt;br&gt;+												{
&lt;br&gt;+													
&lt;br&gt;+													if (escapeNumeric)
&lt;br&gt;+													{
&lt;br&gt;+														if(c &amp;lt; '0' or c &amp;gt; '9')
&lt;br&gt;+														{ 
&lt;br&gt;+															char number = strtoul(capturedNumber.c_str(), NULL, 8);
&lt;br&gt;+															s+= number;
&lt;br&gt;+															escapeChar = false;
&lt;br&gt;+															escapeNumeric = &amp;nbsp;false;
&lt;br&gt;+															capturedNumber = &amp;quot;&amp;quot;;
&lt;br&gt;+														}
&lt;br&gt;+													}
&lt;br&gt;+													if(escapeChar)
&lt;br&gt;+														{
&lt;br&gt;+														//Treatment for escape char
&lt;br&gt;+														switch(c){
&lt;br&gt;+															case 'n':
&lt;br&gt;+																s += '\n';
&lt;br&gt;+																escapeChar = false;
&lt;br&gt;+																break;
&lt;br&gt;+															case 'r':
&lt;br&gt;+																s += '\r';
&lt;br&gt;+																escapeChar = false;
&lt;br&gt;+																break;
&lt;br&gt;+															case 't':
&lt;br&gt;+																s += '\t';
&lt;br&gt;+																escapeChar = false;
&lt;br&gt;+																break;
&lt;br&gt;+															case 'b':
&lt;br&gt;+																s += '\b';
&lt;br&gt;+																escapeChar = false;
&lt;br&gt;+																break;
&lt;br&gt;+															case 'f':
&lt;br&gt;+																s += '\f';
&lt;br&gt;+																escapeChar = false;
&lt;br&gt;+																break;
&lt;br&gt;+															case '&amp;quot;':
&lt;br&gt;+																s += '&amp;quot;';
&lt;br&gt;+																escapeChar = false;
&lt;br&gt;+																break;	
&lt;br&gt;+															case '\\':
&lt;br&gt;+																s += '\\';
&lt;br&gt;+																escapeChar = false;
&lt;br&gt;+																break;
&lt;br&gt;+															case '0':
&lt;br&gt;+															case '1':
&lt;br&gt;+															case '2':
&lt;br&gt;+															case '3':
&lt;br&gt;+															case '4':
&lt;br&gt;+															case '5':
&lt;br&gt;+															case '6':
&lt;br&gt;+															case '7':
&lt;br&gt;+															case '8':
&lt;br&gt;+															case '9':
&lt;br&gt;+																
&lt;br&gt;+																capturedNumber += c;
&lt;br&gt;+																if (capturedNumber.length() == 3)
&lt;br&gt;+																{
&lt;br&gt;+																	escapeNumeric = false;
&lt;br&gt;+																	escapeChar = false;
&lt;br&gt;+																	s += &amp;nbsp;(char)strtoul(capturedNumber.c_str(), NULL, 8);
&lt;br&gt;+																}
&lt;br&gt;+																else
&lt;br&gt;+																	escapeNumeric = true;
&lt;br&gt;+																break;
&lt;br&gt;+															default :
&lt;br&gt;+																escapeChar = false;
&lt;br&gt;+																break;
&lt;br&gt;+														}
&lt;br&gt;+													}
&lt;br&gt;+													else
&lt;br&gt;+														if (c == &amp;nbsp;'\\') 
&lt;br&gt;+															escapeChar = true;
&lt;br&gt;+														else
&lt;br&gt;+															s += c;
&lt;br&gt;+												}
&lt;br&gt;&amp;nbsp;												AddString( s.c_str(), pProgramArea );
&lt;br&gt;&amp;nbsp;											}
&lt;br&gt;&amp;nbsp;											break;
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25634434&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/patch-for-bug-id-2813534-%22Escaped-strings-in-RSL-not-working%22-tp25634434p25634434.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25614459</id>
	<title>Re: Still no luck running Aqsis 1.5.0 on Tiger</title>
	<published>2009-09-25T08:48:53Z</published>
	<updated>2009-09-25T08:48:53Z</updated>
	<author>
		<name>Tobias Sauerwein-2</name>
	</author>
	<content type="html">Great, its a little dated, but good to know that it works.
&lt;br&gt;&lt;br&gt;On Thu, Sep 24, 2009 at 10:35 PM, Matthias Baas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25614459&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthias.baas@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Tobias,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I'm not sure if our nightlies are propper universal builds.
&lt;br&gt;&amp;gt;&amp;gt; Give this one a try, please ( &lt;a href=&quot;http://cgtobi.de/aqsis/Aqsis-1.5.0-Darwin.dmg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cgtobi.de/aqsis/Aqsis-1.5.0-Darwin.dmg&lt;/a&gt;&amp;nbsp;)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ok, that one works! Thanks! :)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - Matthias -
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Aqsis-development mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25614459&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25614459&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Still-no-luck-running-Aqsis-1.5.0-on-Tiger-tp25567548p25614459.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25603026</id>
	<title>Re: constant vs smooth shading interpolation</title>
	<published>2009-09-24T14:29:16Z</published>
	<updated>2009-09-24T14:29:16Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">On Fri, Sep 25, 2009 at 7:02 AM, Matthias Baas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25603026&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthias.baas@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Chris,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Yes, that is basically the problem.  It's important to realise that the value
&lt;br&gt;&amp;gt;&amp;gt; of ShadingInterpolation in no way influences how the shading itself is done,
&lt;br&gt;&amp;gt;&amp;gt; which is _always_ at the vertices of a micropolygon grid.  Instead, the
&lt;br&gt;&amp;gt;&amp;gt; shading interpolation effects how the results of running the shader program
&lt;br&gt;&amp;gt;&amp;gt; are interpolated across the faces of individual micropolygons:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ShadingInterpolation &amp;quot;constant&amp;quot;:
&lt;br&gt;&amp;gt;&amp;gt;   Constant interpolation means that each micropolygon is flat shaded, with the
&lt;br&gt;&amp;gt;&amp;gt;   colour coming from a single vertex.  The micropolygon at position (iu,iv) on
&lt;br&gt;&amp;gt;&amp;gt;   a grid is shaded with the colour from vertex (iu,iv) so that there's
&lt;br&gt;&amp;gt;&amp;gt;   effectively half a micropolygon width offset between the centre of the
&lt;br&gt;&amp;gt;&amp;gt;   micropolygon and the position at which the shading result was computed.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ok, so this means there is always a row and column of vertices that are
&lt;br&gt;&amp;gt; unused and I guess from the renderer's point of view it would be just as
&lt;br&gt;&amp;gt; correct if micropoly (iu,iv) would get the color from vertex (iu+1,iv),
&lt;br&gt;&amp;gt; (iu,iv+1) or (iu+1, iv+1) (i.e. from any of the other micropoly vertices).
&lt;br&gt;&amp;gt; Couldn't this be exploited to make the shading across grids more
&lt;br&gt;&amp;gt; uniform?
&lt;/div&gt;&lt;br&gt;Yes, I could imagine doing this to some extent but it will never work
&lt;br&gt;in full generality. &amp;nbsp;(To see why, consider trying to shade a
&lt;br&gt;nonorientable manifold like the Mobius strip!) &amp;nbsp;In practise it would
&lt;br&gt;be sufficient that the places where the directions of increasing u and
&lt;br&gt;v are inconsistent are where the surface is tangent to the view
&lt;br&gt;direction.
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Maybe the orientation of the grid in space could be used to
&lt;br&gt;&amp;gt; decide whether the &amp;quot;lower&amp;quot; or the &amp;quot;upper&amp;quot; row/column of vertices is
&lt;br&gt;&amp;gt; ignored. For example, if the vertex coordinates in one direction (say x
&lt;br&gt;&amp;gt; direction) are increasing, then use iu, otherwise use iu+1 and the same
&lt;br&gt;&amp;gt; in v direction. What I mean is, the micropolys from a grid that is
&lt;br&gt;&amp;gt; rotated around by 180 degrees should then get the same shading values
&lt;br&gt;&amp;gt; than the micropolys from the unrotated grid and that artifact in the bug
&lt;br&gt;&amp;gt; report would hopefully go away, even in constant shading interpolation mode.
&lt;br&gt;&amp;gt; Or alternatively, would it be an option to shader the micropolys at
&lt;br&gt;&amp;gt; their centers?
&lt;/div&gt;&lt;br&gt;It's possible in principle, but probably not desirable in practise: it
&lt;br&gt;requires that surface shading run on a different grid from the
&lt;br&gt;displacement shader, which at the least implies a cost in code
&lt;br&gt;complexity.
&lt;br&gt;&lt;br&gt;I'm sure we could come up with a number of complex workarounds, but
&lt;br&gt;TBH I don't know why we'd bother because we already have one: it's
&lt;br&gt;called smooth shading interpolation!
&lt;br&gt;&lt;br&gt;~Chris.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25603026&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/constant-vs-smooth-shading-interpolation-tp25567970p25603026.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25602635</id>
	<title>Re: constant vs smooth shading interpolation</title>
	<published>2009-09-24T14:02:47Z</published>
	<updated>2009-09-24T14:02:47Z</updated>
	<author>
		<name>Matthias Baas-3</name>
	</author>
	<content type="html">Hi Chris,
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Yes, that is basically the problem. &amp;nbsp;It's important to realise that the value
&lt;br&gt;&amp;gt; of ShadingInterpolation in no way influences how the shading itself is done,
&lt;br&gt;&amp;gt; which is _always_ at the vertices of a micropolygon grid. &amp;nbsp;Instead, the
&lt;br&gt;&amp;gt; shading interpolation effects how the results of running the shader program
&lt;br&gt;&amp;gt; are interpolated across the faces of individual micropolygons:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ShadingInterpolation &amp;quot;constant&amp;quot;:
&lt;br&gt;&amp;gt; &amp;nbsp; Constant interpolation means that each micropolygon is flat shaded, with the
&lt;br&gt;&amp;gt; &amp;nbsp; colour coming from a single vertex. &amp;nbsp;The micropolygon at position (iu,iv) on
&lt;br&gt;&amp;gt; &amp;nbsp; a grid is shaded with the colour from vertex (iu,iv) so that there's
&lt;br&gt;&amp;gt; &amp;nbsp; effectively half a micropolygon width offset between the centre of the
&lt;br&gt;&amp;gt; &amp;nbsp; micropolygon and the position at which the shading result was computed.
&lt;/div&gt;&lt;br&gt;ok, so this means there is always a row and column of vertices that are
&lt;br&gt;unused and I guess from the renderer's point of view it would be just as
&lt;br&gt;correct if micropoly (iu,iv) would get the color from vertex (iu+1,iv),
&lt;br&gt;(iu,iv+1) or (iu+1, iv+1) (i.e. from any of the other micropoly vertices).
&lt;br&gt;Couldn't this be exploited to make the shading across grids more
&lt;br&gt;uniform? Maybe the orientation of the grid in space could be used to
&lt;br&gt;decide whether the &amp;quot;lower&amp;quot; or the &amp;quot;upper&amp;quot; row/column of vertices is
&lt;br&gt;ignored. For example, if the vertex coordinates in one direction (say x
&lt;br&gt;direction) are increasing, then use iu, otherwise use iu+1 and the same
&lt;br&gt;in v direction. What I mean is, the micropolys from a grid that is
&lt;br&gt;rotated around by 180 degrees should then get the same shading values
&lt;br&gt;than the micropolys from the unrotated grid and that artifact in the bug
&lt;br&gt;report would hopefully go away, even in constant shading interpolation mode.
&lt;br&gt;Or alternatively, would it be an option to shader the micropolys at
&lt;br&gt;their centers?
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; that triangle almost looks as if it was smooth shaded. It seems Aqsis
&lt;br&gt;&amp;gt;&amp;gt; produces far more micro polygons than necessary (according to the stats
&lt;br&gt;&amp;gt;&amp;gt; it's 1233 vs 902). How does it determine the number of micro polygons to
&lt;br&gt;&amp;gt;&amp;gt; create?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Aqsis computes the length of the primitive in the u-direction, and the length
&lt;br&gt;&amp;gt; in the v-direction in raster space. &amp;nbsp;It then divides these by
&lt;br&gt;&amp;gt; sqrt(ShadingRate) to estimate the number of micropolygons needed in each
&lt;br&gt;&amp;gt; direction. &amp;nbsp;This is appropriate and accurate when the sides of a grid are
&lt;br&gt;&amp;gt; nearly perpendicular.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It's probable that this goes wrong in your test scene because the triangle at
&lt;br&gt;&amp;gt; the back is quite long and skinny. &amp;nbsp;
&lt;/div&gt;&lt;br&gt;This is already considered to be long and skinny? Then I suppose most
&lt;br&gt;triangles are. ;)
&lt;br&gt;Maybe I can eventually do some more test scenes to investigate this further.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;&lt;br&gt;- Matthias -
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25602635&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/constant-vs-smooth-shading-interpolation-tp25567970p25602635.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25602204</id>
	<title>Re: Still no luck running Aqsis 1.5.0 on Tiger</title>
	<published>2009-09-24T13:35:58Z</published>
	<updated>2009-09-24T13:35:58Z</updated>
	<author>
		<name>Matthias Baas-3</name>
	</author>
	<content type="html">Hi Tobias,
&lt;br&gt;&lt;br&gt;&amp;gt; I'm not sure if our nightlies are propper universal builds.
&lt;br&gt;&amp;gt; Give this one a try, please ( &lt;a href=&quot;http://cgtobi.de/aqsis/Aqsis-1.5.0-Darwin.dmg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cgtobi.de/aqsis/Aqsis-1.5.0-Darwin.dmg&lt;/a&gt;&amp;nbsp;)
&lt;br&gt;&lt;br&gt;ok, that one works! Thanks! :)
&lt;br&gt;&lt;br&gt;- Matthias -
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25602204&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Still-no-luck-running-Aqsis-1.5.0-on-Tiger-tp25567548p25602204.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25569729</id>
	<title>Re: [Aqsis-commits] [SCM] Aqsis Renderer branch, master, updated. 	CVS_Tip-2554-gef5ab6d</title>
	<published>2009-09-22T17:44:10Z</published>
	<updated>2009-09-22T17:44:10Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">On Mon, Sep 21, 2009 at 7:16 PM, Paul Gregory
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25569729&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pgregory@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; - Log -----------------------------------------------------------------
&lt;br&gt;&amp;gt; commit ef5ab6d1443e7284e096c0803abecde5aff9e1df
&lt;br&gt;&amp;gt; Author: Paul Gregory &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25569729&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pgregory@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Date:   Mon Sep 21 09:26:54 2009 +0100
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;    Fix bug #2738390.
&lt;br&gt;[...]
&lt;br&gt;&lt;br&gt;This looks nice Paul; it's far cleaner and simpler than before :-)
&lt;br&gt;&lt;br&gt;One question:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; diff --git a/libs/core/api/ri.cpp b/libs/core/api/ri.cpp
&lt;br&gt;&amp;gt; index 4c7e958..4874b3e 100644
&lt;br&gt;&amp;gt; --- a/libs/core/api/ri.cpp
&lt;br&gt;&amp;gt; +++ b/libs/core/api/ri.cpp
&lt;br&gt;&amp;gt; @@ -1085,6 +1085,7 @@ RtVoid    RiProjectionV( RtToken name, PARAMETERLIST )
&lt;br&gt;&amp;gt;                }
&lt;br&gt;&amp;gt;        }
&lt;br&gt;&amp;gt;        // TODO: need to get the current transformation so that it can be added to the screen transformation.
&lt;br&gt;&amp;gt; +       QGetRenderContext() -&amp;gt;SetpreProjectionTransform( QGetRenderContext() -&amp;gt;ptransCurrent() );
&lt;br&gt;&amp;gt;        QGetRenderContext() -&amp;gt;ptransSetTime( CqMatrix() );
&lt;/div&gt;&lt;br&gt;Is this TODO now done? &amp;nbsp;Did it refer to the pre-projection transformation?
&lt;br&gt;&lt;br&gt;~Chris.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25569729&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--Aqsis-commits---SCM--Aqsis-Renderer-branch%2C-master%2C-updated.-%09CVS_Tip-2554-gef5ab6d-tp25569729p25569729.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25569667</id>
	<title>Re: constant vs smooth shading interpolation</title>
	<published>2009-09-22T17:35:26Z</published>
	<updated>2009-09-22T17:35:26Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">On Wed, Sep 23, 2009 at 9:29 AM, Chris Foster &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25569667&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;chris42f@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; I think this would be fairly easy to fix (at least for bilinear patches) using
&lt;br&gt;&amp;gt; the magnitude of the cross product of the two sides.  This has an appropriate
&lt;br&gt;&amp;gt; scaling factor of sin(angle_between_the_sides) so that it computes a much
&lt;br&gt;&amp;gt; better estimate of the expected area of the bilinear patch.
&lt;br&gt;&lt;br&gt;Hmm, or maybe this isn't really the right thing to do. &amp;nbsp;It would result in a
&lt;br&gt;more accurate micropolygon *area*, but the tradeoff would be micropolygons
&lt;br&gt;which are relatively large in linear dimension with possible artifacts...
&lt;br&gt;&lt;br&gt;&lt;br&gt;One thing which I'd guess is definitely worth doing is to improve the way that
&lt;br&gt;triangles are turned into patches. &amp;nbsp;Currently, a triangle is turned into a
&lt;br&gt;patch with a random orientation, but this can result in unnecessarily long
&lt;br&gt;skinny patches.
&lt;br&gt;&lt;br&gt;Consider the triangle
&lt;br&gt;&lt;br&gt;&amp;nbsp; x
&lt;br&gt;&amp;nbsp; |\
&lt;br&gt;&amp;nbsp; | \
&lt;br&gt;&amp;nbsp; | &amp;nbsp;\
&lt;br&gt;&amp;nbsp; x---x
&lt;br&gt;&lt;br&gt;one way to turn this into a patch with a phantom fourth vertex (indicated by
&lt;br&gt;'o') is
&lt;br&gt;&lt;br&gt;&amp;nbsp; x
&lt;br&gt;&amp;nbsp; |\
&lt;br&gt;&amp;nbsp; | \
&lt;br&gt;&amp;nbsp; | &amp;nbsp;\
&lt;br&gt;&amp;nbsp; x---x
&lt;br&gt;&amp;nbsp; &amp;nbsp;\ &amp;nbsp;|
&lt;br&gt;&amp;nbsp; &amp;nbsp; \ |
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;\|
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; o
&lt;br&gt;&lt;br&gt;but this results in long skinny micropolygons (micropolys have the same shape
&lt;br&gt;as the parent patch). &amp;nbsp;Alternatively, the original triangle could be turned
&lt;br&gt;into the following:
&lt;br&gt;&lt;br&gt;&amp;nbsp; x---o
&lt;br&gt;&amp;nbsp; |\ &amp;nbsp;|
&lt;br&gt;&amp;nbsp; | \ |
&lt;br&gt;&amp;nbsp; | &amp;nbsp;\|
&lt;br&gt;&amp;nbsp; x---x
&lt;br&gt;&lt;br&gt;which has square micropolygons which are much better.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Looking at the current code, I see that this has actually been implemented in
&lt;br&gt;the past, but was commented out in 2006, apparently for the reason:
&lt;br&gt;&lt;br&gt;/* Comment this out for now as it breaks Bug948827 in a strange way,
&lt;br&gt;needs more investigation */
&lt;br&gt;&lt;br&gt;presumably this wouldn't be too hard to fix.
&lt;br&gt;&lt;br&gt;~Chris.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25569667&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/constant-vs-smooth-shading-interpolation-tp25567970p25569667.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25569152</id>
	<title>Re: constant vs smooth shading interpolation</title>
	<published>2009-09-22T16:29:42Z</published>
	<updated>2009-09-22T16:29:42Z</updated>
	<author>
		<name>Chris Foster-5</name>
	</author>
	<content type="html">Hi Matthias,
&lt;br&gt;&lt;br&gt;On Wed, Sep 23, 2009 at 7:44 AM, Matthias Baas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25569152&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;matthias.baas@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; this is basically a followup to my bug report 2862585
&lt;br&gt;&amp;gt; (&lt;a href=&quot;http://sourceforge.net/tracker/?func=detail&amp;aid=2862585&amp;group_id=25264&amp;atid=383970&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/tracker/?func=detail&amp;aid=2862585&amp;group_id=25264&amp;atid=383970&lt;/a&gt;).
&lt;br&gt;&amp;gt; I thought I rather post here instead of adding a reply to the bug report
&lt;br&gt;&amp;gt; (which is closed anyway). I think Chris' solution to switch to smooth
&lt;br&gt;&amp;gt; shading interpolation is fair enough, I'm just posting to make sure I
&lt;br&gt;&amp;gt; understand the problem correctly.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Basically, there's one question left for me: in constant interpolation
&lt;br&gt;&amp;gt; mode, at what point is the shading actually done? Is it just one of the
&lt;br&gt;&amp;gt; micro polygon vertex? If so, which one? Is that the problem in my
&lt;br&gt;&amp;gt; example scene that where the two triangles meet, the micro polygons are
&lt;br&gt;&amp;gt; oriented in the &amp;quot;opposite&amp;quot; way which means the shading locations are two
&lt;br&gt;&amp;gt; micro polygons apart instead of just one which leads to this discontinuity?
&lt;/div&gt;&lt;br&gt;Yes, that is basically the problem. &amp;nbsp;It's important to realise that the value
&lt;br&gt;of ShadingInterpolation in no way influences how the shading itself is done,
&lt;br&gt;which is _always_ at the vertices of a micropolygon grid. &amp;nbsp;Instead, the
&lt;br&gt;shading interpolation effects how the results of running the shader program
&lt;br&gt;are interpolated across the faces of individual micropolygons:
&lt;br&gt;&lt;br&gt;ShadingInterpolation &amp;quot;constant&amp;quot;:
&lt;br&gt;&amp;nbsp; Constant interpolation means that each micropolygon is flat shaded, with the
&lt;br&gt;&amp;nbsp; colour coming from a single vertex. &amp;nbsp;The micropolygon at position (iu,iv) on
&lt;br&gt;&amp;nbsp; a grid is shaded with the colour from vertex (iu,iv) so that there's
&lt;br&gt;&amp;nbsp; effectively half a micropolygon width offset between the centre of the
&lt;br&gt;&amp;nbsp; micropolygon and the position at which the shading result was computed.
&lt;br&gt;&lt;br&gt;ShadingInterpolation &amp;quot;smooth&amp;quot;:
&lt;br&gt;&amp;nbsp; Smooth (or gouraud) shading causes the colour of the four vertices to be
&lt;br&gt;&amp;nbsp; interpolated bilinearly across the face of the micropolygon. &amp;nbsp;In this case
&lt;br&gt;&amp;nbsp; there's no offset bias between the position of the shading point and the
&lt;br&gt;&amp;nbsp; effects it has in the output image.
&lt;br&gt;&lt;br&gt;Since a grid has no information about its neighbours, it can happen that the
&lt;br&gt;grid indices iu and iv could increase in different directions. &amp;nbsp;As you
&lt;br&gt;noticed, this is a problem for constant interpolation because it causes a
&lt;br&gt;micropolygon's width of &amp;quot;shear&amp;quot; in the output image.
&lt;br&gt;&lt;br&gt;&amp;gt; I also rendered that scene using PRMan and 3Delight. Both of them
&lt;br&gt;&amp;gt; produce micro polygons whose sides are parallel to the initial polygon
&lt;br&gt;&amp;gt; (which means there is no artifact in this example). Does that mean they
&lt;br&gt;&amp;gt; don't split up the quad into two triangles but rather handle quads
&lt;br&gt;&amp;gt; separately?
&lt;br&gt;&lt;br&gt;Most likely I would say. &amp;nbsp;This would just require detecting when a general
&lt;br&gt;polygon was actually a convex quad, which is pretty easy I think.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; When I further played around with that scene I found another thing that
&lt;br&gt;&amp;gt; looks odd to me. When you replace the polygon by this one (which just
&lt;br&gt;&amp;gt; has an additional vertex):
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; PointsGeneralPolygons [1] [5] [0 1 3 2 4] &amp;quot;P&amp;quot; [-1 0 1  1 0 1  -1 0 -1  1
&lt;br&gt;&amp;gt; 0 -1  -0.5 0 0]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; and increase the shading rate to 80 (so that you can easily see what's
&lt;br&gt;&amp;gt; going on), then the results of Aqsis and 3Delight in the lower part of
&lt;br&gt;&amp;gt; the image actually look similar (the micro polygons are oriented
&lt;br&gt;&amp;gt; differently but after all, that's up to the renderer). The odd thing is
&lt;br&gt;&amp;gt; the triangle on the far side. In 3Delight's case, you can easily spot
&lt;br&gt;&amp;gt; the micro polygons just like in the lower part. They even seem to be a
&lt;br&gt;&amp;gt; bit larger which I guess is just because they are further away (and
&lt;br&gt;&amp;gt; maybe just appear larger? I didn't count pixels) but in Aqsis's case,
&lt;br&gt;&amp;gt; that triangle almost looks as if it was smooth shaded. It seems Aqsis
&lt;br&gt;&amp;gt; produces far more micro polygons than necessary (according to the stats
&lt;br&gt;&amp;gt; it's 1233 vs 902). How does it determine the number of micro polygons to
&lt;br&gt;&amp;gt; create?
&lt;/div&gt;&lt;br&gt;Aqsis computes the length of the primitive in the u-direction, and the length
&lt;br&gt;in the v-direction in raster space. &amp;nbsp;It then divides these by
&lt;br&gt;sqrt(ShadingRate) to estimate the number of micropolygons needed in each
&lt;br&gt;direction. &amp;nbsp;This is appropriate and accurate when the sides of a grid are
&lt;br&gt;nearly perpendicular.
&lt;br&gt;&lt;br&gt;It's probable that this goes wrong in your test scene because the triangle at
&lt;br&gt;the back is quite long and skinny. &amp;nbsp;The area of the micropolygons arising from
&lt;br&gt;such a triangle is much smaller than what the simple estimate based on
&lt;br&gt;perpendicular u and v directions would suggest. &amp;nbsp;Therefore aqsis overestimates
&lt;br&gt;the dicing rate.
&lt;br&gt;&lt;br&gt;I think this would be fairly easy to fix (at least for bilinear patches) using
&lt;br&gt;the magnitude of the cross product of the two sides. &amp;nbsp;This has an appropriate
&lt;br&gt;scaling factor of sin(angle_between_the_sides) so that it computes a much
&lt;br&gt;better estimate of the expected area of the bilinear patch.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;~Chris.
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Aqsis-development mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25569152&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Aqsis-development@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/aqsis-development&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/aqsis-development&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/aqsis-development-f3702.html&quot; embed=&quot;fixTarget[3702]&quot; target=&quot;_top&quot; &gt;aqsis-development&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/constant-vs-smooth-shading-interpolation-tp25567970p25569152.html" />
</entry>

</feed>
