<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GameProgrammerArt</title>
	<atom:link href="http://www.gameprogrammerart.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gameprogrammerart.com</link>
	<description>Comics from the mind of James Folk</description>
	<lastBuildDate>Thu, 03 Dec 2009 04:07:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Convert Color Spaces (HSL-&gt;RGB)</title>
		<link>http://www.gameprogrammerart.com/2009/12/03/convert-color-spaces-hsl-rgb/</link>
		<comments>http://www.gameprogrammerart.com/2009/12/03/convert-color-spaces-hsl-rgb/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 04:03:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog_category]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[color space]]></category>
		<category><![CDATA[Conversion]]></category>
		<category><![CDATA[Convert]]></category>
		<category><![CDATA[convert hsl to rgb]]></category>
		<category><![CDATA[HSL]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[RGB]]></category>

		<guid isPermaLink="false">http://www.gameprogrammerart.com/?p=376</guid>
		<description><![CDATA[Math

























C/C++

pixeltype HSLtoRGB(pixeltype palette_color){
	//0.0f ]]></description>
			<content:encoded><![CDATA[<p><em>Math</em></p>
<pre>
<img src='http://s.wordpress.com/latex.php?latex=%7Bh%7D%5Cin%5B0%2C360%29%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{h}\in[0,360) ' title='{h}\in[0,360) ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%7Bs%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{s}\in[0,1] ' title='{s}\in[0,1] ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%7Bl%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{l}\in[0,1] ' title='{l}\in[0,1] ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%20%7Bq%7D%3D%20%5Cbegin%7Bcases%7D%20%20%20%20%20%7B%7Bl%7D%5Ctimes%28%7B1%7D%2B%7Bs%7D%29%7D%2C%20%26%20if%5Cquad%7Bl%7D%3C%5Cfrac%7B1%7D%7B2%7D%20%5C%5C%20%20%20%20%20%7B%7Bl%7D%2B%7Bs%7D-%28%7Bl%7D%5Ctimes%7Bs%7D%29%7D%2C%20%26%20if%5Cquad%7Bl%7D%5Cge%5Cfrac%7B1%7D%7B2%7D%20%5Cend%7Bcases%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' {q}= \begin{cases}     {{l}\times({1}+{s})}, &amp; if\quad{l}&lt;\frac{1}{2} \\     {{l}+{s}-({l}\times{s})}, &amp; if\quad{l}\ge\frac{1}{2} \end{cases} ' title=' {q}= \begin{cases}     {{l}\times({1}+{s})}, &amp; if\quad{l}&lt;\frac{1}{2} \\     {{l}+{s}-({l}\times{s})}, &amp; if\quad{l}\ge\frac{1}{2} \end{cases} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%7B2%7D%5Ctimes%7Bl%7D-%7Bq%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{2}\times{l}-{q} ' title='{2}\times{l}-{q} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=h_k%3D%5Cfrac%7Bh%7D%7B360%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='h_k=\frac{h}{360} ' title='h_k=\frac{h}{360} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=t_R%3D%28h_k%2B%5Cfrac%7B1%7D%7B3%7D%29%5Cmod%7B1%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='t_R=(h_k+\frac{1}{3})\mod{1} ' title='t_R=(h_k+\frac{1}{3})\mod{1} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=t_G%3D%28h_k%29%5Cmod%7B1%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='t_G=(h_k)\mod{1} ' title='t_G=(h_k)\mod{1} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=t_B%3D%28h_k-%5Cfrac%7B1%7D%7B3%7D%29%5Cmod%7B1%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='t_B=(h_k-\frac{1}{3})\mod{1} ' title='t_B=(h_k-\frac{1}{3})\mod{1} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=foreach%5Cquad%7Bt_C%7D%5Cin%5C%7B%7Bt_R%7D%2C%20%7Bt_G%7D%2C%20%7Bt_B%7D%5C%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='foreach\quad{t_C}\in\{{t_R}, {t_G}, {t_B}\} ' title='foreach\quad{t_C}\in\{{t_R}, {t_G}, {t_B}\} ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=%20%7Bt_C%7D%3D%20%5Cbegin%7Bcases%7D%20%20%20%20%20%7B%7Bp%7D%2B%28%28%7Bq%7D-%7Bp%7D%29%5Ctimes%7B6%7D%5Ctimes%7Bt_C%7D%7D%2C%20%26%20if%5Cquad%7Bt_C%20%3C%5Cfrac%7B1%7D%7B6%7D%7D%20%5C%5C%20%20%20%20%20%7Bq%7D%2C%20%26%20if%5Cquad%7B%5Cfrac%7B1%7D%7B6%7D%5Cle%7Bt_C%7D%3C%5Cfrac%7B1%7D%7B2%7D%7D%20%5C%5C%20%20%20%20%20%7B%7Bp%7D%2B%28%28%7Bq%7D-%7Bp%7D%29%5Ctimes%7B6%7D%5Ctimes%7B%5Cfrac%7B2%7D%7B3%7D-t_C%7D%7D%2C%20%26%20if%5Cquad%7B%5Cfrac%7B1%7D%7B2%7D%5Cle%7Bt_C%7D%3C%5Cfrac%7B2%7D%7B3%7D%7D%20%5C%5C%20%20%20%20%20%7Bp%7D%2C%20%26%20otherwise%20%5Cend%7Bcases%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' {t_C}= \begin{cases}     {{p}+(({q}-{p})\times{6}\times{t_C}}, &amp; if\quad{t_C &lt;\frac{1}{6}} \\     {q}, &amp; if\quad{\frac{1}{6}\le{t_C}&lt;\frac{1}{2}} \\     {{p}+(({q}-{p})\times{6}\times{\frac{2}{3}-t_C}}, &amp; if\quad{\frac{1}{2}\le{t_C}&lt;\frac{2}{3}} \\     {p}, &amp; otherwise \end{cases} ' title=' {t_C}= \begin{cases}     {{p}+(({q}-{p})\times{6}\times{t_C}}, &amp; if\quad{t_C &lt;\frac{1}{6}} \\     {q}, &amp; if\quad{\frac{1}{6}\le{t_C}&lt;\frac{1}{2}} \\     {{p}+(({q}-{p})\times{6}\times{\frac{2}{3}-t_C}}, &amp; if\quad{\frac{1}{2}\le{t_C}&lt;\frac{2}{3}} \\     {p}, &amp; otherwise \end{cases} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%7B%7Bt_R%7D%5Cequiv%7Br%7D%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{{t_R}\equiv{r}}\in[0,1] ' title='{{t_R}\equiv{r}}\in[0,1] ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%7B%7Bt_G%7D%5Cequiv%7Bg%7D%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{{t_G}\equiv{g}}\in[0,1] ' title='{{t_G}\equiv{g}}\in[0,1] ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%7B%7Bt_B%7D%5Cequiv%7Bb%7D%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{{t_B}\equiv{b}}\in[0,1] ' title='{{t_B}\equiv{b}}\in[0,1] ' class='latex' />
</pre>
<p><em>C/C++</em></p>
<pre class="brush: cpp; wrap-lines: false;">
pixeltype HSLtoRGB(pixeltype palette_color){
	//0.0f <= h <  360.0f
	//0.0f <= s <= 1.0f
	//0.0f <= l <= 1.0f
	double h = (double)(HUE_OF(palette_color));
    double s = (double)(SATURATION_OF(palette_color));
    double l = (double)(LIGHTNESS_OF(palette_color));
	double q, p, h_k;
	double rgb[3];

	if(l < 0.5f){
		q = l * (1 + s);
	}else{
		q = l + s - (l * s);
	}
	p = 2 * l - q;
	h_k = h / 360.0f;
	rgb[0] = h_k + (1 / 3);
	rgb[1] = h_k;
	rgb[2] = h_k - (1 / 3);
	for(size_t i = 0; i < 3; i++){
		if(rgb[i] < (1 / 6)){
			rgb[i] = p + ((q - p) * 6.0f * rgb[i]);
		}else if(rgb[i] >= (1 / 6) &#038;&#038; rgb[i] < (1 / 2)){
			rgb[i] = q;
		}else if(rgb[i] >= (1 / 2) &#038;&#038; rgb[i] < (2 / 3)){
			rgb[i] = p + ((q - p) * 6.0f * ((2 / 3) - rgb[i]));
		}else{
			rgb[i] = p;
		}
	}
	//0.0f <= rgb[0] <= 1.0f
	//0.0f <= rgb[1] <= 1.0f
	//0.0f <= rgb[2] <= 1.0f
	return RGB_OF(rgb[0], rgb[1], rgb[2]);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.gameprogrammerart.com/2009/12/03/convert-color-spaces-hsl-rgb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert Color Spaces (RGB-&gt;HSL)</title>
		<link>http://www.gameprogrammerart.com/2009/11/29/convert-color-spaces-rgb-hsl/</link>
		<comments>http://www.gameprogrammerart.com/2009/11/29/convert-color-spaces-rgb-hsl/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 03:27:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog_category]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[color space]]></category>
		<category><![CDATA[Conversion]]></category>
		<category><![CDATA[Convert]]></category>
		<category><![CDATA[convert rgb to hsl]]></category>
		<category><![CDATA[HSL]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[RGB]]></category>

		<guid isPermaLink="false">http://www.gameprogrammerart.com/?p=345</guid>
		<description><![CDATA[Math









C/C++

pixeltype RGBtoHSV(pixeltype palette_color){
	//0.0f ]]></description>
			<content:encoded><![CDATA[<p><em>Math</em></p>
<pre>
<img src='http://s.wordpress.com/latex.php?latex=%7Br%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{r}\in[0,1] ' title='{r}\in[0,1] ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=%7Bg%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{g}\in[0,1] ' title='{g}\in[0,1] ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=%7Bb%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{b}\in[0,1] ' title='{b}\in[0,1] ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=max%3D%5Cmax%28r%2Cg%2Cb%29%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='max=\max(r,g,b) ' title='max=\max(r,g,b) ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=min%3D%5Cmin%28r%2Cg%2Cb%29%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='min=\min(r,g,b) ' title='min=\min(r,g,b) ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%20h%20%3D%20%5Cbegin%7Bcases%7D%20%20%20%20%20%7B0%7D%2C%20%26%20if%20%7Bmax%7D%3D%7Bmin%7D%20%5C%5C%20%20%20%20%20%28%7B60%7D%5Ctimes%5Cfrac%7B%7Bg%7D-%7Bb%7D%7D%7B%7Bmax%7D-%7Bmin%7D%7D%2B%7B360%7D%29%5Cmod%7B360%7D%2C%20%26%20if%20%7Bmax%7D%3D%7Br%7D%20%5C%5C%20%20%20%20%20%28%7B60%7D%5Ctimes%5Cfrac%7B%7Bb%7D-%7Br%7D%7D%7B%7Bmax%7D-%7Bmin%7D%7D%2B%7B120%7D%29%2C%20%26%20if%20%7Bmax%7D%3D%7Bg%7D%20%5C%5C%20%20%20%20%20%28%7B60%7D%5Ctimes%5Cfrac%7B%7Br%7D-%7Bg%7D%7D%7B%7Bmax%7D-%7Bmin%7D%7D%2B%7B240%7D%29%2C%20%26%20if%20%7Bmax%7D-%7Bb%7D%20%5Cend%7Bcases%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' h = \begin{cases}     {0}, &amp; if {max}={min} \\     ({60}\times\frac{{g}-{b}}{{max}-{min}}+{360})\mod{360}, &amp; if {max}={r} \\     ({60}\times\frac{{b}-{r}}{{max}-{min}}+{120}), &amp; if {max}={g} \\     ({60}\times\frac{{r}-{g}}{{max}-{min}}+{240}), &amp; if {max}-{b} \end{cases} ' title=' h = \begin{cases}     {0}, &amp; if {max}={min} \\     ({60}\times\frac{{g}-{b}}{{max}-{min}}+{360})\mod{360}, &amp; if {max}={r} \\     ({60}\times\frac{{b}-{r}}{{max}-{min}}+{120}), &amp; if {max}={g} \\     ({60}\times\frac{{r}-{g}}{{max}-{min}}+{240}), &amp; if {max}-{b} \end{cases} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%5Cfrac%7B1%7D%7B2%7D%28%7B%7Bmax%7D%2B%7Bmin%7D%7D%29%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\frac{1}{2}({{max}+{min}}) ' title='\frac{1}{2}({{max}+{min}}) ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%20s%20%3D%20%5Cbegin%7Bcases%7D%20%20%20%20%200%2C%20%26%20if%20%7Bmax%7D%3D%7Bmin%7D%20%5C%5C%20%20%20%20%20%5Cfrac%7B%7Bmax%7D-%7Bmin%7D%7D%7B2l%7D%2C%20%26%20if%20l%5Cle%7B%5Cfrac%7B1%7D%7B2%7D%7D%20%5C%5C%20%20%20%20%20%5Cfrac%7B%7Bmax%7D-%7Bmin%7D%7D%7B%7B2%7D-2l%7D%2C%20%26%20if%20l%3E%7B%5Cfrac%7B1%7D%7B2%7D%7D%20%5Cend%7Bcases%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' s = \begin{cases}     0, &amp; if {max}={min} \\     \frac{{max}-{min}}{2l}, &amp; if l\le{\frac{1}{2}} \\     \frac{{max}-{min}}{{2}-2l}, &amp; if l&gt;{\frac{1}{2}} \end{cases} ' title=' s = \begin{cases}     0, &amp; if {max}={min} \\     \frac{{max}-{min}}{2l}, &amp; if l\le{\frac{1}{2}} \\     \frac{{max}-{min}}{{2}-2l}, &amp; if l&gt;{\frac{1}{2}} \end{cases} ' class='latex' />
</pre>
<p><em>C/C++</em></p>
<pre class="brush: cpp; wrap-lines: false;">
pixeltype RGBtoHSV(pixeltype palette_color){
	//0.0f <= r <= 1.0f
	//0.0f <= g <= 1.0f
	//0.0f <= b <= 1.0f
    double r = (double)(RED_OF(palette_color));
    double g = (double)(GREEN_OF(palette_color));
    double b = (double)(BLUE_OF(palette_color));
    double max, min, h, s, l;

	if(r > g){
		max = r;
	}else{
		max = g;
	}
	if(b > max){
		max = b;
	}

	if(r < g){
		min = r;
	}else{
		min = g;
	}
	if(b < min){
		min = b;
	}

    if(max == min){
        h = 0.0f;
    }else if(max == r){
        h = ((60.0f * ((g - b) / (max - min)) + 360) % 360.0f);
    }else if(max == g){
        h = ((60.0f * ((b - r) / (max - min)) + 120));
    }else if(max == b){
        h = ((60.0f * ((r - g) / (max - min)) + 240));
    }

	l = (max + min) / 2.0f;

	if(max == min){
		s = 0;
	}else if(l <= 0.5f){
		s = ((max - min) / (2 * l));
	}else if(l > 0.5f){
		s = ((max - min) / (2 - (2 * l)));
	}

	//0.0f <= h <= 360.0f
	//0.0f <= s <= 1.0f
	//0.0f <= l <= 1.0f
    return HSL_OF(h, s, l);
}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.gameprogrammerart.com/2009/11/29/convert-color-spaces-rgb-hsl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert Color Spaces (RGB-&gt;HSV)</title>
		<link>http://www.gameprogrammerart.com/2009/11/23/convert-color-spaces-rgb-hsv/</link>
		<comments>http://www.gameprogrammerart.com/2009/11/23/convert-color-spaces-rgb-hsv/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 01:46:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog_category]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[color space]]></category>
		<category><![CDATA[Conversion]]></category>
		<category><![CDATA[Convert]]></category>
		<category><![CDATA[convert rgb to hsv]]></category>
		<category><![CDATA[hsv]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[RGB]]></category>

		<guid isPermaLink="false">http://www.gameprogrammerart.com/?p=307</guid>
		<description><![CDATA[Math









C/C++


pixeltype RGBtoHSV(pixeltype palette_color){
	//0.0f ]]></description>
			<content:encoded><![CDATA[<p><em>Math</em></p>
<pre>
<img src='http://s.wordpress.com/latex.php?latex=%7Br%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{r}\in[0,1] ' title='{r}\in[0,1] ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=%7Bg%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{g}\in[0,1] ' title='{g}\in[0,1] ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=%7Bb%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{b}\in[0,1] ' title='{b}\in[0,1] ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=max%3D%5Cmax%28r%2Cg%2Cb%29%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='max=\max(r,g,b) ' title='max=\max(r,g,b) ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=min%3D%5Cmin%28r%2Cg%2Cb%29%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='min=\min(r,g,b) ' title='min=\min(r,g,b) ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%20h%20%3D%20%5Cbegin%7Bcases%7D%20%20%20%20%20%7B0%7D%2C%20%26%20if%20%7Bmax%7D%3D%7Bmin%7D%20%5C%5C%20%20%20%20%20%28%7B60%7D%5Ctimes%5Cfrac%7B%7Bg%7D-%7Bb%7D%7D%7B%7Bmax%7D-%7Bmin%7D%7D%2B%7B360%7D%29%5Cmod%7B360%7D%2C%20%26%20if%20%7Bmax%7D%3D%7Br%7D%20%5C%5C%20%20%20%20%20%28%7B60%7D%5Ctimes%5Cfrac%7B%7Bb%7D-%7Br%7D%7D%7B%7Bmax%7D-%7Bmin%7D%7D%2B%7B120%7D%29%2C%20%26%20if%20%7Bmax%7D%3D%7Bg%7D%20%5C%5C%20%20%20%20%20%28%7B60%7D%5Ctimes%5Cfrac%7B%7Br%7D-%7Bg%7D%7D%7B%7Bmax%7D-%7Bmin%7D%7D%2B%7B240%7D%29%2C%20%26%20if%20%7Bmax%7D-%7Bb%7D%20%5Cend%7Bcases%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' h = \begin{cases}     {0}, &amp; if {max}={min} \\     ({60}\times\frac{{g}-{b}}{{max}-{min}}+{360})\mod{360}, &amp; if {max}={r} \\     ({60}\times\frac{{b}-{r}}{{max}-{min}}+{120}), &amp; if {max}={g} \\     ({60}\times\frac{{r}-{g}}{{max}-{min}}+{240}), &amp; if {max}-{b} \end{cases} ' title=' h = \begin{cases}     {0}, &amp; if {max}={min} \\     ({60}\times\frac{{g}-{b}}{{max}-{min}}+{360})\mod{360}, &amp; if {max}={r} \\     ({60}\times\frac{{b}-{r}}{{max}-{min}}+{120}), &amp; if {max}={g} \\     ({60}\times\frac{{r}-{g}}{{max}-{min}}+{240}), &amp; if {max}-{b} \end{cases} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%20s%20%3D%20%5Cbegin%7Bcases%7D%20%20%20%20%200%2C%20%26%20if%20%7Bmax%7D%3D%7B0%7D%20%5C%5C%20%20%20%20%20%7B1%7D-%5Cfrac%7Bmin%7D%7Bmax%7D%2C%20%26%20otherwise%20%5Cend%7Bcases%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' s = \begin{cases}     0, &amp; if {max}={0} \\     {1}-\frac{min}{max}, &amp; otherwise \end{cases} ' title=' s = \begin{cases}     0, &amp; if {max}={0} \\     {1}-\frac{min}{max}, &amp; otherwise \end{cases} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=v%3Dmax%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='v=max ' title='v=max ' class='latex' />
</pre>
<p><em>C/C++</em></p>
<pre class="brush: cpp; wrap-lines: false;">

pixeltype RGBtoHSV(pixeltype palette_color){
	//0.0f <= r <= 1.0f
	//0.0f <= g <= 1.0f
	//0.0f <= b <= 1.0f
    double r = (double)(RED_OF(palette_color));
    double g = (double)(GREEN_OF(palette_color));
    double b = (double)(BLUE_OF(palette_color));
    double max, min, h, s, v;

	if(r > g){
		max = r;
	}else{
		max = g;
	}
	if(b > max){
		max = b;
	}

	if(r < g){
		min = r;
	}else{
		min = g;
	}
	if(b < min){
		min = b;
	}

    if(max == min){
        h = 0.0f;
    }else if(max == r){
        h = ((60.0f * ((g - b) / (max - min)) + 360) % 360.0f);
    }else if(max == g){
        h = ((60.0f * ((b - r) / (max - min)) + 120));
    }else if(max == b){
        h = ((60.0f * ((r - g) / (max - min)) + 240));
    }

    if(max == 0){
        s = 0.0f;
    }else{
        s = 1.0f - (min / max);
    }
    v = max;

	//0.0f <= h <= 360.0f
	//0.0f <= s <= 1.0f
	//0.0f <= v <= 1.0f
    return HSV_OF(h, s, v);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.gameprogrammerart.com/2009/11/23/convert-color-spaces-rgb-hsv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert Color Spaces (HSV-&gt;RGB)</title>
		<link>http://www.gameprogrammerart.com/2009/11/21/convert-color-spaces-hsv-rgb/</link>
		<comments>http://www.gameprogrammerart.com/2009/11/21/convert-color-spaces-hsv-rgb/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 04:39:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog_category]]></category>

		<guid isPermaLink="false">http://www.gameprogrammerart.com/?p=262</guid>
		<description><![CDATA[Math















C/C++

pixeltype HSVtoRGB(pixeltype palette_color){
    //0.0f ]]></description>
			<content:encoded><![CDATA[<p><em>Math</em></p>
<pre>
<img src='http://s.wordpress.com/latex.php?latex=%7Bh%7D%5Cin%5B0%2C360%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{h}\in[0,360] ' title='{h}\in[0,360] ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=%7Bs%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{s}\in[0,1] ' title='{s}\in[0,1] ' class='latex' />
<img src='http://s.wordpress.com/latex.php?latex=%7Bv%7D%5Cin%5B0%2C1%5D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='{v}\in[0,1] ' title='{v}\in[0,1] ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=h_i%20%3D%20%5Clfloor%5Cfrac%7Bh%7D%7B60%7D%5Crfloor%5Cmod%7B6%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='h_i = \lfloor\frac{h}{60}\rfloor\mod{6} ' title='h_i = \lfloor\frac{h}{60}\rfloor\mod{6} ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=f%20%3D%20%5Cfrac%7Bh%7D%7B60%7D-%5Clfloor%5Cfrac%7Bh%7D%7B60%7D%5Crfloor%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='f = \frac{h}{60}-\lfloor\frac{h}{60}\rfloor ' title='f = \frac{h}{60}-\lfloor\frac{h}{60}\rfloor ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=p%3Dv%5Ctimes%281-s%29%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='p=v\times(1-s) ' title='p=v\times(1-s) ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=q%3Dv%5Ctimes%281-f%5Ctimes%7Bs%7D%29%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='q=v\times(1-f\times{s}) ' title='q=v\times(1-f\times{s}) ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=t%3Dv%5Ctimes%281-%281-f%29%5Ctimes%7Bs%7D%29%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='t=v\times(1-(1-f)\times{s}) ' title='t=v\times(1-(1-f)\times{s}) ' class='latex' />

<img src='http://s.wordpress.com/latex.php?latex=%20%28r%2C%20g%2C%20b%29%20%3D%20%5Cbegin%7Bcases%7D%20%20%20%20%20%28v%2C%20t%2C%20p%29%2C%20%26%20if%20h_i%20%3D%200%20%5C%5C%20%20%20%20%20%28q%2C%20v%2C%20p%29%2C%20%26%20if%20h_i%20%3D%201%20%5C%5C%20%20%20%20%20%28p%2C%20v%2C%20t%29%2C%20%26%20if%20h_i%20%3D%202%20%5C%5C%20%20%20%20%20%28p%2C%20q%2C%20v%29%2C%20%26%20if%20h_i%20%3D%203%20%5C%5C%20%20%20%20%20%28t%2C%20p%2C%20v%29%2C%20%26%20if%20h_i%20%3D%204%20%5C%5C%20%20%20%20%20%28v%2C%20p%2C%20q%29%2C%20%26%20if%20h_i%20%3D%205%20%5Cend%7Bcases%7D%20&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt=' (r, g, b) = \begin{cases}     (v, t, p), &amp; if h_i = 0 \\     (q, v, p), &amp; if h_i = 1 \\     (p, v, t), &amp; if h_i = 2 \\     (p, q, v), &amp; if h_i = 3 \\     (t, p, v), &amp; if h_i = 4 \\     (v, p, q), &amp; if h_i = 5 \end{cases} ' title=' (r, g, b) = \begin{cases}     (v, t, p), &amp; if h_i = 0 \\     (q, v, p), &amp; if h_i = 1 \\     (p, v, t), &amp; if h_i = 2 \\     (p, q, v), &amp; if h_i = 3 \\     (t, p, v), &amp; if h_i = 4 \\     (v, p, q), &amp; if h_i = 5 \end{cases} ' class='latex' />
</pre>
<p><em>C/C++</em></p>
<pre class="brush: cpp; wrap-lines: false;">
pixeltype HSVtoRGB(pixeltype palette_color){
    //0.0f <= h <= 360.0f
    //0.0f <= s <= 1.0f
    //0.0f <= v <= 1.0f
    double h = (double)(HUE_OF(palette_color));
    double s = (double)(SATURATION_OF(palette_color));
    double v = (double)(VALUE_OF(palette_color));
    double hi, f, p, q, t, temp;
    pixeltype rgb;

	temp = (h / 60.0f);
	hi = floor(temp) % 6.0f;
	f = temp - floor(temp);
	p = v * (1.0f - s);
	q = v * (1.0f - f * s);
	t = v * (1.0f - (1.0f - f) * s);
	switch((int)floor(hi)){
		case 0:rgb = RGB_OF(v, t, p);break;
		case 1:rgb = RGB_OF(q, v, p);break;
		case 2:rgb = RGB_OF(p, v, t);break;
		case 3:rgb = RGB_OF(p, q, v);break;
		case 4:rgb = RGB_OF(t, p, v);break;
		case 5:rgb = RGB_OF(v, p, q);break;
	}
	return rgb;

        //0.0f <= r <= 1.0f
	//0.0f <= g <= 1.0f
	//0.0f <= b <= 1.0f
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.gameprogrammerart.com/2009/11/21/convert-color-spaces-hsv-rgb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixed Point</title>
		<link>http://www.gameprogrammerart.com/2009/11/14/fixed-point/</link>
		<comments>http://www.gameprogrammerart.com/2009/11/14/fixed-point/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 16:04:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog_category]]></category>
		<category><![CDATA[arithmetic]]></category>
		<category><![CDATA[division]]></category>
		<category><![CDATA[fixed point]]></category>
		<category><![CDATA[fixed point addition]]></category>
		<category><![CDATA[fixed point division]]></category>
		<category><![CDATA[fixed point multiplication]]></category>
		<category><![CDATA[fixed point subtraction]]></category>
		<category><![CDATA[game development]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[multiplication]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.gameprogrammerart.com/?p=234</guid>
		<description><![CDATA[Fixed point is used to represent a floating point number.
It could be used to speed up the multiplication and division operations on systems without a floating point processor.
Floating point is represented by scaling an integer.
In C/C++ one would shift the number by a scale&#8230;

const int SHIFT_AMT = 16;
const int INTEGER_MASK = 0xFF;
const int DECIMAL_MASK = [...]]]></description>
			<content:encoded><![CDATA[<p>Fixed point is used to represent a floating point number.<br />
It could be used to speed up the multiplication and division operations on systems without a floating point processor.</p>
<p>Floating point is represented by scaling an integer.<br />
In C/C++ one would shift the number by a scale&#8230;</p>
<pre class="brush: cpp; wrap-lines: false;">
const int SHIFT_AMT = 16;
const int INTEGER_MASK = 0xFF;
const int DECIMAL_MASK = 0xFF;
</pre>
<p>It is easiest for me to think of fixed point as a number multiplied by a scale.<br />
I find it easier because it makes thinking about operations on the fixed point easier.</p>
<p><em>MATH</em></p>
<p><img src='http://s.wordpress.com/latex.php?latex=fixedpoint%20%3D%20%28number%20%2A%20scale%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='fixedpoint = (number * scale)' title='fixedpoint = (number * scale)' class='latex' /></p>
<p><em>C/C++</em></p>
<pre class="brush: cpp; wrap-lines: false">
typedef signed int fixedpoint;
int i = 10;
fixedpoint fp = i << SHIFT_AMT;
</pre>
<p>Addition and Subtraction are trivial with fixed point, Multiplication and Division are not...<br />
Well... they are just not as trivial, there is one more step involved, scaling the result.</p>
<p>For Multiplication, you need to divide by the scale.<br />
For Division, you need to multiply by the scale.</p>
<p><strong>Multiplication</strong><br />
<em>MATH</em></p>
<p><img src='http://s.wordpress.com/latex.php?latex=fixedpoint%20%2A%20fixedpoint%20%3D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='fixedpoint * fixedpoint =' title='fixedpoint * fixedpoint =' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%28number1%20%2A%20scale%29%20%2A%20%28number2%20%2A%20scale%29%20%3D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='(number1 * scale) * (number2 * scale) =' title='(number1 * scale) * (number2 * scale) =' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%28%28number1%20%2A%20number2%29%20%2A%20scale%5E2%29%20%3D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='((number1 * number2) * scale^2) =' title='((number1 * number2) * scale^2) =' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%28%28%28number1%20%2A%20number2%29%20%2A%20scale%5E2%29%20%2F%20scale%29%20%3D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='(((number1 * number2) * scale^2) / scale) =' title='(((number1 * number2) * scale^2) / scale) =' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%28%28number1%20%2A%20number2%29%20%2A%20scale%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='((number1 * number2) * scale)' title='((number1 * number2) * scale)' class='latex' /></p>
<p><em>C/C++</em></p>
<pre class="brush: cpp; wrap-lines: false">
fixedpoint number1 = 10 &lt;&lt; SHIFT_AMT;
fixedpoint number2 = 10 &lt;&lt; SHIFT_AMT;
fixedpoint result = (number1 * number2) &gt;&gt; SHIFT_AMT;
</pre>
<p><strong>Division</strong><br />
<em>MATH</em></p>
<p><img src='http://s.wordpress.com/latex.php?latex=fixedpoint%20%2A%20fixedpoint%20%3D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='fixedpoint * fixedpoint =' title='fixedpoint * fixedpoint =' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%28number1%20%2A%20scale%29%20%2F%20%28number2%20%2A%20scale%29%20%3D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='(number1 * scale) / (number2 * scale) =' title='(number1 * scale) / (number2 * scale) =' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%28number1%20%2F%20number2%29%20%3D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='(number1 / number2) =' title='(number1 / number2) =' class='latex' /></p>
<p><img src='http://s.wordpress.com/latex.php?latex=%28%28%28number1%20%2F%20number2%29%29%20%2A%20scale%29&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='(((number1 / number2)) * scale)' title='(((number1 / number2)) * scale)' class='latex' /></p>
<p><em>C/C++</em></p>
<pre class="brush: cpp; wrap-lines: false">
fixedpoint number1 = 10 &lt;&lt; SHIFT_AMT;
fixedpoint number2 = 10 &lt;&lt; SHIFT_AMT;
fixedpoint result = (number1 / number2) &lt;&lt; SHIFT_AMT;
</pre>
<p>Other useful operations on fixed point could be:<br />
Modulus.<br />
Square-root.<br />
Sine.<br />
Cosine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gameprogrammerart.com/2009/11/14/fixed-point/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calculate Black and White value for pixel.</title>
		<link>http://www.gameprogrammerart.com/2009/10/21/204/</link>
		<comments>http://www.gameprogrammerart.com/2009/10/21/204/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 03:45:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog_category]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[rendering]]></category>

		<guid isPermaLink="false">http://www.gameprogrammerart.com/?p=204</guid>
		<description><![CDATA[Pseudo-algorithm:
We are finding the average value for the three color components&#8230;
1. Extract the Red, Green and Blue of a color.
2. Add the three values together, divide them by three.
3. Put the Red, Green and Blue values together to form the gray value.

int pixel_value = RGB(13, 152, 186);
//get the red value of the pixel
int red = [...]]]></description>
			<content:encoded><![CDATA[<p>Pseudo-algorithm:</p>
<p>We are finding the average value for the three color components&#8230;</p>
<p>1. Extract the Red, Green and Blue of a color.<br />
2. Add the three values together, divide them by three.<br />
3. Put the Red, Green and Blue values together to form the gray value.</p>
<pre class="brush: cpp; wrap-lines: false;">
int pixel_value = RGB(13, 152, 186);
//get the red value of the pixel
int red = RED_OF(pixel_value) ;
//get the green value of the pixel
int green = GREEN_OF(pixel_value) ;
//get the blue value of the pixel
int blue BLUE_OF(pixel_value) ;
//average each color together to get the gray value
int gray = (red + green + blue)/3;
//bitwise 'or' them to make the complete RGB
int gray_pixel_value = RGB_OF(gray, gray, gray);
</pre>
<p>sidenote:<br />
Love these colors from <a href="http://en.wikipedia.org/wiki/Crayola_colors#Standard_Colors">Crayola</a>, they bring back so many memories!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gameprogrammerart.com/2009/10/21/204/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calculate Alpha blend</title>
		<link>http://www.gameprogrammerart.com/2009/07/06/calculate-alpha-blend/</link>
		<comments>http://www.gameprogrammerart.com/2009/07/06/calculate-alpha-blend/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 22:38:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog_category]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[LSN]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.gameprogrammerart.com/?p=191</guid>
		<description><![CDATA[Calculate Alpha blend on two colors....]]></description>
			<content:encoded><![CDATA[<p>Pseudo-algorithm:</p>
<p>Extract the RGB color values of the initial and to be drawn pixels colors.<br />
Add each of the extract RGB values together and multiply by 0.5 (basically find the average of the two colors.</p>
<pre class="brush: cpp; wrap-lines: false;">
//The initial pixel color.
int color_initial = PIXELCOLOR;
//The pixel color to draw.
int color_draw = DRAWCOLOR;
//Extract each of the R, G, and B for each color of the initial pixel color.
int red_initial = RED_OF(color_initial);
int green_initial = GREEN_OF(color_initial);
int blue_initial = BLUE_OF(color_initial);
int red_draw = RED_OF(color_draw);
int green_draw = GREEN_OF(color_draw);
int blue_draw = BLUE_OF(color_draw);
//Find the average of the initial and new pixel colors.
int new_red = (red_initial + red_draw) * 0.5f;
int new_green = (green_initial + green_draw) * 0.5f;
int new_blue  = (blue_initial + blue_draw) * 0.5f;
int new_color = RGB_OF(new_red, new_green, new_blue);
</pre>
<p>Next up&#8230; gray values&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gameprogrammerart.com/2009/07/06/calculate-alpha-blend/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Comment Engine!</title>
		<link>http://www.gameprogrammerart.com/2009/07/06/new-comment-engine/</link>
		<comments>http://www.gameprogrammerart.com/2009/07/06/new-comment-engine/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 17:08:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog_category]]></category>

		<guid isPermaLink="false">http://www.gameprogrammerart.com/?p=188</guid>
		<description><![CDATA[Intense Debate is now installed as the comment solution to this site.  The intention here is to decrease cpu and bandwidth usage on the server that gpa uses, while also possibly getting other people aware of this site who are already on Intense Debate.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://bit.ly/2nqTuf">Intense Debate</a> is now installed as the comment solution to this site.  The intention here is to decrease cpu and bandwidth usage on the server that gpa uses, while also possibly getting other people aware of this site who are already on Intense Debate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gameprogrammerart.com/2009/07/06/new-comment-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(2009-07-06)</title>
		<link>http://www.gameprogrammerart.com/2009/07/06/2009-07-06-2/</link>
		<comments>http://www.gameprogrammerart.com/2009/07/06/2009-07-06-2/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 13:17:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog_category]]></category>

		<guid isPermaLink="false">http://www.gameprogrammerart.com/2009/07/06/2009-07-06-2/</guid>
		<description><![CDATA[
@TLConTLC is it that offensive?  When I was little my dad would call me that, in a loving way. #

Powered by Twitter Tools.
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>@<a href="http://twitter.com/TLConTLC">TLConTLC</a> is it that offensive?  When I was little my dad would call me that, in a loving way. <a href="http://twitter.com/jamesfolk/statuses/2496995798">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gameprogrammerart.com/2009/07/06/2009-07-06-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>(2009-07-06)</title>
		<link>http://www.gameprogrammerart.com/2009/07/06/2009-07-06/</link>
		<comments>http://www.gameprogrammerart.com/2009/07/06/2009-07-06/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 13:17:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog_category]]></category>

		<guid isPermaLink="false">http://www.gameprogrammerart.com/2009/07/06/2009-07-06/</guid>
		<description><![CDATA[
@TLConTLC is it that offensive?  When I was little my dad would call me that, in a loving way. #

Powered by Twitter Tools.
]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>@<a href="http://twitter.com/TLConTLC">TLConTLC</a> is it that offensive?  When I was little my dad would call me that, in a loving way. <a href="http://twitter.com/jamesfolk/statuses/2496995798">#</a></li>
</ul>
<p class="aktt_credit">Powered by <a href="http://alexking.org/projects/wordpress">Twitter Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gameprogrammerart.com/2009/07/06/2009-07-06/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
