<?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>Paul Solt &#187; Computer Graphics</title>
	<atom:link href="http://paulsolt.com/category/computer-graphics/feed/" rel="self" type="application/rss+xml" />
	<link>http://paulsolt.com</link>
	<description>Putting the Inc back in Solt since 2005.</description>
	<lastBuildDate>Fri, 03 Feb 2012 05:04:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>GLUT Object Oriented Framework on Github</title>
		<link>http://paulsolt.com/2010/08/glut-object-oriented-framework-on-github/</link>
		<comments>http://paulsolt.com/2010/08/glut-object-oriented-framework-on-github/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 06:30:09 +0000</pubDate>
		<dc:creator>Paul Solt</dc:creator>
				<category><![CDATA[Computer Graphics]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[computer animation]]></category>
		<category><![CDATA[cross platform]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[GLUT]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[object oriented wrapper]]></category>
		<category><![CDATA[OpenGL]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://paulsolt.com/?p=610</guid>
		<description><![CDATA[<p>In 2009 I took a Computer Animation course at @RIT I created an object-oriented C++ wrapper for GLUT. The idea was to create a set of classes that could be reused for each of the separate project submissions. The main class wraps around the GLUT C-style functions and provides a class that can be inherited [...]]]></description>
			<content:encoded><![CDATA[<p>In 2009 I took a Computer Animation course at @RIT I created an object-oriented C++ wrapper for GLUT. The idea was to create a set of classes that could be reused for each of the separate project submissions. The main class wraps around the GLUT C-style functions and provides a class that can be inherited from, to provide application specific functionality.</p>
<p>The idea was to make the boiler plate code disappear and make it easier for novice programmers to get an animated graphics window in as few lines as possible. Only four lines of code are needed to get the window running at 60 frames per second. You can subclass the framework and implement your own OpenGL animation or game project.</p>
<p><strong>Edit (8/22/10)</strong>: You don&#8217;t need to use pointers, I&#8217;ve updated the code example with working code.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">// main.cpp</span>
<span style="color: #339900;">#include &quot;GlutFramework.h&quot;</span>
<span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span> glutFramework<span style="color: #008080;">;</span>
<span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, <span style="color: #0000ff;">char</span> <span style="color: #000040;">*</span>argv<span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span>
	GlutFramework framework<span style="color: #008080;">;</span>
	framework.<span style="color: #007788;">startFramework</span><span style="color: #008000;">&#40;</span>argc, argv<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
        <span style="color: #0000ff;">return</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2182421302031373";
/* Large Post Ad */
google_ad_slot = "4358587115";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>The code uses a cross-platform (Windows/Mac tested) timer to create a constant frame-rate, which is necessary for animation projects. It&#8217;s under the MIT License, so feel free to use it as you see fit.<br />
<a href=" http://github.com/PaulSolt/GLUT-Object-Oriented-Framework"></p>
<p>http://github.com/PaulSolt/GLUT-Object-Oriented-Framework</a></p>
<p>An Xcode 3.1 and Visual Studio 2010 project is hosted on github to support Mac and Windows. There is no setup on the Mac, but Windows users will need to configure GLUT. I plan on posted tutorials on how to get setup on both platforms. For now, look at the resources section below.</p>
<div id="attachment_617" class="wp-caption aligncenter" style="width: 514px"><a href="http://paulsolt.com/wp-content/uploads/2010/08/teapot.png"><img class="size-full wp-image-617 " title="teapot" src="http://paulsolt.com/wp-content/uploads/2010/08/teapot.png" alt="" width="504" height="407" /></a><p class="wp-caption-text">Animated teapot</p></div>
<p>Resources:</p>
<ul>
<li>Previous Post: <a href="http://paulsolt.com/2009/07/openglglut-classes-oop-and-problems/">http://paulsolt.com/2009/07/openglglut-classes-oop-and-problems/</a></li>
<li>GLUT for Windows: <a href="http://www.xmission.com/~nate/glut.html ">http://www.xmission.com/~nate/glut.html </a></li>
<li>Visual Studio and GLUT setup: <a href="http://www.cs.uiowa.edu/~cwyman/classes/common/howto/winGLUT.html">http://www.cs.uiowa.edu/~cwyman/classes/common/howto/winGLUT.html</a></li>
<li>Old Post on GLUT in Eclipse: <a href="http://www.paulsolt.com/GLUT/">http://www.paulsolt.com/GLUT/</a></li>
</ul>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2182421302031373";
/* Large Post Ad */
google_ad_slot = "4358587115";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://paulsolt.com/2010/08/glut-object-oriented-framework-on-github/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Artwork Evolution</title>
		<link>http://paulsolt.com/2010/04/artwork-evolution/</link>
		<comments>http://paulsolt.com/2010/04/artwork-evolution/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 16:05:17 +0000</pubDate>
		<dc:creator>Paul Solt</dc:creator>
				<category><![CDATA[Computer Graphics]]></category>
		<category><![CDATA[Artwork Evolution]]></category>
		<category><![CDATA[Barcamp]]></category>
		<category><![CDATA[RIT]]></category>

		<guid isPermaLink="false">http://paulsolt.com/?p=548</guid>
		<description><![CDATA[<p>I presented at BarCamp #5 Rochester <a href="http://barcamproc.org/">http://barcamproc.org/</a> at RIT on my ArtworkEvolution project. Here are my presentation slides.</p> <p><a href="http://paulsolt.com/wp-content/uploads/2010/04/ArtworkEvolution-Barcamp.pdf">ArtworkEvolution-Barcamp</a></p> <p>I evolved images during the presentation and these are some of the results:</p> <p style="text-align: center;"> <p style="text-align: center;"> </p> <p style="text-align: center;"> <p style="text-align: center;"> <p style="text-align: center;"> </p>]]></description>
			<content:encoded><![CDATA[<p>I presented at BarCamp #5 Rochester <a href="http://barcamproc.org/">http://barcamproc.org/</a> at RIT on my ArtworkEvolution project. Here are my presentation slides.</p>
<p><a href="http://paulsolt.com/wp-content/uploads/2010/04/ArtworkEvolution-Barcamp.pdf">ArtworkEvolution-Barcamp</a></p>
<p>I evolved images during the presentation and these are some of the results:</p>
<p style="text-align: center;">
<div id="attachment_550" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/04/texture127.png"><img class="size-full wp-image-550 " title="texture127" src="http://paulsolt.com/wp-content/uploads/2010/04/texture127.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Curved Sky</p></div>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-2182421302031373";
/* 468x15, created 11/9/10 */
google_ad_slot = "7180498408";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p style="text-align: center;">
<div id="attachment_551" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/04/texture128.png"><img class="size-full wp-image-551 " title="texture128" src="http://paulsolt.com/wp-content/uploads/2010/04/texture128.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">TV</p></div>
<p style="text-align: center;">
<div id="attachment_553" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/04/texture129.png"><img class="size-full wp-image-553 " title="texture129" src="http://paulsolt.com/wp-content/uploads/2010/04/texture129.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Pillar</p></div>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2182421302031373";
/* Large Post Ad */
google_ad_slot = "4358587115";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://paulsolt.com/2010/04/artwork-evolution/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Texture Evolution</title>
		<link>http://paulsolt.com/2010/02/texture-evolution/</link>
		<comments>http://paulsolt.com/2010/02/texture-evolution/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 05:24:12 +0000</pubDate>
		<dc:creator>Paul Solt</dc:creator>
				<category><![CDATA[Computer Graphics]]></category>
		<category><![CDATA[image evolution]]></category>
		<category><![CDATA[natural selection]]></category>
		<category><![CDATA[texture evolution]]></category>
		<category><![CDATA[textures]]></category>

		<guid isPermaLink="false">http://paulsolt.com/?p=384</guid>
		<description><![CDATA[<p>For my Genetic Algorithms class I decided to work based on the work of <a href="http://www.karlsims.com/genetic-images.html">Karl Sims</a>. I have built a system that can evolve images based on &#8220;user natural selection&#8221; over a period of time.</p> <p>The user plays god and can select those images that will live and die to produce new images. Here&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>For my Genetic Algorithms class I decided to work based on the work of <a href="http://www.karlsims.com/genetic-images.html">Karl Sims</a>. I have built a system that can evolve images based on &#8220;user natural selection&#8221; over a period of time.</p>
<p>The user plays god and can select those images that will live and die to produce new images. Here&#8217;s a fun sample of images:</p>
<div id="attachment_398" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture27.png"><img class="size-full wp-image-398  " title="texture27" src="http://paulsolt.com/wp-content/uploads/2010/02/texture27.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Curtains</p></div>
<div id="attachment_396" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture29.png"><img class="size-full wp-image-396 " title="texture29" src="http://paulsolt.com/wp-content/uploads/2010/02/texture29.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Waves</p></div>
<div id="attachment_394" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture31.png"><img class="size-full wp-image-394 " title="texture31" src="http://paulsolt.com/wp-content/uploads/2010/02/texture31.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Loops</p></div>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2182421302031373";
/* Large Post Ad */
google_ad_slot = "4358587115";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<div id="attachment_393" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture32.png"><img class="size-full wp-image-393 " title="texture32" src="http://paulsolt.com/wp-content/uploads/2010/02/texture32.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Logo</p></div>
<div id="attachment_392" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture33.png"><img class="size-full wp-image-392 " title="texture33" src="http://paulsolt.com/wp-content/uploads/2010/02/texture33.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Squirley</p></div>
<div id="attachment_391" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture34.png"><img class="size-full wp-image-391 " title="texture34" src="http://paulsolt.com/wp-content/uploads/2010/02/texture34.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Hungry Curves</p></div>
<div id="attachment_389" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture36.png"><img class="size-full wp-image-389 " title="texture36" src="http://paulsolt.com/wp-content/uploads/2010/02/texture36.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">A Future Road</p></div>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-2182421302031373";
/* 468x15, created 11/9/10 */
google_ad_slot = "7180498408";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<div id="attachment_388" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture37.png"><img class="size-full wp-image-388 " title="texture37" src="http://paulsolt.com/wp-content/uploads/2010/02/texture37.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Wallpaper</p></div>
<div id="attachment_387" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture38.png"><img class="size-full wp-image-387 " title="texture38" src="http://paulsolt.com/wp-content/uploads/2010/02/texture38.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Pipes</p></div>
<div id="attachment_386" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture39.png"><img class="size-full wp-image-386 " title="texture39" src="http://paulsolt.com/wp-content/uploads/2010/02/texture39.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Peace</p></div>
<div id="attachment_385" class="wp-caption aligncenter" style="width: 458px"><a href="http://paulsolt.com/wp-content/uploads/2010/02/texture40.png"><img class="size-full wp-image-385 " title="texture40" src="http://paulsolt.com/wp-content/uploads/2010/02/texture40.png" alt="" width="448" height="448" /></a><p class="wp-caption-text">Planet Rings</p></div>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "ca-pub-2182421302031373";
/* Large Post Ad */
google_ad_slot = "4358587115";
google_ad_width = 336;
google_ad_height = 280;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://paulsolt.com/2010/02/texture-evolution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

