<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>OpenGL Starter Weblog</title>
	<atom:link href="http://glstarter.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://glstarter.wordpress.com</link>
	<description>Studies and Observations of an OpenGL Student</description>
	<lastBuildDate>Sat, 08 Aug 2009 04:16:58 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='glstarter.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/d086239d3afd5af60d135cdd1d70ac7c?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>OpenGL Starter Weblog</title>
		<link>http://glstarter.wordpress.com</link>
	</image>
			<item>
		<title>How to Find sum of values in a Texture</title>
		<link>http://glstarter.wordpress.com/2009/06/05/how-to-find-sum-of-values-in-a-texture/</link>
		<comments>http://glstarter.wordpress.com/2009/06/05/how-to-find-sum-of-values-in-a-texture/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 14:42:53 +0000</pubDate>
		<dc:creator>glstarter</dc:creator>
				<category><![CDATA[Observations]]></category>
		<category><![CDATA[blending]]></category>
		<category><![CDATA[GPU]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[parallelism]]></category>
		<category><![CDATA[Shader]]></category>
		<category><![CDATA[sum]]></category>
		<category><![CDATA[texture]]></category>

		<guid isPermaLink="false">http://glstarter.wordpress.com/?p=27</guid>
		<description><![CDATA[Pretty simple thing in CPU.
But If its doing with OpenGL shader you may find a difficulty of losing parallelism of GPU.
Few days later we had a requirement of finding sum of pixels in texture of dimension 100 * 100.
If we are calculating sum in Fragment shader, a single pixel will be rendered and iterate through [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=27&subd=glstarter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Pretty simple thing in CPU.</p>
<p>But If its doing with OpenGL shader you may find a difficulty of losing parallelism of GPU.</p>
<p>Few days later we had a requirement of finding sum of pixels in texture of dimension 100 * 100.</p>
<p>If we are calculating sum in Fragment shader, a single pixel will be rendered and iterate through each pixels in the texture, and sum will be returned from the shader.</p>
<p>Now here is another option to get the sum without iterating through each elements in texture.</p>
<p>We can use blending feature of OpenGL frame buffer.</p>
<p>Enable Additive blending for Frame Buffer. use glBlendEquation(GL_FUNC_ADD)</p>
<p>http://www.opengl.org/sdk/docs/man/xhtml/glBlendEquation.xml</p>
<p>Create a RenderTarget of size 1*1. Then clear it, and render all pixel to it.</p>
<p>Now U will get sum of the texture in your render target.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/glstarter.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/glstarter.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/glstarter.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/glstarter.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/glstarter.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/glstarter.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/glstarter.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/glstarter.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/glstarter.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/glstarter.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=27&subd=glstarter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://glstarter.wordpress.com/2009/06/05/how-to-find-sum-of-values-in-a-texture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51f06c46dd509ce58a4e885b7cf1ee79?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">glstarter</media:title>
		</media:content>
	</item>
		<item>
		<title>Do not use multiple rendering contexts with CUDA. It will cause some errors.</title>
		<link>http://glstarter.wordpress.com/2008/11/03/do-not-use-multiple-rendering-contexts-with-cuda-it-will-cause-some-errors/</link>
		<comments>http://glstarter.wordpress.com/2008/11/03/do-not-use-multiple-rendering-contexts-with-cuda-it-will-cause-some-errors/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 16:27:24 +0000</pubDate>
		<dc:creator>glstarter</dc:creator>
				<category><![CDATA[Observations]]></category>
		<category><![CDATA[buffer object]]></category>
		<category><![CDATA[context]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[cudaGLRegisterBufferObject]]></category>
		<category><![CDATA[glGenBuffers]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[wglMakeCurrent]]></category>

		<guid isPermaLink="false">http://glstarter.wordpress.com/?p=23</guid>
		<description><![CDATA[One problem I found when OpenGL buffer object used with CUDA in multiple rendering contexts.
When I have more than one rendering context, the opengl will return same buffer object ids for different buffer objects. The reason for returning same buffer object is nothing these are two rendering contexts.
See code below.
// Creating first buffer object with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=23&subd=glstarter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>One problem I found when OpenGL buffer object used with CUDA in multiple rendering contexts.</p>
<p>When I have more than one rendering context, the opengl will return same buffer object ids for different buffer objects. The reason for returning same buffer object is nothing these are two rendering contexts.</p>
<p>See code below.</p>
<p>// Creating first buffer object with first rendering Context.</p>
<p>wglMakeCurrent( myRC1 );</p>
<p>glGenBuffers( 1, &amp;myBuffer1 );// This id will be 1 in normal case.</p>
<p>// creating second buffer object with next rendering context.</p>
<p>wglMakeCurrent( myRC2 );</p>
<p>glGenBuffers( 1, &amp;myBuffer2  );// This id also will be 1 in normal case.</p>
<p>// Then registering these buffers to CUDA.</p>
<p>cudaGLRegisterBufferObject( myBuffer1 ); // This will be success.</p>
<p>// Registering next buffer object.</p>
<p>cudaGLRegisterBufferObject( myBuffer2  ); // Here I&#8217;ll get Error .</p>
<p>The reason for this error is, cuda device depends on current thread. But openGL creates buffer objects based on rendering contexts. First register to cuda will succeeded, becouse its( 1) not registered yet. Then next register call will fail, becouse this buffer object id ( 1) is already registered for CUDA device.  I created two rendering contexts for this thread and hence two buffer objects will return same id.</p>
<p>Thats all friends.</p>
<p>glStarter.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/glstarter.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/glstarter.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/glstarter.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/glstarter.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/glstarter.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/glstarter.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/glstarter.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/glstarter.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/glstarter.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/glstarter.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=23&subd=glstarter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://glstarter.wordpress.com/2008/11/03/do-not-use-multiple-rendering-contexts-with-cuda-it-will-cause-some-errors/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51f06c46dd509ce58a4e885b7cf1ee79?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">glstarter</media:title>
		</media:content>
	</item>
		<item>
		<title>How z-buffer( depth buffer) for 3D object rendering.</title>
		<link>http://glstarter.wordpress.com/2008/10/04/how-z-buffer-depth-buffer-for-3d-object-rendering/</link>
		<comments>http://glstarter.wordpress.com/2008/10/04/how-z-buffer-depth-buffer-for-3d-object-rendering/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 13:47:23 +0000</pubDate>
		<dc:creator>glstarter</dc:creator>
				<category><![CDATA[Study]]></category>

		<guid isPermaLink="false">http://glstarter.wordpress.com/?p=16</guid>
		<description><![CDATA[Z buffer plays an important role to draw 3D objects. Z buffer( depth buffer) holds the depth of each pixel.
Consider two objects with different z values, and some portion of one object and some portion of one object overlap with other. When first object drawn, its corresponding z values( the distance between view point and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=16&subd=glstarter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Z buffer plays an important role to draw 3D objects. Z buffer( depth buffer) holds the depth of each pixel.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Consider two objects with different z values, and some portion of one object and some portion of one object overlap with other. When first object drawn, its corresponding z values( the distance between view point and object) are updated in z-buffer and the pixel values(RGB) are updated in color buffer of the current rendering context.</span></p>
<p><span style="font-size:12pt;font-family:&quot;">During rendering next object, before updating a pixel in color buffer, openGL will compare the distance of current pixel from view point with the z-value in z-buffer( depth buffer). OpenGL modifies color buffer and depth buffer only if z-value of current pixel is lower than the z value of corresponding location in z buffer. If the new pixel is close to the eye point, openGL places the new pixel’s color in color buffer and its depth buffer.</span></p>
<p><span style="font-size:12pt;font-family:&quot;"><a href="http://glstarter.files.wordpress.com/2008/10/untitled1.jpg"><img class="alignnone size-full wp-image-17" title="Z buffer" src="http://glstarter.files.wordpress.com/2008/10/untitled1.jpg?w=415&#038;h=506" alt="" width="415" height="506" /></a></span></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/glstarter.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/glstarter.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/glstarter.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/glstarter.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/glstarter.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/glstarter.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/glstarter.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/glstarter.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/glstarter.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/glstarter.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=16&subd=glstarter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://glstarter.wordpress.com/2008/10/04/how-z-buffer-depth-buffer-for-3d-object-rendering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51f06c46dd509ce58a4e885b7cf1ee79?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">glstarter</media:title>
		</media:content>

		<media:content url="http://glstarter.files.wordpress.com/2008/10/untitled1.jpg" medium="image">
			<media:title type="html">Z buffer</media:title>
		</media:content>
	</item>
		<item>
		<title>Installable Client Driver</title>
		<link>http://glstarter.wordpress.com/2008/10/04/installable-client-driver/</link>
		<comments>http://glstarter.wordpress.com/2008/10/04/installable-client-driver/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 13:44:03 +0000</pubDate>
		<dc:creator>glstarter</dc:creator>
				<category><![CDATA[Study]]></category>

		<guid isPermaLink="false">http://glstarter.wordpress.com/?p=14</guid>
		<description><![CDATA[Installable Client Driver
Hardware acceleration is achieved in OpenGL through ICD’s. ICD contain methods for high speed rendering( that is supported by hardware). 
To increase performance, we bought new video hardware( GPU ). But openGL calls are then also routed through openGL32.dll. To achieve hardware capabilities hardware venders provides their openGL ICD’s, which are implemented by [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=14&subd=glstarter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Installable Client Driver</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Hardware acceleration is achieved in OpenGL through ICD’s. ICD contain methods for high speed rendering( that is supported by hardware). </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">To increase performance, we bought new video hardware( GPU ). But openGL calls are then also routed through openGL32.dll. To achieve hardware capabilities hardware venders provides their openGL ICD’s, which are implemented by hardware vendors, and these functions are capable of calling high speed methods implemented in hardware. This way openGL32.dll achieves high speed rendering.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">I think the communication between openGL32.dll and OpenGL display driver is performed through ICD and generic openGL driver. The software interface between hardware driver( display driver ) and openGL32.dll is capable of routing openGL calls to high speed methods that are implemented in hardware.</span></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/glstarter.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/glstarter.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/glstarter.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/glstarter.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/glstarter.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/glstarter.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/glstarter.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/glstarter.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/glstarter.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/glstarter.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=14&subd=glstarter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://glstarter.wordpress.com/2008/10/04/installable-client-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51f06c46dd509ce58a4e885b7cf1ee79?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">glstarter</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenGL Sample: Quad Drawing</title>
		<link>http://glstarter.wordpress.com/2008/10/04/opengl-sample-quad-drawing/</link>
		<comments>http://glstarter.wordpress.com/2008/10/04/opengl-sample-quad-drawing/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 13:42:19 +0000</pubDate>
		<dc:creator>glstarter</dc:creator>
				<category><![CDATA[Sample Programs]]></category>

		<guid isPermaLink="false">http://glstarter.wordpress.com/?p=9</guid>
		<description><![CDATA[This simple sample program draws a Rectangle on a static controls DC. It just demonstrates how to create a Rendering context from a windows device context, and to render a rectangle with OpenGL API.
 

ScreenShot of Quad Sample:
 
Source Code:
http://www.sendspace.com/file/xn08ok
http://rapidshare.com/files/150852762/Quad.zip.html
 
I learned that OpenGL is an OS independent API for high speed graphics requirements. When I first read [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=9&subd=glstarter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">This simple sample program draws a Rectangle on a static controls DC. It just demonstrates how to create a Rendering context from a windows device context, and to render a rectangle with OpenGL API.</span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><a href="http://glstarter.files.wordpress.com/2008/10/untitled.jpg"><img class="alignnone size-medium wp-image-11" title="Quad sample" src="http://glstarter.files.wordpress.com/2008/10/untitled.jpg?w=300&#038;h=180" alt="" width="300" height="180" /></a></p>
<p class="MsoNormal" style="margin:0;">ScreenShot of Quad Sample:</p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;">Source Code:</p>
<p class="MsoNormal" style="margin:0;"><a href="http://www.sendspace.com/file/xn08ok">http://www.sendspace.com/file/xn08ok</a></p>
<p class="MsoNormal" style="margin:0;"><a href="http://rapidshare.com/files/150852762/Quad.zip.html">http://rapidshare.com/files/150852762/Quad.zip.html</a></p>
<p class="MsoNormal" style="margin:0;"> </p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">I learned that OpenGL is an OS independent API for high speed graphics requirements. When I first read the API for creating a rendering context (wglCreateContext( HDC )) I believed that OpenGL in Windows uses GDI for rendering high speed graphics. But soon I got the functionalites of ICD( Installable Client Driver) and hardware supplied libraries for high speed graphics.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">In this sample program I created a reusable class( GLInterface) for initializing and drawing an OpenGL scene in a Window.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">The methods in GLInterface are </span></p>
<p class="MsoNormal" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Times New Roman;"><span><span style="font-size:small;">1)</span><span style="font-family:&quot;">      </span></span><span style="font-size:small;">Init: Initializes an OpenGL rendering Context. </span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;">bool GLInterface::Init( CWnd* pWnd_i )</span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;">{</span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>m_pWnd_i = pWnd_i;</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>/* 1) Getting DC of Rendering Window. */</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>// Getting DC from Window.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>m_pDC = m_pWnd_i-&gt;GetDC();</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>// Validating DC.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span> </span><span>     </span>ASSERT( m_pDC != 0 );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>/* 2) Filling PIXELFORMATDESCRIPTOR with required paramaters. */</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>// Filling Pixel Format structure.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>PIXELFORMATDESCRIPTOR pfd;</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>memset( &amp;pfd, 0, sizeof( PIXELFORMATDESCRIPTOR ) );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>pfd.nSize = sizeof( PIXELFORMATDESCRIPTOR );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>pfd.nVersion = 1;</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>pfd.dwFlags = PFD_SUPPORT_OPENGL | PFD_DRAW_TO_WINDOW |</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>                              </span>PFD_DOUBLEBUFFER;</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>pfd.iPixelType = PFD_TYPE_RGBA;</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>pfd.cColorBits = 24;</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>pfd.cDepthBits = 24;</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>pfd.iLayerType = PFD_MAIN_PLANE;</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>/* 3) Getting Pixel format index of corresponding PIXELFORMATDESCRIPTOR structure. */</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>// Getting Pixel Format index.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>int iPixelFormat = ChoosePixelFormat( m_pDC-&gt;m_hDC, &amp;pfd );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span><span style="font-size:small;font-family:Times New Roman;">      </span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>// Validating Pixel Format.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>ASSERT( iPixelFormat != 0 ) ;</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>/* 4) Creating Rendering Context for the DC. */</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>// Set Current Pixel Format.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>SetPixelFormat( m_pDC-&gt;m_hDC, iPixelFormat, &amp;pfd );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>// Creating a rendering Context.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>m_hRenderingContext = wglCreateContext( m_pDC-&gt;m_hDC );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>/* 5) Selecting Rendering Context as the Current Rendering Context. */</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>// Set This Rendering Context as the Active Rendering Context. </span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>wglMakeCurrent( m_pDC-&gt;m_hDC, m_hRenderingContext );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>return ( m_hRenderingContext != 0 );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;">}</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Times New Roman;"><span><span style="font-size:small;">2)</span><span style="font-family:&quot;">      </span></span><span style="font-size:small;">Draw: Drawing a rectangle. </span></span></p>
<p><span style="font-size:12pt;font-family:&quot;"><br />
</span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;">bool GLInterface::Draw()</span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;">{</span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>/* 1) Clear the back buffer for initialising the frame. */</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>glClear( GL_COLOR_BUFFER_BIT );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>/* 2) Specify drawing color.<span>  </span>*/</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>glColor3f( 0.0f, 1.0f, 0.f );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>/* 3) Specify Primitive Type.( GL_QUADS ) */</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>glBegin( GL_QUADS );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>/* 4) Specify verices for Quad. */</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>glVertex3f( -0.5f, -0.5f, 0.f ); // Left Bottom.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>glVertex3f( 0.5f, -0.5f, 0.f ); // Right bottom.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>glVertex3f( 0.5f, 0.5f, 0.f ); // Right Top.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>glVertex3f( -0.5f, 0.5f, 0 ); // Left Top</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span><span>  </span></span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span><span>  </span>glEnd();</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span><span>  </span>/* 5) Swap Back buffer content to front buffer. */</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span><span>  </span>SwapBuffers( m_pDC-&gt;m_hDC );</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;"><span style="font-family:Times New Roman;"><span>      </span>return true;</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;">}</span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .25in;"><span style="font-size:small;font-family:Times New Roman;">Steps to create Sample Program.</span></p>
<p class="MsoNormal" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Times New Roman;"><span><span style="font-size:small;">1)</span><span style="font-family:&quot;">      </span></span><span style="font-size:small;">Create an MFC AppWizard EXE (Application Type: Dialog based ).</span></span></p>
<p class="MsoNormal" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Times New Roman;"><span><span style="font-size:small;">2)</span><span style="font-family:&quot;">      </span></span><span style="font-size:small;">Add a static control to dialog and change its size to display a rectangle.</span></span></p>
<p class="MsoNormal" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Times New Roman;"><span><span style="font-size:small;">3)</span><span style="font-family:&quot;">      </span></span><span style="font-size:small;">Call Init() of GLInterface from OnInitDialog() of dialog class. Get Window handle to static control and pass to Init method.</span></span></p>
<p class="MsoNormal" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Times New Roman;"><span><span style="font-size:small;">4)</span><span style="font-family:&quot;">      </span></span><span style="font-size:small;">Change Caption of OK button to Draw, and add message handler for that button.</span></span></p>
<p class="MsoNormal" style="margin:0 0 0 .5in;"><span style="font-size:small;font-family:Times New Roman;">Call Draw() function of GLInterface class.</span></p>
<p class="MsoNormal" style="margin:0 0 0 .5in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 .5in;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;">Notes:</span></p>
<p class="MsoNormal" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Times New Roman;"><span><span style="font-size:small;">1)</span><span style="font-family:&quot;">      </span></span><span style="font-size:small;">( 0,0) coordinate in OpenGL is at center of rendering Window.</span></span></p>
<p class="MsoNormal" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Times New Roman;"><span><span style="font-size:small;">2)</span><span style="font-family:&quot;">      </span></span><span style="font-size:small;">Whenever windows repaints a window, we need to redraw our frame. For that I modified OnPaint() of dialog class.</span></span></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/glstarter.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/glstarter.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/glstarter.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/glstarter.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/glstarter.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/glstarter.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/glstarter.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/glstarter.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/glstarter.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/glstarter.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=9&subd=glstarter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://glstarter.wordpress.com/2008/10/04/opengl-sample-quad-drawing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51f06c46dd509ce58a4e885b7cf1ee79?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">glstarter</media:title>
		</media:content>

		<media:content url="http://glstarter.files.wordpress.com/2008/10/untitled.jpg?w=300" medium="image">
			<media:title type="html">Quad sample</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenGL samples.</title>
		<link>http://glstarter.wordpress.com/2008/09/29/opengl-samples/</link>
		<comments>http://glstarter.wordpress.com/2008/09/29/opengl-samples/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 14:23:36 +0000</pubDate>
		<dc:creator>glstarter</dc:creator>
				<category><![CDATA[Helpful Links]]></category>

		<guid isPermaLink="false">http://glstarter.wordpress.com/?p=6</guid>
		<description><![CDATA[Step by step samples in OpenGL.
http://www.morrowland.com/apron/tut_gl.php
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=6&subd=glstarter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Step by step samples in OpenGL.</p>
<p>http://www.morrowland.com/apron/tut_gl.php</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/glstarter.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/glstarter.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/glstarter.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/glstarter.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/glstarter.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/glstarter.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/glstarter.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/glstarter.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/glstarter.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/glstarter.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=6&subd=glstarter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://glstarter.wordpress.com/2008/09/29/opengl-samples/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51f06c46dd509ce58a4e885b7cf1ee79?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">glstarter</media:title>
		</media:content>
	</item>
		<item>
		<title>OpenGL starter</title>
		<link>http://glstarter.wordpress.com/2008/09/28/opengl-starter/</link>
		<comments>http://glstarter.wordpress.com/2008/09/28/opengl-starter/#comments</comments>
		<pubDate>Sun, 28 Sep 2008 07:42:46 +0000</pubDate>
		<dc:creator>glstarter</dc:creator>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Starter]]></category>

		<guid isPermaLink="false">http://glstarter.wordpress.com/?p=3</guid>
		<description><![CDATA[Hi,
I&#8217;m a new one to OpenGL programming. and I want publish my intersting studies in Opengl. This blog is started for studying OpenGl and publishing my study notes.
OpenGL starter
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=3&subd=glstarter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi,</p>
<p>I&#8217;m a new one to OpenGL programming. and I want publish my intersting studies in Opengl. This blog is started for studying OpenGl and publishing my study notes.</p>
<p>OpenGL starter</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/glstarter.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/glstarter.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/glstarter.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/glstarter.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/glstarter.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/glstarter.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/glstarter.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/glstarter.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/glstarter.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/glstarter.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=3&subd=glstarter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://glstarter.wordpress.com/2008/09/28/opengl-starter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51f06c46dd509ce58a4e885b7cf1ee79?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">glstarter</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello world!</title>
		<link>http://glstarter.wordpress.com/2008/09/28/hello-world/</link>
		<comments>http://glstarter.wordpress.com/2008/09/28/hello-world/#comments</comments>
		<pubDate>Sun, 28 Sep 2008 07:34:34 +0000</pubDate>
		<dc:creator>glstarter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=1&subd=glstarter&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Welcome to <a href="http://wordpress.com/">WordPress.com</a>. This is your first post. Edit or delete it and start blogging!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/glstarter.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/glstarter.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/glstarter.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/glstarter.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/glstarter.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/glstarter.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/glstarter.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/glstarter.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/glstarter.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/glstarter.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=glstarter.wordpress.com&blog=5004074&post=1&subd=glstarter&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://glstarter.wordpress.com/2008/09/28/hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/51f06c46dd509ce58a4e885b7cf1ee79?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">glstarter</media:title>
		</media:content>
	</item>
	</channel>
</rss>