<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1903</id>
	<title>Nabble - Anti-Grain Geometry</title>
	<updated>2009-11-11T07:58:05Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Anti-Grain-Geometry-f1903.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Anti-Grain-Geometry-f1903.html" />
	<subtitle type="html">Anti-Grain Geometry (AGG) is an Open Source, free of charge graphic library, written in industrially standard C++. The terms and conditions of use AGG are described on The License page. AGG doesn't depend on any graphic API or technology. Basically, you can think of AGG as of a rendering engine that produces pixel images in memory from some vectorial data. But of course, AGG can do much more than that.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26303758</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-11T07:58:05Z</published>
	<updated>2009-11-11T07:58:05Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">John Horigan wrote:
&lt;br&gt;&amp;nbsp;&amp;gt; Ah, I missed that one. I can't see any more that I've missed. Can you 
&lt;br&gt;give a look?
&lt;br&gt;&lt;br&gt;I haven't spotted any others yet, but I found another problem. The 
&lt;br&gt;bottom of the &amp;quot;ice lolly sticks&amp;quot; are not rendered correctly (see 
&lt;br&gt;attached image). It took me a little while to figure out the reason, but 
&lt;br&gt;in rgba8 we have:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;AGG_INLINE self_type gradient(const self_type&amp; c, double k) const
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;self_type ret;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;calc_type ik = uround(k * base_scale);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ret.r = (value_type)int_lerp(r, c.r, ik);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ret.g = (value_type)int_lerp(g, c.g, ik);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ret.b = (value_type)int_lerp(b, c.b, ik);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ret.a = (value_type)int_lerp(a, c.a, ik);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;In 8-bit formats, you're lerping in the range 0-256 instead of 0-255. 
&lt;br&gt;You need to use &amp;quot;base_mask&amp;quot; instead of &amp;quot;base_scale&amp;quot;. The same applies to 
&lt;br&gt;rgba16, of course.
&lt;br&gt;&lt;br&gt;- Jim
&lt;br&gt;&lt;br&gt;&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26303758&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;aa_test.png&lt;/strong&gt; (29K) &lt;a href=&quot;http://old.nabble.com/attachment/26303758/0/aa_test.png&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26303758.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26290685</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-10T12:30:57Z</published>
	<updated>2009-11-10T12:30:57Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">Ah, I missed that one. I can't see any more that I've missed. Can you give a look? 
&lt;br&gt;&lt;br&gt;I'll send out patch fixing this bug as soon as we get to the bottom of this aa_test failure. I can't even get it to build on my system (a mac).
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Nov 10, 2009, at 11:13 AM, Jim Barry wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; John Horigan wrote:
&lt;br&gt;&amp;gt;&amp;gt; In the blender class blend_pix() method you will find:
&lt;br&gt;&amp;gt;&amp;gt; alpha = color_type::int_mult_cover(alpha, cover);
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; This is part of the patch. The int_mult_cover(alpha, cover) has been moved from pixfmt_alpha_blender_* to the blender class blend_pix () method. This was done to improve efficiency and expose parallelism.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OK, I see. So it's just that you forgot to add an int_mult_cover call to 
&lt;br&gt;&amp;gt; blender_rgb_gamma::blend_pix.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Actually it did seem like a bit of an anomaly that the original version 
&lt;br&gt;&amp;gt; of pixfmt_alpha_blend_rgb[a] prelerped the alpha before calling 
&lt;br&gt;&amp;gt; blend_pix - other pixel formats don't do that.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Jim
&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. &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;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26290685&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26290685&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26290685.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26289574</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-10T11:13:07Z</published>
	<updated>2009-11-10T11:13:07Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">John Horigan wrote:
&lt;br&gt;&amp;gt; In the blender class blend_pix() method you will find:
&lt;br&gt;&amp;gt; alpha = color_type::int_mult_cover(alpha, cover);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This is part of the patch. The int_mult_cover(alpha, cover) has been moved from pixfmt_alpha_blender_* to the blender class blend_pix () method. This was done to improve efficiency and expose parallelism.
&lt;br&gt;&lt;br&gt;OK, I see. So it's just that you forgot to add an int_mult_cover call to 
&lt;br&gt;blender_rgb_gamma::blend_pix.
&lt;br&gt;&lt;br&gt;Actually it did seem like a bit of an anomaly that the original version 
&lt;br&gt;of pixfmt_alpha_blend_rgb[a] prelerped the alpha before calling 
&lt;br&gt;blend_pix - other pixel formats don't do that.
&lt;br&gt;&lt;br&gt;- Jim
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26289574&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26289574.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26286464</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-10T08:22:06Z</published>
	<updated>2009-11-10T08:22:06Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">In the blender class blend_pix() method you will find:
&lt;br&gt;alpha = color_type::int_mult_cover(alpha, cover);
&lt;br&gt;&lt;br&gt;This is part of the patch. The int_mult_cover(alpha, cover) has been moved from pixfmt_alpha_blender_* to the blender class blend_pix () method. This was done to improve efficiency and expose parallelism.
&lt;br&gt;&lt;br&gt;My own code uses renderer_scanline_aa_solid&amp;lt;&amp;gt; and it produces anti-aliased output. I will pull the latest copy of agg from svn and see if it is different than what I am compiling my code against.
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Nov 10, 2009, at 3:33 AM, Jim Barry wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; John Horigan wrote:
&lt;br&gt;&amp;gt;&amp;gt; I believe that the patch is correct:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Compiling and running aa_test proves otherwise ;-)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; int_mult_cover(255, 254) == 254 (rgb8)
&lt;br&gt;&amp;gt;&amp;gt; int_mult_cover(65534, 255) == 65534 &amp;&amp; int_mult_cover(65535, 254) == &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; 65278 (rgb16)
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; int_mult_cover(c.a, cover) equals base_mask if and only if c.a equals &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; base_mask and cover equals cover_mask. So the two if statement &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; conditions are equivalent.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Yes, but the problem is that you pass c.a to blend_pix instead of (c.a * 
&lt;br&gt;&amp;gt; cover / cover_full). So you *could* write:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; if (c.a)
&lt;br&gt;&amp;gt; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if(c.a == base_mask &amp;&amp; cover == cover_mask)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::R] = c.r;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::G] = c.g;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::B] = c.b;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; calc_type alpha = color_type::int_mult_cover(c.a, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is this more or less efficient than the version I proposed before? I 
&lt;br&gt;&amp;gt; don't know. I suppose it depends how many of the source pixels are fully 
&lt;br&gt;&amp;gt; opaque.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Jim
&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. &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;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26286464&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26286464&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26286464.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26281972</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-10T03:33:49Z</published>
	<updated>2009-11-10T03:33:49Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">John Horigan wrote:
&lt;br&gt;&amp;gt; I believe that the patch is correct:
&lt;br&gt;&lt;br&gt;Compiling and running aa_test proves otherwise ;-)
&lt;br&gt;&lt;br&gt;&amp;gt; int_mult_cover(255, 254) == 254 (rgb8)
&lt;br&gt;&amp;gt; int_mult_cover(65534, 255) == 65534 &amp;&amp; int_mult_cover(65535, 254) == &amp;nbsp;
&lt;br&gt;&amp;gt; 65278 (rgb16)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; int_mult_cover(c.a, cover) equals base_mask if and only if c.a equals &amp;nbsp;
&lt;br&gt;&amp;gt; base_mask and cover equals cover_mask. So the two if statement &amp;nbsp;
&lt;br&gt;&amp;gt; conditions are equivalent.
&lt;br&gt;&lt;br&gt;Yes, but the problem is that you pass c.a to blend_pix instead of (c.a * 
&lt;br&gt;cover / cover_full). So you *could* write:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;if (c.a)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(c.a == base_mask &amp;&amp; cover == cover_mask)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::R] = c.r;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::G] = c.g;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::B] = c.b;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;calc_type alpha = color_type::int_mult_cover(c.a, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Is this more or less efficient than the version I proposed before? I 
&lt;br&gt;don't know. I suppose it depends how many of the source pixels are fully 
&lt;br&gt;opaque.
&lt;br&gt;&lt;br&gt;- Jim
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281972&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26281972.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26279099</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-09T22:38:35Z</published>
	<updated>2009-11-09T22:38:35Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">I believe that the patch is correct:
&lt;br&gt;int_mult_cover(255, 254) == 254 (rgb8)
&lt;br&gt;int_mult_cover(65534, 255) == 65534 &amp;&amp; int_mult_cover(65535, 254) == &amp;nbsp;
&lt;br&gt;65278 (rgb16)
&lt;br&gt;&lt;br&gt;int_mult_cover(c.a, cover) equals base_mask if and only if c.a equals &amp;nbsp;
&lt;br&gt;base_mask and cover equals cover_mask. So the two if statement &amp;nbsp;
&lt;br&gt;conditions are equivalent.
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Nov 9, 2009, at 10:48 AM, Jim Barry wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; jay3d wrote:
&lt;br&gt;&amp;gt;&amp;gt; The aa-test demo in the latest svn is not antialiased!
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; is it a known bug?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Seems to be a problem with the recent &amp;quot;accurate blending&amp;quot; patch.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In pixfmt_alpha_blend_rgb::copy_or_blend_pix, we used to have:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; if (c.a)
&lt;br&gt;&amp;gt; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; calc_type alpha = (calc_type(c.a) * (cover + 1)) &amp;gt;&amp;gt; 8;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if(alpha == base_mask)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::R] = c.r;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::G] = c.g;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::B] = c.b;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The patch changed this to:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; if (c.a)
&lt;br&gt;&amp;gt; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if(c.a == base_mask &amp;&amp; cover == cover_mask)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::R] = c.r;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::G] = c.g;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::B] = c.b;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_blender.blend_pix(p, c.r, c.g, c.b, c.a, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Which is not correct. I think it should be something like this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; if (c.a)
&lt;br&gt;&amp;gt; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; calc_type alpha = color_type::int_mult_cover(c.a, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if(alpha == base_mask)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::R] = c.r;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::G] = c.g;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::B] = c.b;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The same applies to blend_hline, blend_vline, blend_solid_hspan, and
&lt;br&gt;&amp;gt; blend_solid_vspan.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - Jim
&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 &amp;nbsp;
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and &amp;nbsp;
&lt;br&gt;&amp;gt; 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. &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;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26279099&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26279099&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26279099.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26271913</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-09T10:48:46Z</published>
	<updated>2009-11-09T10:48:46Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">jay3d wrote:
&lt;br&gt;&amp;nbsp;&amp;gt; The aa-test demo in the latest svn is not antialiased!
&lt;br&gt;&amp;nbsp;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;gt; is it a known bug?
&lt;br&gt;&lt;br&gt;Seems to be a problem with the recent &amp;quot;accurate blending&amp;quot; patch.
&lt;br&gt;&lt;br&gt;In pixfmt_alpha_blend_rgb::copy_or_blend_pix, we used to have:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;if (c.a)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;calc_type alpha = (calc_type(c.a) * (cover + 1)) &amp;gt;&amp;gt; 8;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(alpha == base_mask)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::R] = c.r;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::G] = c.g;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::B] = c.b;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;The patch changed this to:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;if (c.a)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(c.a == base_mask &amp;&amp; cover == cover_mask)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::R] = c.r;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::G] = c.g;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::B] = c.b;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m_blender.blend_pix(p, c.r, c.g, c.b, c.a, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Which is not correct. I think it should be something like this:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;if (c.a)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;calc_type alpha = color_type::int_mult_cover(c.a, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(alpha == base_mask)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::R] = c.r;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::G] = c.g;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::B] = c.b;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;The same applies to blend_hline, blend_vline, blend_solid_hspan, and 
&lt;br&gt;blend_solid_vspan.
&lt;br&gt;&lt;br&gt;- Jim
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271913&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26271913.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26247952</id>
	<title>aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-07T11:39:15Z</published>
	<updated>2009-11-07T11:39:15Z</updated>
	<author>
		<name>jay3d</name>
	</author>
	<content type="html">The aa-test demo in the latest svn is not antialiased!
&lt;br&gt;&lt;br&gt;is it a known bug?
&lt;br&gt;&lt;br&gt;using VS2008 SP1
&lt;br&gt;&lt;br&gt;Thanks!
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247952&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26247952.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26190940</id>
	<title>Re: agg render buffer and opengl</title>
	<published>2009-11-03T20:14:29Z</published>
	<updated>2009-11-03T20:14:29Z</updated>
	<author>
		<name>Balakumar-3</name>
	</author>
	<content type="html">Possible. U can use the memory provided to agg::rendering_buffer. Make 
&lt;br&gt;pixel format for the render buffer and texture are same.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; unsigned long *buffer = new unsigned long[width*height*4];
&lt;br&gt;&amp;nbsp; &amp;nbsp; memset(buffer, 0, width * height* 4);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; agg::rendering_buffer &amp;nbsp;r_buf_(buffer, width, height, width * 4);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; //Do ur rendreing
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; //Copy buffer to texture
&lt;br&gt;&lt;br&gt;Jim Crafton wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I'm contemplating making an image editor of sorts, something that's
&lt;br&gt;&amp;gt; based on another library of mine that roughly duplicates Apple's
&lt;br&gt;&amp;gt; CoreImage on Windows. It uses OpenGL to draw images and GLSL for
&lt;br&gt;&amp;gt; filters that can added to an image for processing the pixels. What I'd
&lt;br&gt;&amp;gt; like to do is also use AGG to draw on the opengl image, which is just
&lt;br&gt;&amp;gt; a texture map. Any advice on how best to approach this? Is it just a
&lt;br&gt;&amp;gt; matter of creating a texture and dumping the contents of AGG's
&lt;br&gt;&amp;gt; render_buffer onto the texture bits?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jim
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Come build with us! The BlackBerry(R) 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 - 12, 2009. Register now!
&lt;br&gt;&amp;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;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26190940&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26190940&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/agg-render-buffer-and-opengl-tp26184117p26190940.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26185623</id>
	<title>#define ENABLE_LTDL 0</title>
	<published>2009-11-03T11:11:29Z</published>
	<updated>2009-11-03T11:11:29Z</updated>
	<author>
		<name>Gordon Smith-15</name>
	</author>
	<content type="html">I am building a minimal dot build, which will take a dot file in and output 
&lt;br&gt;an SVG fil only (ultimately I will make it a single DLL, but for now several 
&lt;br&gt;DLLs is fine).
&lt;br&gt;&lt;br&gt;I have built the solution with ENABLE_LTDL = 0 (as well as all the PNG JPEG 
&lt;br&gt;etc = 0) and am able to run dot from the command line, but I get the 
&lt;br&gt;following error:
&lt;br&gt;Unable to find even the default &amp;quot;-Tdot&amp;quot; renderer. &amp;nbsp;Has the config
&lt;br&gt;file been generated by running &amp;quot;dot -c&amp;quot; with installer's priviledges?
&lt;br&gt;&lt;br&gt;&amp;gt;From digging around look like I need to use some predefined structs for the 
&lt;br&gt;SVG &amp;quot;plugin&amp;quot;, but am not sure where to declare (and how to declare) and how 
&lt;br&gt;to initialize, any help appreciated.
&lt;br&gt;&lt;br&gt;Gordon. 
&lt;br&gt;&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26185623&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-define-ENABLE_LTDL-0-tp26185623p26185623.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26184117</id>
	<title>agg render buffer and opengl</title>
	<published>2009-11-03T10:16:25Z</published>
	<updated>2009-11-03T10:16:25Z</updated>
	<author>
		<name>Jim Crafton</name>
	</author>
	<content type="html">I'm contemplating making an image editor of sorts, something that's
&lt;br&gt;based on another library of mine that roughly duplicates Apple's
&lt;br&gt;CoreImage on Windows. It uses OpenGL to draw images and GLSL for
&lt;br&gt;filters that can added to an image for processing the pixels. What I'd
&lt;br&gt;like to do is also use AGG to draw on the opengl image, which is just
&lt;br&gt;a texture map. Any advice on how best to approach this? Is it just a
&lt;br&gt;matter of creating a texture and dumping the contents of AGG's
&lt;br&gt;render_buffer onto the texture bits?
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;Jim
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26184117&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/agg-render-buffer-and-opengl-tp26184117p26184117.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25964029</id>
	<title>Re: Feedback: Ray-Alvy-Smith patch, SVN</title>
	<published>2009-10-19T12:19:37Z</published>
	<updated>2009-10-19T12:19:37Z</updated>
	<author>
		<name>klaas.holwerda-3</name>
	</author>
	<content type="html">Hi All,
&lt;br&gt;&lt;br&gt;We waited for more then enough.
&lt;br&gt;Have not seen objection.
&lt;br&gt;Will apply the patch tomorrow in say 24 hours.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Klaas
&lt;br&gt;&lt;br&gt;John Horigan wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; OK. I will incorporate that. New patch attached.
&lt;br&gt;&amp;gt;
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25964029&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Feedback%3A-Ray-Alvy-Smith-patch%2C-SVN-tp25728176p25964029.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25789814</id>
	<title>Re: SVN (SourceForge ID)</title>
	<published>2009-10-07T09:20:09Z</published>
	<updated>2009-10-07T09:20:09Z</updated>
	<author>
		<name>Leonardo RamosHernandez</name>
	</author>
	<content type="html">&lt;br&gt;thevinn &amp;nbsp;has been added to the project
&lt;br&gt;&lt;br&gt;editor rights has been added
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--- On Wed, 9/16/09, Vinnie &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;thevinn@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: Vinnie &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;thevinn@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Subject: Re: [AGG] SVN (SourceForge ID)
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Date: Wednesday, September 16, 2009, 8:25 AM
&lt;br&gt;&amp;gt; &amp;gt; Date: Wed, 26 Aug 2009 23:35:01
&lt;br&gt;&amp;gt; +0200
&lt;br&gt;&amp;gt; &amp;gt; From: &amp;quot;klaas.holwerda&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ngi@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Please post your Source Forge ID to grant you
&lt;br&gt;&amp;gt; developer
&lt;br&gt;&amp;gt; &amp;gt; access
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Is there a problem doing that?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Apparently yes because it was over 3 weeks since I sent the
&lt;br&gt;&amp;gt; message, and I have not received any Vector-agg digests. I
&lt;br&gt;&amp;gt; just now read your reply. Sorry for the inconvenience!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My SourceForge ID is thevinn
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thank you for your consideration.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sincerely,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Vinnie
&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
&lt;br&gt;&amp;gt; Conference in SF, CA
&lt;br&gt;&amp;gt; is the only developer event you need to attend this year.
&lt;br&gt;&amp;gt; Jumpstart your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to
&lt;br&gt;&amp;gt; market and stay 
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9-12, 2009.
&lt;br&gt;&amp;gt; Register now!
&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; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-SVN-%28SourceForge-ID%29-tp25474808p25789814.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25730609</id>
	<title>Re: Feedback: Ray-Alvy-Smith patch, SVN</title>
	<published>2009-10-03T09:51:11Z</published>
	<updated>2009-10-03T09:51:11Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html"> &lt;br /&gt;&lt;br&gt;&lt;br&gt;On Oct 3, 2009, at 5:10 AM, Vinnie wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; - I was able to get the patch from the last post, I saw it both in &amp;nbsp;
&lt;br&gt;&amp;gt; my private message and also the message posted to the list. Thanks
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - Patch worked great!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - When I looked at my customizations, there was really only one &amp;nbsp;
&lt;br&gt;&amp;gt; thing that i added, an enumeration value to each of the orders:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_rgb &amp;nbsp;{ enum rgb_e &amp;nbsp;{ R=0, G=1, B=2, rgb_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=false }; }; &amp;nbsp; &amp;nbsp; &amp;nbsp; //----order_rgb
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_bgr &amp;nbsp;{ enum bgr_e &amp;nbsp;{ B=0, G=1, R=2, rgb_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=false }; }; &amp;nbsp; &amp;nbsp; &amp;nbsp; //----order_bgr
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_rgba { enum rgba_e { R=0, G=1, B=2, A=3, rgba_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=true }; }; //----order_rgba
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_argb { enum argb_e { A=0, R=1, G=2, B=3, rgba_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=true }; }; //----order_argb
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_abgr { enum abgr_e { A=0, B=1, G=2, R=3, rgba_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=true }; }; //----order_abgr
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_bgra { enum bgra_e { B=0, G=1, R=2, A=3, rgba_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=true }; }; //----order_bgra
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My change was to include 'hasAlpha'. This is useful for template &amp;nbsp;
&lt;br&gt;&amp;gt; metaprogramming.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;/div&gt;OK. I will incorporate that. New patch attached.
&lt;br&gt;&lt;br&gt;&amp;gt; - I have a common header file at the beginning of every .cpp file in &amp;nbsp;
&lt;br&gt;&amp;gt; the agg project, #include &amp;quot;pch.h&amp;quot; for building a precompiled header &amp;nbsp;
&lt;br&gt;&amp;gt; under MSVC
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Sounds great. You should create a patch for that. Wrap the #include in &amp;nbsp;
&lt;br&gt;something like #ifdef AGG_USE_MSVC_PCH so that other Windows users are &amp;nbsp;
&lt;br&gt;not compelled to use pre-compiled headers.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Also:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - The directory structure of the project could be improved. The &amp;nbsp;
&lt;br&gt;&amp;gt; extra 'agg-2.4' is pretty annoying, as is the lack of a single &amp;nbsp;
&lt;br&gt;&amp;gt; include directory. It was one of the first things I changed in my &amp;nbsp;
&lt;br&gt;&amp;gt; private copy and I had to revert it back in order to apply the &amp;nbsp;
&lt;br&gt;&amp;gt; patch. I was thinking:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; {agg dir}include/agg/*
&lt;br&gt;&amp;gt; {agg dir}include/agg/ctrl/*
&lt;br&gt;&amp;gt; {agg dir}include/agg/platform/*
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; {agg dir}include/agg/freetype/{freetype includes}
&lt;br&gt;&amp;gt; {agg dir}include/agg/win_truetype/{win truetype includes}
&lt;br&gt;&amp;gt; {agg dir}src/*
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This way a build environment can use -I{agg dir}include, with client &amp;nbsp;
&lt;br&gt;&amp;gt; code having lines like:
&lt;br&gt;&amp;gt; #include &amp;lt;agg/agg_arrowhead.h&amp;gt;
&lt;br&gt;&amp;gt; or (more work)
&lt;br&gt;&amp;gt; #include &amp;lt;agg/arrowhead.h&amp;gt;
&lt;br&gt;&amp;gt; for example.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Of course this is a non trivial change that might require client &amp;nbsp;
&lt;br&gt;&amp;gt; code changes (mostly search and replace) but I wanted to mention it.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;/div&gt;This is a great idea. We could do this trivially use symbolic links &amp;nbsp;
&lt;br&gt;but SVN doesn't even try to support symbolic links under Windows. &amp;nbsp;
&lt;br&gt;Maybe you could create your preferred include tree using symlinks (if &amp;nbsp;
&lt;br&gt;you are running Vista or Win7).
&lt;br&gt;&lt;br&gt;We should have a list of major improvements to AGG. Then at some date &amp;nbsp;
&lt;br&gt;we could have a hacking sprint and produce AGG3. Reorganizing the &amp;nbsp;
&lt;br&gt;header files should be on the list.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; - Still no SVN access unless I am doing something wrong (?)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&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 &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and &amp;nbsp;
&lt;br&gt;&amp;gt; stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt; 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; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25730609&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25730609&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;agg24_alvyraysmithOct0309.patch.gz&lt;/strong&gt; (7K) &lt;a href=&quot;http://old.nabble.com/attachment/25730609/0/agg24_alvyraysmithOct0309.patch.gz&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Feedback%3A-Ray-Alvy-Smith-patch%2C-SVN-tp25728176p25730609.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25728176</id>
	<title>Feedback: Ray-Alvy-Smith patch, SVN</title>
	<published>2009-10-03T05:10:11Z</published>
	<updated>2009-10-03T05:10:11Z</updated>
	<author>
		<name>Vinnie-4</name>
	</author>
	<content type="html">- I was able to get the patch from the last post, I saw it both in my private message and also the message posted to the list. Thanks
&lt;br&gt;&lt;br&gt;- Patch worked great!
&lt;br&gt;&lt;br&gt;- When I looked at my customizations, there was really only one thing that i added, an enumeration value to each of the orders:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_rgb &amp;nbsp;{ enum rgb_e &amp;nbsp;{ R=0, G=1, B=2, rgb_tag, hasAlpha=false }; }; &amp;nbsp; &amp;nbsp; &amp;nbsp; //----order_rgb
&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_bgr &amp;nbsp;{ enum bgr_e &amp;nbsp;{ B=0, G=1, R=2, rgb_tag, hasAlpha=false }; }; &amp;nbsp; &amp;nbsp; &amp;nbsp; //----order_bgr
&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_rgba { enum rgba_e { R=0, G=1, B=2, A=3, rgba_tag, hasAlpha=true }; }; //----order_rgba
&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_argb { enum argb_e { A=0, R=1, G=2, B=3, rgba_tag, hasAlpha=true }; }; //----order_argb
&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_abgr { enum abgr_e { A=0, B=1, G=2, R=3, rgba_tag, hasAlpha=true }; }; //----order_abgr
&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_bgra { enum bgra_e { B=0, G=1, R=2, A=3, rgba_tag, hasAlpha=true }; }; //----order_bgra
&lt;br&gt;&lt;br&gt;My change was to include 'hasAlpha'. This is useful for template metaprogramming.
&lt;br&gt;&lt;br&gt;- I have a common header file at the beginning of every .cpp file in the agg project, #include &amp;quot;pch.h&amp;quot; for building a precompiled header under MSVC
&lt;br&gt;&lt;br&gt;&lt;br&gt;Also:
&lt;br&gt;&lt;br&gt;- The directory structure of the project could be improved. The extra 'agg-2.4' is pretty annoying, as is the lack of a single include directory. It was one of the first things I changed in my private copy and I had to revert it back in order to apply the patch. I was thinking:
&lt;br&gt;&lt;br&gt;{agg dir}include/agg/*
&lt;br&gt;{agg dir}include/agg/ctrl/*
&lt;br&gt;{agg dir}include/agg/platform/*
&lt;br&gt;...
&lt;br&gt;{agg dir}include/agg/freetype/{freetype includes}
&lt;br&gt;{agg dir}include/agg/win_truetype/{win truetype includes}
&lt;br&gt;{agg dir}src/*
&lt;br&gt;...
&lt;br&gt;&lt;br&gt;This way a build environment can use -I{agg dir}include, with client code having lines like:
&lt;br&gt;#include &amp;lt;agg/agg_arrowhead.h&amp;gt;
&lt;br&gt;or (more work)
&lt;br&gt;#include &amp;lt;agg/arrowhead.h&amp;gt;
&lt;br&gt;for example.
&lt;br&gt;&lt;br&gt;Of course this is a non trivial change that might require client code changes (mostly search and replace) but I wanted to mention it.
&lt;br&gt;&lt;br&gt;- Still no SVN access unless I am doing something wrong (?)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25728176&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Feedback%3A-Ray-Alvy-Smith-patch%2C-SVN-tp25728176p25728176.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25726085</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-10-02T23:19:39Z</published>
	<updated>2009-10-02T23:19:39Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">A gzipped patch file is attached. If you don't see an attachment then &amp;nbsp;
&lt;br&gt;contact me and I will arrange some other method of getting the patch &amp;nbsp;
&lt;br&gt;to you.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;br /&gt;&lt;br&gt;&lt;br&gt;Updated patch for accurate blenders:
&lt;br&gt;1) Old blenders are completely removed
&lt;br&gt;2) both gray16(const rgba16&amp;) constructors are fixed
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Oct 2, 2009, at 3:19 PM, John Horigan wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Yes, that is a bug in my new gray16() constructor. I will send out a
&lt;br&gt;&amp;gt; new patch with that fixed and the old code removed.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -- john
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Oct 2, 2009, at 10:13 AM, klaas.holwerda wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Stephan Assmus wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi John,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On 2009-09-28 at 00:12:42 [+0200], John Horigan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25726085&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sorry for the delay in this patch. I thought that the new blenders
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; were
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; failing in the rgba16 formats. But it turned out that the error
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; was in my
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; test framework.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I've read through the patch and it looks very good! Thanks a lot
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; for this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; work. Only one place I am not sure about:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; //--------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gray16(const rgba16&amp; c, unsigned a_) :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v((value_type)((c.r*77 + c.g*150 + c.b*29) &amp;gt;&amp;gt; 16)),
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a((value_type)a_) {}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I think the shift is wrong, since 77 + 150 + 29 = 256.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Has anybody else here already commited this patch?
&lt;br&gt;&amp;gt;&amp;gt; I think not, can you do it?
&lt;br&gt;&amp;gt;&amp;gt; Although i thinks legacy and incorrect blending code in AGG should be
&lt;br&gt;&amp;gt;&amp;gt; removed. I agree with John on that and/or the husband.
&lt;br&gt;&amp;gt;&amp;gt; It is bad to keep all old code around.
&lt;br&gt;&amp;gt;&amp;gt; What do you think?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I do not follow the AGG
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; commits, is there a commit notification list I can sign up to?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Not yet, and only the admin can do it.
&lt;br&gt;&amp;gt;&amp;gt; I suggest our admin gives other devlopers &amp;nbsp;admin rights too.
&lt;br&gt;&amp;gt;&amp;gt; Or at least make things happen more quickly. e.g. Vinnie is not on &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt; members list jet.
&lt;br&gt;&amp;gt;&amp;gt; And this commit list should be in place.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Leonardo were are you??
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; regards,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Klaas
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; CA
&lt;br&gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart
&lt;br&gt;&amp;gt;&amp;gt; your
&lt;br&gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and
&lt;br&gt;&amp;gt;&amp;gt; stay
&lt;br&gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register
&lt;br&gt;&amp;gt;&amp;gt; now&amp;#33;
&lt;br&gt;&amp;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;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25726085&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&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 &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and &amp;nbsp;
&lt;br&gt;&amp;gt; stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt; 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; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25726085&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25726085&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;agg24_alvyraysmithOct0209.patch.gz&lt;/strong&gt; (7K) &lt;a href=&quot;http://old.nabble.com/attachment/25726085/0/agg24_alvyraysmithOct0209.patch.gz&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25638191p25726085.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25723684</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-10-02T15:27:27Z</published>
	<updated>2009-10-02T15:27:27Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">The patch does not fix the 15/16 bit formats. The patch is based on &amp;nbsp;
&lt;br&gt;the theory in Alvy Ray Smith's paper:
&lt;br&gt;&lt;a href=&quot;http://www.ozonehouse.com/john/4_Comp.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ozonehouse.com/john/4_Comp.pdf&lt;/a&gt;&lt;br&gt;&lt;br&gt;It shouldn't be too hard to adapt this work to 5 or 6-bit color &amp;nbsp;
&lt;br&gt;components.
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Oct 2, 2009, at 4:21 AM, Udo Giacomozzi wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi John,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; does your patch also improve blending accuracy when using 15 or 16 bit
&lt;br&gt;&amp;gt; (&amp;quot;hicolor&amp;quot;) formats? We experience noticeable artifacts in those modes
&lt;br&gt;&amp;gt; in Gnash...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Udo
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Monday, August 17, 2009, 8:36:17 AM, you wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For my digital art program, Context Free, I have been using a &amp;nbsp;
&lt;br&gt;&amp;gt; modified form of the RGBA, RGB, and gray pixel formats. I do this &amp;nbsp;
&lt;br&gt;&amp;gt; because stock AGG is slightly inaccurate in computing and blending &amp;nbsp;
&lt;br&gt;&amp;gt; colors. &amp;nbsp;My changes to AGG are based on Alvy Ray Smith's paper on &amp;nbsp;
&lt;br&gt;&amp;gt; fast, accurate color blending (ftp://ftp.alvyray.com/Acrobat/4_Comp.pdf 
&lt;br&gt;&amp;gt; ).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The changes that I have made are:
&lt;br&gt;&amp;gt; * Utility methods have been added to classes rgb8, rgb16, gray8, and &amp;nbsp;
&lt;br&gt;&amp;gt; gray16 for doing fast, accurate fixed point multiplies and linear &amp;nbsp;
&lt;br&gt;&amp;gt; interpolations.
&lt;br&gt;&amp;gt; * The add, gradient, and premultiply methods of classes rgb8, rgb16, &amp;nbsp;
&lt;br&gt;&amp;gt; gray8, and gray16 use the new utility methods.
&lt;br&gt;&amp;gt; * multiplier_rgba&amp;lt;&amp;gt;::premultiply() method in agg_pixfmt_rgba.h uses &amp;nbsp;
&lt;br&gt;&amp;gt; the new utility methods.
&lt;br&gt;&amp;gt; * All of the blender classes in agg_pixfmt_gray/rbg/rgba.h use the &amp;nbsp;
&lt;br&gt;&amp;gt; new utility methods.
&lt;br&gt;&amp;gt; * The interface between these blender classes and the pixfmt classes &amp;nbsp;
&lt;br&gt;&amp;gt; has been changed slightly. Currently the pixfmt class multiplies the &amp;nbsp;
&lt;br&gt;&amp;gt; color alpha with pixel coverage factor before calling the blender &amp;nbsp;
&lt;br&gt;&amp;gt; (even though both alpha and cover are passed to the blender). With &amp;nbsp;
&lt;br&gt;&amp;gt; this patch, this calculation is moved to the blender class blend_pix 
&lt;br&gt;&amp;gt; () methods.
&lt;br&gt;&amp;gt; * I added a utility method to class rect_base in agg_basics.h: &amp;nbsp;
&lt;br&gt;&amp;gt; overlaps()
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have been using most of these changes for over a year in Context &amp;nbsp;
&lt;br&gt;&amp;gt; Free and I am confident in their correctness. I don't use the non- 
&lt;br&gt;&amp;gt; premultiplied color blenders but I was able to tweak Context Free to &amp;nbsp;
&lt;br&gt;&amp;gt; use them and they appeared to function correctly.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The composition operation classes comp_op_rgba_x in &amp;nbsp;
&lt;br&gt;&amp;gt; agg_pixfmt_rgba.h and the pixfmt_custom_blend_rgba class that uses &amp;nbsp;
&lt;br&gt;&amp;gt; them have not been updated to use the new utility methods. The &amp;nbsp;
&lt;br&gt;&amp;gt; composition operators could stand to be implemented more accurately, &amp;nbsp;
&lt;br&gt;&amp;gt; but I don't have any test bench for validating changes.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The patch can be found at &lt;a href=&quot;http://www.ozonehouse.com/john/agg24_alvyraysmith.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ozonehouse.com/john/agg24_alvyraysmith.patch&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -- john
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&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 &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and &amp;nbsp;
&lt;br&gt;&amp;gt; stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt; 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; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25723684&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25723684&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25001714p25723684.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25723593</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-10-02T15:19:26Z</published>
	<updated>2009-10-02T15:19:26Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">Yes, that is a bug in my new gray16() constructor. I will send out a &amp;nbsp;
&lt;br&gt;new patch with that fixed and the old code removed.
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Oct 2, 2009, at 10:13 AM, klaas.holwerda wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Stephan Assmus wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi John,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On 2009-09-28 at 00:12:42 [+0200], John Horigan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25723593&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john@...&lt;/a&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Sorry for the delay in this patch. I thought that the new blenders &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; were
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; failing in the rgba16 formats. But it turned out that the error &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; was in my
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; test framework.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I've read through the patch and it looks very good! Thanks a lot &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; for this
&lt;br&gt;&amp;gt;&amp;gt; work. Only one place I am not sure about:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt; //--------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gray16(const rgba16&amp; c, unsigned a_) :
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v((value_type)((c.r*77 + c.g*150 + c.b*29) &amp;gt;&amp;gt; 16)),
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a((value_type)a_) {}
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I think the shift is wrong, since 77 + 150 + 29 = 256.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Has anybody else here already commited this patch?
&lt;br&gt;&amp;gt; I think not, can you do it?
&lt;br&gt;&amp;gt; Although i thinks legacy and incorrect blending code in AGG should be
&lt;br&gt;&amp;gt; removed. I agree with John on that and/or the husband.
&lt;br&gt;&amp;gt; It is bad to keep all old code around.
&lt;br&gt;&amp;gt; What do you think?
&lt;br&gt;&amp;gt;&amp;gt; I do not follow the AGG
&lt;br&gt;&amp;gt;&amp;gt; commits, is there a commit notification list I can sign up to?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; Not yet, and only the admin can do it.
&lt;br&gt;&amp;gt; I suggest our admin gives other devlopers &amp;nbsp;admin rights too.
&lt;br&gt;&amp;gt; Or at least make things happen more quickly. e.g. Vinnie is not on the
&lt;br&gt;&amp;gt; members list jet.
&lt;br&gt;&amp;gt; And this commit list should be in place.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Leonardo were are you??
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Klaas
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&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 &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and &amp;nbsp;
&lt;br&gt;&amp;gt; stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt; 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; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25723593&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25723593&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25638191p25723593.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25720289</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-10-02T10:13:00Z</published>
	<updated>2009-10-02T10:13:00Z</updated>
	<author>
		<name>klaas.holwerda-3</name>
	</author>
	<content type="html">Stephan Assmus wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi John,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On 2009-09-28 at 00:12:42 [+0200], John Horigan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25720289&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Sorry for the delay in this patch. I thought that the new blenders were 
&lt;br&gt;&amp;gt;&amp;gt; failing in the rgba16 formats. But it turned out that the error was in my 
&lt;br&gt;&amp;gt;&amp;gt; test framework.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I've read through the patch and it looks very good! Thanks a lot for this 
&lt;br&gt;&amp;gt; work. Only one place I am not sure about:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; //--------------------------------------------------------------------
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gray16(const rgba16&amp; c, unsigned a_) :
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v((value_type)((c.r*77 + c.g*150 + c.b*29) &amp;gt;&amp;gt; 16)),
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a((value_type)a_) {}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think the shift is wrong, since 77 + 150 + 29 = 256.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Has anybody else here already commited this patch? 
&lt;/div&gt;I think not, can you do it?
&lt;br&gt;Although i thinks legacy and incorrect blending code in AGG should be 
&lt;br&gt;removed. I agree with John on that and/or the husband.
&lt;br&gt;It is bad to keep all old code around.
&lt;br&gt;What do you think?
&lt;br&gt;&amp;gt; I do not follow the AGG 
&lt;br&gt;&amp;gt; commits, is there a commit notification list I can sign up to?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;Not yet, and only the admin can do it.
&lt;br&gt;I suggest our admin gives other devlopers &amp;nbsp;admin rights too.
&lt;br&gt;Or at least make things happen more quickly. e.g. Vinnie is not on the 
&lt;br&gt;members list jet.
&lt;br&gt;And this commit list should be in place.
&lt;br&gt;&lt;br&gt;Leonardo were are you??
&lt;br&gt;&lt;br&gt;regards,
&lt;br&gt;&lt;br&gt;Klaas
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25720289&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25638191p25720289.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25720295</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray</title>
	<published>2009-10-02T10:12:09Z</published>
	<updated>2009-10-02T10:12:09Z</updated>
	<author>
		<name>klaas.holwerda-3</name>
	</author>
	<content type="html">Vinnie wrote:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://agg.svn.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://agg.svn.sourceforge.net/&lt;/a&gt;&amp;nbsp;shows the last change at 6 weeks ago and there are no attachments on any items in the mailing list.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Where is this patch?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;It was attached. So somehow it is removed in your case. Ask John to sent 
&lt;br&gt;it to you private i think.
&lt;br&gt;&lt;br&gt;Klaas
&lt;br&gt;&lt;br&gt;&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25720295&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-tp25714209p25720295.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25714209</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray</title>
	<published>2009-10-02T04:22:51Z</published>
	<updated>2009-10-02T04:22:51Z</updated>
	<author>
		<name>Vinnie-4</name>
	</author>
	<content type="html">&amp;gt; From: John Horigan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25714209&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;These changes sound very exciting and I would love to try them and provide feedback; However, I am not sure precisely how to obtain the patch. &lt;a href=&quot;http://agg.svn.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://agg.svn.sourceforge.net/&lt;/a&gt;&amp;nbsp;shows the last change at 6 weeks ago and there are no attachments on any items in the mailing list.
&lt;br&gt;&lt;br&gt;Where is this patch?
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;Vinnie
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25714209&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-tp25714209p25714209.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25714466</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-10-02T04:21:30Z</published>
	<updated>2009-10-02T04:21:30Z</updated>
	<author>
		<name>Udo Giacomozzi</name>
	</author>
	<content type="html">Hi John,
&lt;br&gt;&lt;br&gt;does your patch also improve blending accuracy when using 15 or 16 bit
&lt;br&gt;(&amp;quot;hicolor&amp;quot;) formats? We experience noticeable artifacts in those modes
&lt;br&gt;in Gnash... &amp;nbsp;
&lt;br&gt;&lt;br&gt;Udo
&lt;br&gt;&lt;br&gt;&lt;br&gt;Monday, August 17, 2009, 8:36:17 AM, you wrote:
&lt;br&gt;&lt;br&gt;&lt;br&gt;For my digital art program, Context Free, I have been using a modified form of the RGBA, RGB, and gray pixel formats. I do this because stock AGG is slightly inaccurate in computing and blending colors. &amp;nbsp;My changes to AGG are based on Alvy Ray Smith's paper on fast, accurate color blending (ftp://ftp.alvyray.com/Acrobat/4_Comp.pdf).
&lt;br&gt;&lt;br&gt;The changes that I have made are:
&lt;br&gt;* Utility methods have been added to classes rgb8, rgb16, gray8, and gray16 for doing fast, accurate fixed point multiplies and linear interpolations.
&lt;br&gt;* The add, gradient, and premultiply methods of classes rgb8, rgb16, gray8, and gray16 use the new utility methods.
&lt;br&gt;* multiplier_rgba&amp;lt;&amp;gt;::premultiply() method in agg_pixfmt_rgba.h uses the new utility methods.
&lt;br&gt;* All of the blender classes in agg_pixfmt_gray/rbg/rgba.h use the new utility methods.
&lt;br&gt;* The interface between these blender classes and the pixfmt classes has been changed slightly. Currently the pixfmt class multiplies the color alpha with pixel coverage factor before calling the blender (even though both alpha and cover are passed to the blender). With this patch, this calculation is moved to the blender class blend_pix() methods.
&lt;br&gt;* I added a utility method to class rect_base in agg_basics.h: overlaps()
&lt;br&gt;&lt;br&gt;I have been using most of these changes for over a year in Context Free and I am confident in their correctness. I don't use the non-premultiplied color blenders but I was able to tweak Context Free to use them and they appeared to function correctly.
&lt;br&gt;&lt;br&gt;The composition operation classes comp_op_rgba_x in agg_pixfmt_rgba.h and the pixfmt_custom_blend_rgba class that uses them have not been updated to use the new utility methods. The composition operators could stand to be implemented more accurately, but I don't have any test bench for validating changes.
&lt;br&gt;&lt;br&gt;The patch can be found at &lt;a href=&quot;http://www.ozonehouse.com/john/agg24_alvyraysmith.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ozonehouse.com/john/agg24_alvyraysmith.patch&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25714466&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25001714p25714466.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25713540</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-10-02T03:26:16Z</published>
	<updated>2009-10-02T03:26:16Z</updated>
	<author>
		<name>Stephan Assmus</name>
	</author>
	<content type="html">Hi John,
&lt;br&gt;&lt;br&gt;On 2009-09-28 at 00:12:42 [+0200], John Horigan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25713540&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Sorry for the delay in this patch. I thought that the new blenders were 
&lt;br&gt;&amp;gt; failing in the rgba16 formats. But it turned out that the error was in my 
&lt;br&gt;&amp;gt; test framework.
&lt;br&gt;&lt;br&gt;I've read through the patch and it looks very good! Thanks a lot for this 
&lt;br&gt;work. Only one place I am not sure about:
&lt;br&gt;&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;//--------------------------------------------------------------------
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gray16(const rgba16&amp; c, unsigned a_) :
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v((value_type)((c.r*77 + c.g*150 + c.b*29) &amp;gt;&amp;gt; 16)),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a((value_type)a_) {}
&lt;br&gt;&lt;br&gt;I think the shift is wrong, since 77 + 150 + 29 = 256.
&lt;br&gt;&lt;br&gt;Has anybody else here already commited this patch? I do not follow the AGG 
&lt;br&gt;commits, is there a commit notification list I can sign up to?
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;-Stephan
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25713540&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25638191p25713540.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25640220</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-09-27T20:34:44Z</published>
	<updated>2009-09-27T20:34:44Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;My husband is (a software architect) is critical of these parts to my patch. He says that it is a mistake to leave the incorrect blending code in AGG and that the old blenders and the legacy typedefs should be removed. Or if they are to remain that they should be renamed to make it clear that they are deprecated.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Vinnie, you are the advocate for keeping the old blender code. Can you describe the changes that you have made to the blenders in your private copy of AGG.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-- john&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;div&gt;&lt;div&gt;On Sep 27, 2009, at 3:12 PM, John Horigan wrote:&lt;/div&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;* New blender classes have been added to agg_pixfmt_gray/rbg/rgba.h using the new utility methods. They have the same names as the old blenders with '_ars' (for Alvy Ray Smith) appended. It just occurred to me that this naming convention may cause British AGG users to giggle. I am open to changes in the naming convention.&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;* All of the pixel format typedefs in agg_pixfmt_gray/rbg/rgba.h use the new '_ars' blenders. Typedefs using the old blenders remain, but have '_legacy' appended to them.&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25640220&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25638191p25640220.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25638191</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-09-27T15:12:42Z</published>
	<updated>2009-09-27T15:12:42Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;Sorry for the delay in this patch. I thought that the new blenders were failing in the rgba16 formats. But it turned out that the error was in my test framework.&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;The changes that I have made are:&lt;br&gt;* Utility methods have been added to classes rgb8, rgb16, gray8, and gray16 for doing fast, accurate fixed point multiplies and linear interpolations.&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;* The add, gradient, and premultiply methods of classes rgb8, rgb16, gray8, and gray16 use the new utility methods.&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;* A few new constructors have been added to agg_color_gray.h/agg_color_rgba.h: rgba8(const gray8&amp;amp; c), rgba16(const gray16&amp;amp; c), gray16(const rgba16&amp;amp; c), gray16(const rgba16&amp;amp; c, unsigned a_)&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;* A new file: agg_color_rgba.cpp was added to store the new rgba8/16 constructors. This was necessary to avoid a dependency loop. I used the same style of header comments that I found in other .cpp files.&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;* multiplier_rgba&amp;lt;&amp;gt;::premultiply() method in agg_pixfmt_rgba.h uses the new utility methods.&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;* New blender classes have been added to agg_pixfmt_gray/rbg/rgba.h using the new utility methods. They have the same names as the old blenders with '_ars' (for Alvy Ray Smith) appended. It just occurred to me that this naming convention may cause British AGG users to giggle. I am open to changes in the naming convention.&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;* All of the pixel format typedefs in agg_pixfmt_gray/rbg/rgba.h use the new '_ars' blenders. Typedefs using the old blenders remain, but have '_legacy' appended to them.&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;* The interface between the blender classes and the pixfmt classes has been changed slightly. Currently the pixfmt class multiplies the color alpha with pixel coverage factor before calling the blender (even though both alpha and cover are passed to the blender). With this patch, this calculation is moved to the blender class blend_pix() methods.&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;* I added a utility method to class rect_base in agg_basics.h: overlaps()&lt;br&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;/font&gt;&lt;/body&gt;&lt;/html&gt;&lt;br /&gt; &lt;br /&gt;&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;font class=&quot;Apple-style-span&quot; color=&quot;#144FAE&quot;&gt;&lt;br&gt;&lt;/font&gt;-- john horigan&lt;div&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;/body&gt;&lt;/html&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25638191&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;agg24_alvyraysmithSept2709.patch.gz&lt;/strong&gt; (9K) &lt;a href=&quot;http://old.nabble.com/attachment/25638191/0/agg24_alvyraysmithSept2709.patch.gz&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25638191p25638191.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25615750</id>
	<title>Re: Bug in conv_stroke with line cap</title>
	<published>2009-09-25T10:11:36Z</published>
	<updated>2009-09-25T10:11:36Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">Mathieu Monney wrote:
&lt;br&gt;&amp;gt; I'm facing a very strange problem with the conv_stroke converter while 
&lt;br&gt;&amp;gt; setting the line cap to round_cap.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Here is the situation:
&lt;br&gt;[...]
&lt;br&gt;&lt;br&gt;I don't think you gave enough information to reproduce the problem. If 
&lt;br&gt;you post the exact steps required then somebody may be able to help.
&lt;br&gt;&lt;br&gt;- Jim
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25615750&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bug-in-conv_stroke-with-line-cap-tp25575430p25615750.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25575430</id>
	<title>Bug in conv_stroke with line cap</title>
	<published>2009-09-23T04:32:30Z</published>
	<updated>2009-09-23T04:32:30Z</updated>
	<author>
		<name>Mathieu Monney-3</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body style=&quot;word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; &quot;&gt;Hi all,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I'm facing a very strange problem with the conv_stroke converter while setting the line cap to round_cap.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Here is the situation:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I'm trying to draw a polyline of a certain width which is completly offscreen so when the clipping occures, nothin must be drawn because the polyline is entirely located off the screen.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;The polyline is defined as follow:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;ps.&lt;span style=&quot;color: #265a5f&quot;&gt;move_to&lt;/span&gt;(-&lt;span style=&quot;color: #2f00dd&quot;&gt;530&lt;/span&gt;,-&lt;span style=&quot;color: #2f00dd&quot;&gt;1212&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;ps.&lt;span style=&quot;color: #265a5f&quot;&gt;line_to&lt;/span&gt;(-&lt;span style=&quot;color: #2f00dd&quot;&gt;526&lt;/span&gt;,-&lt;span style=&quot;color: #2f00dd&quot;&gt;1217&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;ps.&lt;span style=&quot;color: #265a5f&quot;&gt;line_to&lt;/span&gt;(-&lt;span style=&quot;color: #2f00dd&quot;&gt;519&lt;/span&gt;, -&lt;span style=&quot;color: #2f00dd&quot;&gt;1224&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;ps.&lt;span style=&quot;color: #265a5f&quot;&gt;line_to&lt;/span&gt;(-&lt;span style=&quot;color: #2f00dd&quot;&gt;510&lt;/span&gt;, -&lt;span style=&quot;color: #2f00dd&quot;&gt;1230&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;ps.&lt;span style=&quot;color: #265a5f&quot;&gt;line_to&lt;/span&gt;(-&lt;span style=&quot;color: #2f00dd&quot;&gt;500&lt;/span&gt;, -&lt;span style=&quot;color: #2f00dd&quot;&gt;1234&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;ps.&lt;span style=&quot;color: #265a5f&quot;&gt;line_to&lt;/span&gt;(-&lt;span style=&quot;color: #2f00dd&quot;&gt;353&lt;/span&gt;, -&lt;span style=&quot;color: #2f00dd&quot;&gt;1292&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;Helvetica&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;Then the following pipepline is used to render this polyline:&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;Helvetica&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;Helvetica&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: medium;&quot;&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;span style=&quot;color: #418289&quot;&gt;agg&lt;/span&gt;::conv_stroke&amp;lt;&lt;span style=&quot;color: #418289&quot;&gt;agg&lt;/span&gt;::&lt;span style=&quot;color: #418289&quot;&gt;path_storage&lt;/span&gt;&amp;gt; pg(ps);&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; color: rgb(65, 130, 137); &quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;/span&gt;agg&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;conv_transform&lt;span style=&quot;color: #000000&quot;&gt;&amp;lt;&lt;/span&gt;agg&lt;span style=&quot;color: #000000&quot;&gt;::conv_stroke&amp;lt;&lt;/span&gt;agg&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;path_storage&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt;, &lt;/span&gt;agg&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;trans_perspective&lt;span style=&quot;color: #000000&quot;&gt;&amp;gt; trans(pg,matrix);&lt;/span&gt;&lt;/div&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;br class=&quot;webkit-block-placeholder&quot;&gt;&lt;/p&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; &quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;pg.&lt;span style=&quot;color: #265a5f&quot;&gt;width&lt;/span&gt;(&lt;span style=&quot;color: #2f00dd&quot;&gt;5.0&lt;/span&gt;);&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Menlo; color: rgb(38, 90, 95); &quot;&gt;&lt;span style=&quot;color: #000000&quot;&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;pg.&lt;/span&gt;line_cap&lt;span style=&quot;color: #000000&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #418289&quot;&gt;agg&lt;/span&gt;&lt;span style=&quot;color: #000000&quot;&gt;::&lt;/span&gt;round_cap&lt;span style=&quot;color: #000000&quot;&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;Menlo&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 11px;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class=&quot;Apple-style-span&quot; face=&quot;Menlo&quot; size=&quot;3&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 11px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Helvetica; font-size: medium; &quot;&gt;Then the overall is rasterized using renderer_scanline_aa_solid. The perspective matrix has a translation and rotation on the x and z axis but I don't think it is the problem.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I attached the image I get with the above command. The white strip is the line which is drawn and the black color is the background. In theory everything should be black but because of some problem it's not.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Then if I remove the pg.line_cap() line (so there is no rounded cap anymore), then everything works fine (i.e. nothing is displayed).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Does anybody know why or have some pointers about that?&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Thanks a lot!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Best regards,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Mathieu Monney&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img id=&quot;8d411162-bc06-4b2d-8deb-7500f2d36fe7&quot; height=&quot;455&quot; width=&quot;315&quot; apple-width=&quot;yes&quot; apple-height=&quot;yes&quot; src=&quot;http://old.nabble.com/attachment/25575430/0/bad_stroke.jpg&quot;&gt;&lt;/div&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25575430&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Bug-in-conv_stroke-with-line-cap-tp25575430p25575430.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25535506</id>
	<title>Re: AGG with Java</title>
	<published>2009-09-20T13:19:35Z</published>
	<updated>2009-09-20T13:19:35Z</updated>
	<author>
		<name>Bugzilla from linuxhippy@gmail.com</name>
	</author>
	<content type="html">Yes, its no problem using JNI.
&lt;br&gt;&lt;br&gt;You can directly access java-arrays using JNI, and therefor if you've
&lt;br&gt;allocated a java byte[], you can directly access it like some
&lt;br&gt;malloc'ed memory.
&lt;br&gt;&lt;br&gt;I would however recommend using Java2D on top of BufferedImages, which
&lt;br&gt;covers quite a lot of what agg does do, without the need to fight with
&lt;br&gt;native code (which can cause massive deployment headacke).
&lt;br&gt;&lt;br&gt;&lt;br&gt;- Clemens
&lt;br&gt;&lt;br&gt;&lt;br&gt;2009/8/10 Juan Pedro Pérez Alcántara &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25535506&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jp.alcantara@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello everybody,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm new to the list and my first question is (I hope) quiet simple: does
&lt;br&gt;&amp;gt; anybody has any experience working with AGG and Java? Moreover, it is
&lt;br&gt;&amp;gt; even possible to use AGG with this language? Obviously I prefer C, but
&lt;br&gt;&amp;gt; due to project constraints imposed by the costumer, Java is going to be
&lt;br&gt;&amp;gt; used.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks in advance and keep the good job,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Juan Pedro Pérez
&lt;br&gt;&amp;gt;
&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; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25535506&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25535506&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/AGG-with-Java-tp24901205p25535506.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25512524</id>
	<title>[Patch] Patch to add 3D rotation to perspective matrix</title>
	<published>2009-09-18T10:13:23Z</published>
	<updated>2009-09-18T10:13:23Z</updated>
	<author>
		<name>Mathieu Monney-3</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;&lt;br&gt;So after helping trying to find out what the perspective matrix terms &amp;nbsp;
&lt;br&gt;are, here is, as gift, a patch to add 3D rotation capabilities to the &amp;nbsp;
&lt;br&gt;trans_perspective class of the AGG 2.5 release. In order to make a &amp;nbsp;
&lt;br&gt;rotation of x radian along either the x,y or z axis you can now call &amp;nbsp;
&lt;br&gt;the .rotate(x,trans_perspective::xaxis) to apply the transformation to &amp;nbsp;
&lt;br&gt;the matrix. The matrix itself is returned and returned as reference as &amp;nbsp;
&lt;br&gt;other modifier functions.
&lt;br&gt;&lt;br&gt;I hope that will help some people.
&lt;br&gt;&lt;br&gt;Thanks again for your active help on this mailing list. It becomes &amp;nbsp;
&lt;br&gt;rarer to find such support on mailing list. Thanks guys!
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Mathieu Monney
&lt;br&gt;&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25512524&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;rotation_perspective_agg.patch&lt;/strong&gt; (1K) &lt;a href=&quot;http://old.nabble.com/attachment/25512524/0/rotation_perspective_agg.patch&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Patch--Patch-to-add-3D-rotation-to-perspective-matrix-tp25512524p25512524.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25492888</id>
	<title>Re: Perspective projected stroked path with variable width</title>
	<published>2009-09-17T07:44:38Z</published>
	<updated>2009-09-17T07:44:38Z</updated>
	<author>
		<name>Stephan Assmus</name>
	</author>
	<content type="html">Mathieu Monney schrieb:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Petr,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks for your complete response. It really helps.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; However I still have two questions:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - What do you mean by converting curves to lines ? In the input I have &amp;nbsp;
&lt;br&gt;&amp;gt; already points defining the segments of my lines. So it is already ok, &amp;nbsp;
&lt;br&gt;&amp;gt; isn't it ?
&lt;br&gt;&amp;gt; - Is there any performance speed up which can be made in order to draw &amp;nbsp;
&lt;br&gt;&amp;gt; the same lines under a different perspective. I mean I want to draw my &amp;nbsp;
&lt;br&gt;&amp;gt; lines using one perspective matrix and then later draw the same lines &amp;nbsp;
&lt;br&gt;&amp;gt; again with another perspective matrix. What kind of things should I be &amp;nbsp;
&lt;br&gt;&amp;gt; aware of in order AGG not to recompute all the vectors data again?
&lt;/div&gt;&lt;br&gt;The stroker works on the fly. It does not cache the computed coordinates 
&lt;br&gt;if I am not mistaken. If you needed to use a curve converter (doesn't 
&lt;br&gt;seem to be the case), it would also generate points on the fly. So you 
&lt;br&gt;cannot do anything, except record the output in another 
&lt;br&gt;agg::path_storage and use that as a cache. But once you use more 
&lt;br&gt;sophisticated fills, you will quickly notice that the vector 
&lt;br&gt;calculations are not usually any performance problem. That is my own 
&lt;br&gt;experience, though, it depends on the complexity of your vector data.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;-Stephan
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25492888&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Perspective-projected-stroked-path-with-variable-width-tp25474284p25492888.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25490482</id>
	<title>Re: Perspective projected stroked path with variable width</title>
	<published>2009-09-17T05:17:41Z</published>
	<updated>2009-09-17T05:17:41Z</updated>
	<author>
		<name>Mathieu Monney-3</name>
	</author>
	<content type="html">Hi Petr,
&lt;br&gt;&lt;br&gt;Thanks for your complete response. It really helps.
&lt;br&gt;&lt;br&gt;However I still have two questions:
&lt;br&gt;&lt;br&gt;- What do you mean by converting curves to lines ? In the input I have &amp;nbsp;
&lt;br&gt;already points defining the segments of my lines. So it is already ok, &amp;nbsp;
&lt;br&gt;isn't it ?
&lt;br&gt;- Is there any performance speed up which can be made in order to draw &amp;nbsp;
&lt;br&gt;the same lines under a different perspective. I mean I want to draw my &amp;nbsp;
&lt;br&gt;lines using one perspective matrix and then later draw the same lines &amp;nbsp;
&lt;br&gt;again with another perspective matrix. What kind of things should I be &amp;nbsp;
&lt;br&gt;aware of in order AGG not to recompute all the vectors data again?
&lt;br&gt;&lt;br&gt;Thanks a lot.
&lt;br&gt;&lt;br&gt;Best,
&lt;br&gt;&lt;br&gt;Mathieu
&lt;br&gt;&lt;br&gt;Le 17 sept. 2009 à 06:36, Petr Kobalíček a écrit :
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Mathieu,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think that you must first understand how rasterization in antigrain
&lt;br&gt;&amp;gt; works. The pipeline in antigrain is something like middleware between
&lt;br&gt;&amp;gt; your final image and your vector data. Antigrain rasterizer can only
&lt;br&gt;&amp;gt; rasterize polygons, so here the pipeline is to create set (or one) of
&lt;br&gt;&amp;gt; closed polygons from your vector data.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For example, you have some vector data:
&lt;br&gt;&amp;gt; 1. you need to convert curves to lines (curve pipeline)
&lt;br&gt;&amp;gt; 2. you need to stroke (stroke pipeline)
&lt;br&gt;&amp;gt; 3. you need to apply transform (here your perspective matrix is used -
&lt;br&gt;&amp;gt; transform pipeline)
&lt;br&gt;&amp;gt; 4. you are ready to rasterize
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; if you swap step 2 and 3 it's logical that stroke width will be
&lt;br&gt;&amp;gt; constant in are places. Antigrain gives you ability to swap various
&lt;br&gt;&amp;gt; steps in the pipeline.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; About perspective matrix:
&lt;br&gt;&amp;gt; - it's like affine matrix but contains another fields. It's sometimes
&lt;br&gt;&amp;gt; called as transform matrix. For detailed description look at
&lt;br&gt;&amp;gt; QTransform class in qt: &lt;a href=&quot;http://doc.trolltech.com/4.5/qtransform.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://doc.trolltech.com/4.5/qtransform.html&lt;/a&gt;&amp;nbsp;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards
&lt;br&gt;&amp;gt; - Petr
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2009/9/16 Mathieu Monney &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25490482&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mathieu.monney@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks for your answer.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Actually I didn't really how to set the perspective transformation.
&lt;br&gt;&amp;gt;&amp;gt; What does the matrix terms mean? In order to set up my perspective
&lt;br&gt;&amp;gt;&amp;gt; matrix to test, I used the image_perspective demo and set up the quad
&lt;br&gt;&amp;gt;&amp;gt; of the image in order to have the perspective I want. Then I used the
&lt;br&gt;&amp;gt;&amp;gt; produced matrix to put it in my program. Dirty but I thought it &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; should
&lt;br&gt;&amp;gt;&amp;gt; work :-).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; So can you explain a little more what the perspective matrix means? I
&lt;br&gt;&amp;gt;&amp;gt; should have the sufficient knowledge to understand the affine matrix
&lt;br&gt;&amp;gt;&amp;gt; but this perspective matrix sounds awkward for me. Is there any
&lt;br&gt;&amp;gt;&amp;gt; documentation somewhere about that?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Actually I just found out that I mixed up my pipeline and I applied
&lt;br&gt;&amp;gt;&amp;gt; the perspective transformation directly to the path and then stroke
&lt;br&gt;&amp;gt;&amp;gt; it. So I reverse that and now it works :-). However I still don't &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; know
&lt;br&gt;&amp;gt;&amp;gt; how to set up this perspective matrix :-).
&lt;br&gt;&amp;gt;&amp;gt; So I have the following pipeline: transform &amp;lt; stroke&amp;lt; stroke&amp;lt;path&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; ,
&lt;br&gt;&amp;gt;&amp;gt; perspective &amp;gt;. Is that optimal or is there any more optimal way to
&lt;br&gt;&amp;gt;&amp;gt; convert the thick lines to polygons?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks a lot.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Mathieu
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Le 16 sept. 2009 à 17:05, Stephan Aßmus a écrit :
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Mathieu Monney schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I'm pretty new to AGG and I'm trying to use to render lines with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; variable width in order to produce a &amp;quot;perspective effect&amp;quot; where the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; line width gets lower as it goes far away. What I have in the input
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; only vertices defining the line. So my goal would be to transform
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; these vertices into a polygon representing the contour of the &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; stroked
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; line with a variable width. I tried to use a pipeline like path -&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; conv_stroke -&amp;gt; conv_stroke (in order to get the border of stroke)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; However it doesn't give me a polygon on the output so applying a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; perspective transform to it will not change the stroke width
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; accordingly. What solution could I use?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hm, but when you apply a perspective transform to the last step of
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; your
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; pipeline, your entire shape should be transformed. I don't know what
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; you
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; mean by &amp;quot;it doesn't give me a polygon&amp;quot;. The stroke output is also a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; polygon in the sense of AGG, but the perspective transformation does
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; not
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; care about that. It simply transforms any coordinates. How do you
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; configure the perspective transformation? In any case, I can confirm
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; you
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; this is possible with AGG, we just need to figure out where you are
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; doing something wrong or where you have a misunderstanding. :-)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -Stephan
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer Conference in &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; SF, CA
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; your
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; stay
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; now&amp;#33;
&lt;br&gt;&amp;gt;&amp;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;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25490482&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; CA
&lt;br&gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; your
&lt;br&gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; and stay
&lt;br&gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; now&amp;#33;
&lt;br&gt;&amp;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;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25490482&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&amp;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 &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and &amp;nbsp;
&lt;br&gt;&amp;gt; stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt; 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; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25490482&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25490482&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Perspective-projected-stroked-path-with-variable-width-tp25474284p25490482.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25489698</id>
	<title>Re: Perspective projected stroked path with variable width</title>
	<published>2009-09-17T04:38:26Z</published>
	<updated>2009-09-17T04:38:26Z</updated>
	<author>
		<name>Stephan Assmus</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Mathieu Monney schrieb:
&lt;br&gt;&amp;gt; Actually I just found out that I mixed up my pipeline and I applied &amp;nbsp;
&lt;br&gt;&amp;gt; the perspective transformation directly to the path and then stroke &amp;nbsp;
&lt;br&gt;&amp;gt; it. So I reverse that and now it works :-). However I still don't know &amp;nbsp;
&lt;br&gt;&amp;gt; how to set up this perspective matrix :-).
&lt;br&gt;&amp;gt; So I have the following pipeline: transform &amp;lt; stroke&amp;lt; stroke&amp;lt;path&amp;gt; &amp;gt; , &amp;nbsp;
&lt;br&gt;&amp;gt; perspective &amp;gt;. Is that optimal or is there any more optimal way to &amp;nbsp;
&lt;br&gt;&amp;gt; convert the thick lines to polygons?
&lt;br&gt;&lt;br&gt;Good to know you figured it out. Sorry, but I cannot help explain the 
&lt;br&gt;perspective matrix, but this is probably a subject that you can google. 
&lt;br&gt;When I used the persepective transformation, I've always used the quad 
&lt;br&gt;to quad utility methods to produce the matrix I wanted.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;-Stephan
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25489698&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Perspective-projected-stroked-path-with-variable-width-tp25474284p25489698.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25485028</id>
	<title>Re: Perspective projected stroked path with variable width</title>
	<published>2009-09-16T21:36:19Z</published>
	<updated>2009-09-16T21:36:19Z</updated>
	<author>
		<name>Petr Kobalíček</name>
	</author>
	<content type="html">Hi Mathieu,
&lt;br&gt;&lt;br&gt;I think that you must first understand how rasterization in antigrain
&lt;br&gt;works. The pipeline in antigrain is something like middleware between
&lt;br&gt;your final image and your vector data. Antigrain rasterizer can only
&lt;br&gt;rasterize polygons, so here the pipeline is to create set (or one) of
&lt;br&gt;closed polygons from your vector data.
&lt;br&gt;&lt;br&gt;For example, you have some vector data:
&lt;br&gt;1. you need to convert curves to lines (curve pipeline)
&lt;br&gt;2. you need to stroke (stroke pipeline)
&lt;br&gt;3. you need to apply transform (here your perspective matrix is used -
&lt;br&gt;transform pipeline)
&lt;br&gt;4. you are ready to rasterize
&lt;br&gt;&lt;br&gt;if you swap step 2 and 3 it's logical that stroke width will be
&lt;br&gt;constant in are places. Antigrain gives you ability to swap various
&lt;br&gt;steps in the pipeline.
&lt;br&gt;&lt;br&gt;About perspective matrix:
&lt;br&gt;- it's like affine matrix but contains another fields. It's sometimes
&lt;br&gt;called as transform matrix. For detailed description look at
&lt;br&gt;QTransform class in qt: &lt;a href=&quot;http://doc.trolltech.com/4.5/qtransform.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://doc.trolltech.com/4.5/qtransform.html&lt;/a&gt;&amp;nbsp;.
&lt;br&gt;&lt;br&gt;Regards
&lt;br&gt;- Petr
&lt;br&gt;&lt;br&gt;2009/9/16 Mathieu Monney &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25485028&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mathieu.monney@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for your answer.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Actually I didn't really how to set the perspective transformation.
&lt;br&gt;&amp;gt; What does the matrix terms mean? In order to set up my perspective
&lt;br&gt;&amp;gt; matrix to test, I used the image_perspective demo and set up the quad
&lt;br&gt;&amp;gt; of the image in order to have the perspective I want. Then I used the
&lt;br&gt;&amp;gt; produced matrix to put it in my program. Dirty but I thought it should
&lt;br&gt;&amp;gt; work :-).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; So can you explain a little more what the perspective matrix means? I
&lt;br&gt;&amp;gt; should have the sufficient knowledge to understand the affine matrix
&lt;br&gt;&amp;gt; but this perspective matrix sounds awkward for me. Is there any
&lt;br&gt;&amp;gt; documentation somewhere about that?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Actually I just found out that I mixed up my pipeline and I applied
&lt;br&gt;&amp;gt; the perspective transformation directly to the path and then stroke
&lt;br&gt;&amp;gt; it. So I reverse that and now it works :-). However I still don't know
&lt;br&gt;&amp;gt; how to set up this perspective matrix :-).
&lt;br&gt;&amp;gt; So I have the following pipeline: transform &amp;lt; stroke&amp;lt; stroke&amp;lt;path&amp;gt; &amp;gt; ,
&lt;br&gt;&amp;gt; perspective &amp;gt;. Is that optimal or is there any more optimal way to
&lt;br&gt;&amp;gt; convert the thick lines to polygons?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks a lot.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Mathieu
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Le 16 sept. 2009 à 17:05, Stephan Aßmus a écrit :
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Mathieu Monney schrieb:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I'm pretty new to AGG and I'm trying to use to render lines with
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; variable width in order to produce a &amp;quot;perspective effect&amp;quot; where the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; line width gets lower as it goes far away. What I have in the input
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; only vertices defining the line. So my goal would be to transform
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; these vertices into a polygon representing the contour of the stroked
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; line with a variable width. I tried to use a pipeline like path -&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; conv_stroke -&amp;gt; conv_stroke (in order to get the border of stroke)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; However it doesn't give me a polygon on the output so applying a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; perspective transform to it will not change the stroke width
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; accordingly. What solution could I use?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hm, but when you apply a perspective transform to the last step of
&lt;br&gt;&amp;gt;&amp;gt; your
&lt;br&gt;&amp;gt;&amp;gt; pipeline, your entire shape should be transformed. I don't know what
&lt;br&gt;&amp;gt;&amp;gt; you
&lt;br&gt;&amp;gt;&amp;gt; mean by &amp;quot;it doesn't give me a polygon&amp;quot;. The stroke output is also a
&lt;br&gt;&amp;gt;&amp;gt; polygon in the sense of AGG, but the perspective transformation does
&lt;br&gt;&amp;gt;&amp;gt; not
&lt;br&gt;&amp;gt;&amp;gt; care about that. It simply transforms any coordinates. How do you
&lt;br&gt;&amp;gt;&amp;gt; configure the perspective transformation? In any case, I can confirm
&lt;br&gt;&amp;gt;&amp;gt; you
&lt;br&gt;&amp;gt;&amp;gt; this is possible with AGG, we just need to figure out where you are
&lt;br&gt;&amp;gt;&amp;gt; doing something wrong or where you have a misunderstanding. :-)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt;&amp;gt; -Stephan
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart
&lt;br&gt;&amp;gt;&amp;gt; your
&lt;br&gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and
&lt;br&gt;&amp;gt;&amp;gt; stay
&lt;br&gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register
&lt;br&gt;&amp;gt;&amp;gt; now&amp;#33;
&lt;br&gt;&amp;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;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25485028&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&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; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25485028&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25485028&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Perspective-projected-stroked-path-with-variable-width-tp25474284p25485028.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25479695</id>
	<title>Re: Perspective projected stroked path with variable width</title>
	<published>2009-09-16T13:11:33Z</published>
	<updated>2009-09-16T13:11:33Z</updated>
	<author>
		<name>Mathieu Monney-3</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Thanks for your answer.
&lt;br&gt;&lt;br&gt;Actually I didn't really how to set the perspective transformation. &amp;nbsp;
&lt;br&gt;What does the matrix terms mean? In order to set up my perspective &amp;nbsp;
&lt;br&gt;matrix to test, I used the image_perspective demo and set up the quad &amp;nbsp;
&lt;br&gt;of the image in order to have the perspective I want. Then I used the &amp;nbsp;
&lt;br&gt;produced matrix to put it in my program. Dirty but I thought it should &amp;nbsp;
&lt;br&gt;work :-).
&lt;br&gt;&lt;br&gt;So can you explain a little more what the perspective matrix means? I &amp;nbsp;
&lt;br&gt;should have the sufficient knowledge to understand the affine matrix &amp;nbsp;
&lt;br&gt;but this perspective matrix sounds awkward for me. Is there any &amp;nbsp;
&lt;br&gt;documentation somewhere about that?
&lt;br&gt;&lt;br&gt;Actually I just found out that I mixed up my pipeline and I applied &amp;nbsp;
&lt;br&gt;the perspective transformation directly to the path and then stroke &amp;nbsp;
&lt;br&gt;it. So I reverse that and now it works :-). However I still don't know &amp;nbsp;
&lt;br&gt;how to set up this perspective matrix :-).
&lt;br&gt;So I have the following pipeline: transform &amp;lt; stroke&amp;lt; stroke&amp;lt;path&amp;gt; &amp;gt; , &amp;nbsp;
&lt;br&gt;perspective &amp;gt;. Is that optimal or is there any more optimal way to &amp;nbsp;
&lt;br&gt;convert the thick lines to polygons?
&lt;br&gt;&lt;br&gt;Thanks a lot.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;&lt;br&gt;Mathieu
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Le 16 sept. 2009 à 17:05, Stephan Aßmus a écrit :
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Mathieu Monney schrieb:
&lt;br&gt;&amp;gt;&amp;gt; I'm pretty new to AGG and I'm trying to use to render lines with
&lt;br&gt;&amp;gt;&amp;gt; variable width in order to produce a &amp;quot;perspective effect&amp;quot; where the
&lt;br&gt;&amp;gt;&amp;gt; line width gets lower as it goes far away. What I have in the input &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; is
&lt;br&gt;&amp;gt;&amp;gt; only vertices defining the line. So my goal would be to transform
&lt;br&gt;&amp;gt;&amp;gt; these vertices into a polygon representing the contour of the stroked
&lt;br&gt;&amp;gt;&amp;gt; line with a variable width. I tried to use a pipeline like path -&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; conv_stroke -&amp;gt; conv_stroke (in order to get the border of stroke)
&lt;br&gt;&amp;gt;&amp;gt; However it doesn't give me a polygon on the output so applying a
&lt;br&gt;&amp;gt;&amp;gt; perspective transform to it will not change the stroke width
&lt;br&gt;&amp;gt;&amp;gt; accordingly. What solution could I use?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hm, but when you apply a perspective transform to the last step of &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; pipeline, your entire shape should be transformed. I don't know what &amp;nbsp;
&lt;br&gt;&amp;gt; you
&lt;br&gt;&amp;gt; mean by &amp;quot;it doesn't give me a polygon&amp;quot;. The stroke output is also a
&lt;br&gt;&amp;gt; polygon in the sense of AGG, but the perspective transformation does &amp;nbsp;
&lt;br&gt;&amp;gt; not
&lt;br&gt;&amp;gt; care about that. It simply transforms any coordinates. How do you
&lt;br&gt;&amp;gt; configure the perspective transformation? In any case, I can confirm &amp;nbsp;
&lt;br&gt;&amp;gt; you
&lt;br&gt;&amp;gt; this is possible with AGG, we just need to figure out where you are
&lt;br&gt;&amp;gt; doing something wrong or where you have a misunderstanding. :-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt; -Stephan
&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 &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and &amp;nbsp;
&lt;br&gt;&amp;gt; stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt; 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; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25479695&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25479695&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Perspective-projected-stroked-path-with-variable-width-tp25474284p25479695.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25474808</id>
	<title>Re: SVN (SourceForge ID)</title>
	<published>2009-09-16T08:25:08Z</published>
	<updated>2009-09-16T08:25:08Z</updated>
	<author>
		<name>Vinnie-4</name>
	</author>
	<content type="html">&amp;gt; Date: Wed, 26 Aug 2009 23:35:01 +0200
&lt;br&gt;&amp;gt; From: &amp;quot;klaas.holwerda&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25474808&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ngi@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Please post your Source Forge ID to grant you developer
&lt;br&gt;&amp;gt; access
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is there a problem doing that?
&lt;br&gt;&lt;br&gt;Apparently yes because it was over 3 weeks since I sent the message, and I have not received any Vector-agg digests. I just now read your reply. Sorry for the inconvenience!
&lt;br&gt;&lt;br&gt;My SourceForge ID is thevinn
&lt;br&gt;&lt;br&gt;Thank you for your consideration.
&lt;br&gt;&lt;br&gt;Sincerely,
&lt;br&gt;&lt;br&gt;Vinnie
&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;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25474808&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-SVN-%28SourceForge-ID%29-tp25474808p25474808.html" />
</entry>

</feed>
