<?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>Computer Graphics Unveiled</title>
	<atom:link href="http://robertokoci.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://robertokoci.com</link>
	<description>2D/3D Art, Textures, Design, Programming, DirextX, OpenGL, OGRE 3d, Photography</description>
	<lastBuildDate>Fri, 05 Jun 2009 10:01:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>World, View and Projection Matrix Unveiled</title>
		<link>http://robertokoci.com/world-view-and-projection-matrix-unveiled/</link>
		<comments>http://robertokoci.com/world-view-and-projection-matrix-unveiled/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 14:42:43 +0000</pubDate>
		<dc:creator>RobertoK</dc:creator>
				<category><![CDATA[3D Graphics Programming]]></category>

		<guid isPermaLink="false">http://robertokoci.com/?p=252</guid>
		<description><![CDATA[In order of understanding how geometry is displayed on your computer screen, may it be 2d or 3d, one needs to understand what math people came up with to simplify our life. Basically, every computer programme that displays some kind of geometry/object on your screen probably uses these tricks. In 3d, without this, we would [...]]]></description>
			<content:encoded><![CDATA[<p>In order of understanding how geometry is displayed on your computer screen, may it be 2d or 3d, one needs to understand what math people came up with to simplify our life. Basically, every computer programme that displays some kind of geometry/object on your screen probably uses these tricks. In 3d, without this, we would still have only very simple graphics.</p>
<p>We shall not write tens of pages explaining how this math actually works, we shall do a visual presentation of it. All modern graphics hardware, game engines, DirectX, OpenGL already have an encoded matrix helper function. Once you understand what these are, you will simply use matrix functions in order to have the desired effect.</p>
<h3><span id="more-252"></span></h3>
<p><strong>Note:</strong> all drawings use an X and Z scale, as we would look on the scene from up. 2d presentations added for the sake of simplicity.</p>
<h3>The Matrix</h3>
<p>After wasting a big part of the Amazon forests and a substantial amount of graphite (I believe, some coffee was also involved in the process), mathematicians came up with a simple, handy, yet genius formula for effectively enslaving all kinds of objects into simulated computer worlds. The purpose was to move objects around, rotate them, stretch, and still be able to do that very fast, even if the objects consists of ten, hundred thousand vertexes. The project was a big success, and the solution is shared for all humanity to benefit and enjoy. Behold! The 4&#215;4 homogeneous matrix:</p>
<div class="wp-caption alignnone" style="width: 650px"><img title="The Matrix 4x4 presentation" src="http://robertokoci.com/wp-content/gallery/world_view_transformation_matrix_unveiled/thematrix.png" alt="The Matrix 4x4 presentation" width="640" height="320" /><p class="wp-caption-text">The Matrix 4x4 presentation</p></div>
<p>As you see, the matrix consist of 16 float point/real numbers. Every section of it serves a different purpose. Data filled into the corresponding fields creates a matrix that you may use on any object. Don&#8217;t worry, you don&#8217;t have to fill in data yourself. All the platforms have ways of creating matrices.</p>
<p>The point is, when you multiply a matrix with a 3d point in space the result is the vertex transformed by values of the matrix.</p>
<p>While explaining this, I will mention the <em>identity</em> matrix. It is filled with default data, so when you multiply vertexes with this matrix, nothing will happen. Still, this is important, because if you need a transform matrix, you should first create and identity matrix (or have one filled with identity values), and then scale, rotate and move it. It also depends what platform are you using: some automatically add the identity values, some not. Check your documentation.</p>
<p>The identity matrix looks like this:</p>
<div class="wp-caption alignnone" style="width: 650px"><img title="The Identity Matrix" src="http://robertokoci.com/wp-content/gallery/world_view_transformation_matrix_unveiled/theidentiymatrix.png" alt="The Identity Matrix" width="640" height="320" /><p class="wp-caption-text">The Identity Matrix</p></div>
<p>It may confuse you that the rotation part is diagonally filled with 1&#8217;s and other are zeros. The reason for this is that in the rotation part you feed in the directions of the 3 axises that will rotate your input accordingly: row one is the X axis, row two is the Y axis and row three is the Z axis. In the given identity matrix example, row one points to the positive X direction, row two to positive Y direction (up), and the third points in the direction we are looking at: these match the axes on your scene, so no rotation is applied. Other fields are zero, because we do not modify anything.</p>
<p>In Ogre 3d, a loaded object, or a created one, already receives the matrix of it&#8217;s parent, so you do not have to think about these a lot. If you are programming in DirectX or OpenGL, you need to handle the matrices for yourself. Ogre has a number of functions that will modify matrices for different purposes, more-less automatically. You may use the <em>setPosition </em>(translation)<em>, setOrientation</em> (rotation) using quaternions and <em>setScale</em> (scale) to update Ogre&#8217;s internal matrix values. View and projection matrices are internally created by Ogre, and those you may completely forget about handling those &#8211; it does it for you.</p>
<h4>World Matrix</h4>
<p>When you create an object in your favorite 3d art creation programme, the object itself is in object space. If you created it on coordinates e.g. x=10, z=10 these numbers are put in the object&#8217;s <em>world transformation matrix</em>. The object itself is <em>never moved</em>. Now, if you rotate it clockwise for 30 degrees, that one &#8211; you guessed &#8211; will also be put in the object&#8217;s transformation matrix. I probably should not say that scaling is handled the same way. Before displaying the created object is multiplied with it&#8217;s transformation matrix and then presented.</p>
<p>To be more clear, let&#8217;s take a look to the next picture:</p>
<div class="wp-caption alignnone" style="width: 650px"><img title="Object and World Transform/Space" src="http://robertokoci.com/wp-content/gallery/world_view_transformation_matrix_unveiled/objectworldspace.png" alt="Object and World Transform/Space" width="640" height="320" /><p class="wp-caption-text">Object and World Transform/Space</p></div>
<p>This what I explained is VERY handy! Every transformation you do while creating the object, or later in your 3d engine, is in the <em>world transformation matrix</em>, and the object itself <em>never </em>moves. This is far better than moving/rotating/stretching every point of the object on the scene, specially if it has a lot of vertexes. Also, after a lot of operation on the object, as the precision of the float point values used in 3d math is not perfect, the object might (would) become distorted as errors are introduced in every operation you do. This never happens with the world transform matrix, as the object never moves actually. And, yes &#8211; <em>there is no spoon</em>. Only the Matrix. <img src='http://robertokoci.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>In Ogre you may use the mentioned object/node/root modifications to influence scene objects, as the matrix is an internal structure &#8211; regarding the Ogre scene class.</p>
<h4>View Matrix</h4>
<p>The view matrix is also known as the camera matrix. It transforms the entire world space into camera space. Similarly, as the world matrix transform puts the object form object space to world space, the view matrix transforms the space so the view space&#8217;s right points in the X direction, it&#8217;s top points to the Y direction, and the look direction becomes the positive z axis (if it&#8217;s a left hand matrix).</p>
<dl class="wp-caption alignnone" style="width: 650px;">
<dt class="wp-caption-dt"><img title="World Space and View Space" src="http://robertokoci.com/wp-content/gallery/world_view_transformation_matrix_unveiled/worldviewspace.png" alt="Object Space and World Space" width="640" height="320" /></dt>
</dl>
<p>I&#8217;ll add that the view matrix is actually the inverse of the camera matrix, because it transforms back the entire wold to it&#8217;s local coordinate system.</p>
<p>Now, you may think that with world and view transform matrix applied, you can already present your object on your screen, what is true, but there would be no perspective. The view matrix only transforms the objects to the camera&#8217;s space. What we additionally need is the:</p>
<h3>Projection Matrix</h3>
<p>The projection matrix is automatically handled by Ogre (yep, otherwise you create it on your own, but do not worry, refer to the platform documentation for creating a projection matrix in DirectX, OpenGL&#8230;). It is based on near and far view distance, angle of the view of the camera and your screen resolution proportion. When you create a camera, you just feed it with the data, and everything is a go:</p>
<div class="wp-caption alignnone" style="width: 650px"><img title="View and Projection Matrix" src="http://robertokoci.com/wp-content/gallery/world_view_transformation_matrix_unveiled/projectionmatrix.png" alt="View and Projection Matrix" width="640" height="320" /><p class="wp-caption-text">View and Projection Matrix</p></div>
<p>On the left is our object in world and view space, in which case we have no perspective &#8211; all the objects would be projected to the screen in a parallel fashion. On the right side, we introduce the projection matrix, which takes care of our perspective: the closer the object, larger it becomes, and vice versa. The X and the Y (Y here not visible, for the sake of simplification) axis becomes the surface of the computer display, and the Z axis is used to modify the size of the object. The white lines are the left and the right side of the display, near clipping is the closest point and the far clipping is the furthest plane limiting our projection space.</p>
<h3>Conclusion</h3>
<p>In order to display an object in 3d, we concluded that we need to have three matrices: <em>world</em>, <em>view </em>and <em>projection</em>. Another handy thing is that we can multiply all these matrices only once and create a combined World-View-projection matrix. Now, we only have to operate the vertexes of the objects with this combined matrix, and we already have a position on the screen! Simple! Ogre can give you this combined matrix e.g. in a shader automatically, you only need to call it. Otherwise, it is all done internally, and you do not have to worry about it.</p>
<p>On other platforms, the matrix is produced by:</p>
<p>matrix4&#215;4 World_View_Projection = <strong><em>World </em></strong>x <strong><em>View </em></strong>x <strong><em>Projection</em></strong></p>
<p>It is important to keep that order of multiplication, otherwise it will get messy. <img src='http://robertokoci.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  In this case x means matrix multiply. Refer to your platform documentation for details about matrix operators.</p>
<p>For using vertex/geometry/pixel shaders one needs to understand the subject we presented here: even in Ogre inputs to your shader need to be tunneled further, as you actually manually do all multiplications in order to get the object projected on the screen. And that is what gives you all the power with computer graphics &#8211; you can customize/enhance it further! Heh, I guess, after all, knowledge is power.</p>
<p>Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://robertokoci.com/world-view-and-projection-matrix-unveiled/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Basics of Light in 3D Computer Graphics</title>
		<link>http://robertokoci.com/basics-of-light-in-3d-computer-graphics/</link>
		<comments>http://robertokoci.com/basics-of-light-in-3d-computer-graphics/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 20:34:34 +0000</pubDate>
		<dc:creator>RobertoK</dc:creator>
				<category><![CDATA[3D Graphics Programming]]></category>

		<guid isPermaLink="false">http://robertokoci.com/?p=185</guid>
		<description><![CDATA[If you ever wondered how your desktop/laptop computer calculates and presents all the 3D graphics you see, if you are a beginner and want to learn how &#8211; this is the article for you!
It presents basics of how light and surfaces are interacting, the simply presented math (the math is actually quite complex, but presented [...]]]></description>
			<content:encoded><![CDATA[<p>If you ever wondered how your desktop/laptop computer calculates and presents all the 3D graphics you see, if you are a beginner and want to learn how &#8211; this is the article for you!</p>
<p>It presents basics of how light and surfaces are interacting, the simply presented math (the math is actually quite complex, but presented in &#8220;plain english&#8221; so anyone can understand) will shed a lot of light on the subject. It also contains functions used by popular shader languages so one can learn to use those too.</p>
<p>In the following series we shall go deeper and deeper into more complex structures of 3D lightning, shaders, optimizations, normal mapping, displacement mapping&#8230; and I shall  explain how you should think to achieve to programme your favorite graphics card (may it be NVidia or ATI, they both work just fine) and have the most out of it!</p>
<p>Examples and work is accompanied with NVidia&#8217;s Cg shader code, OGRE materials and meshes, so you can implement what you learned right on the spot!</p>
<p>So, let&#8217;s dig in!</p>
<p style="text-align: left;"><span id="more-185"></span></p>
<h3>How light affects objects</h3>
<p><em>&#8220;At the beginning, there was darkness, so God (yeah, in this case it&#8217;s You) created light, and everything was good.&#8221;</em></p>
<p>I&#8217;m not much of a religious guy but in this case I think it&#8217;s a really appropriate quote to use.  Without light you can not see your world, and you embedded so much time in creation of those 3d objects. As for the simplest case, let us for now reduce everything to 2d and consider the next image:</p>
<div class="wp-caption alignnone" style="width: 650px"><img title="Surface and light example" src="http://robertokoci.com/wp-content/gallery/basicsoflight1/light-and-surface.png" alt="Surface and light example" width="640" height="320" /><p class="wp-caption-text">Surface and light example</p></div>
<p>There is our basic plane (e.g. ground surface) and a light source just above it. The ground flat, and our light in this case is <strong><em>point based</em></strong>. What this means is that the light is coming out of a point in space and spreads it&#8217;s rays in every direction. Also known as <strong><em>omni light</em></strong>.</p>
<h3>Equation of Light</h3>
<p>In reality, light is bounced off the surface or absorbed. The steeper the angle, more is &#8220;eaten&#8221; by the object, thus getting darker. The light we see it actually reflected by the surfaces to our eyes. Direct angle -&gt; more light, steep angle -&gt;darkness. Simple.</p>
<p>How we actually calculate the amount of light in a given point is that we take the <strong><em>direction</em></strong> of where the light came from, and the <em><strong>normal</strong></em> of the surface. The amount of light recieved on the given spot will be the cosine of the angles between the normal and the light direction.</p>
<h4>Light amount  = cos(angle between (<em>Normal</em> and <em>Light Direction</em>))</h4>
<p>The good people designing graphics hardware gave us a helper so we do not have to manually calculate the angle and do a cosine, we only do a <strong><em>dot product</em></strong>:</p>
<h4>Light amount  = dot(N, L)</h4>
<p>where N is the normal of the surface, and L is the direction to the light. So, once you have the normal and the light direction, it&#8217;s a piece of cake to calculate the amount of light recieved at a given point on the surface.</p>
<h3>Light Decay and Distance</h3>
<p>In reality light spreads to infinite, but in computer graphics we do not want that because everything has to be calculated and it needs to be done optimally. The more lights you have on the scene the more time it takes for the GPU (Graphics Processor Unit, the BIG square chip on your graphics card with the LARGE heat sink) to calculate everything. Unless, we could approximate/optimize light.</p>
<p>In 3d computer simulations we use a model that has a final range of effect. Modern graphics engines, or some custom project someone might create, should contain effective optimization methods for calculating if a light effects an object. This is important. If we just kick in all the lights with an infinite range and all the geometry together we shall have a problem. We would have to calculate effect of every light, even if it&#8217;s effect is undetectable (minor, too small to effect the scene). Thus we introduce the &#8220;optimized&#8221; light source distance decay model:</p>
<div class="wp-caption alignnone" style="width: 650px"><img title="Decay of light intesity in real and simulated worlds" src="http://robertokoci.com/wp-content/gallery/basicsoflight1/fallof-model.png" alt="Decay of light intesity in real and simulated worlds" width="640" height="320" /><p class="wp-caption-text">Decay of light intesity in real and simulated worlds</p></div>
<p>The <span style="color: #ff0000;">real life model</span> has light influencing objects to infinity. The <span style="color: #339966;">optimized square distance</span> has an ending that is defined with the light source and the intermediate values are modified with math to simulate the square distance decay. The simplest model is the <span style="color: #0000ff;">optimized linear falloff</span> linearly decaying to the finite range. All these models are well known, and actually without the &#8220;optimized&#8221; word in front of them. I added it so you understand that we optimized the reality model to better fit our 3d graphics needs.</p>
<p>OGRE game engine has an automatic mode of calculating does a light reach a given object, so it is done for you, and you do not have to think about it. Of course, you need to feed OGRE with the range data, otherwise the light&#8217;s range is infinite by default.</p>
<h3>Light Types</h3>
<p>We already mentioned the point/omni light source. Other basic light types are:</p>
<ul>
<li><strong><em>directional light</em></strong> &#8211; light source is at infinite distance, so we are having parallel light rays. E.g. a Sun. It&#8217;s very far, so we do not bother with calculating where it comes from, we only declare it as a direction from where it arrived.</li>
<li><strong><em>spot light</em></strong> &#8211; has a source point and a target point.  It defines where the light comes and where it goes. There are two subcategories here. The light can be parallel or perspective. The point is that it always spreads from source to target, and behind the source point there shall be no light.</li>
</ul>
<p>You may ask, what&#8217;s the difference? Well, a directional light as all present on the scene, no matter where you go, and basically used as a &#8220;day light&#8221; simulation. On the other hand the spot lights are good for simulating localized effects like car lights, to bring light to your baseball field in the evening and such. Here is more visual example:</p>
<div class="wp-caption alignnone" style="width: 650px"><img title="Basic Light Types" src="http://robertokoci.com/wp-content/gallery/basicsoflight1/light-types.png" alt="Basic Light Types" width="640" height="320" /><p class="wp-caption-text">Basic Light Types</p></div>
<h3>Summary</h3>
<p>You may wonder why all this is important? Well, lights, scene and shaders  set up in a proper way will bring you rich and fast 3d graphics. It is basically easy to overload your graphics card. Of course it&#8217;s a form of art to bring users colorful, precise, rich and also fast 3d graphics.</p>
<p>The following articles in this series will bring you closer to 3d graphics and shaders, introducing gradually all the new things, so you don&#8217;t get overloaded.</p>
<p><em><strong>Next part: Basics of Light in 3D Computer Graphics &#8211; Your First Cg Shader (coming soon)</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://robertokoci.com/basics-of-light-in-3d-computer-graphics/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Photo Portfolio Updated</title>
		<link>http://robertokoci.com/178/</link>
		<comments>http://robertokoci.com/178/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 21:19:25 +0000</pubDate>
		<dc:creator>RobertoK</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://robertokoci.com/?p=178</guid>
		<description><![CDATA[I finally catch&#8217;d time to select some photos I took while my travelings! I uploaded those to HERE so you can check it out too.
These were taken back home and at the Canary Islands, where I lived the last 5 months.
Cheers!
]]></description>
			<content:encoded><![CDATA[<p>I finally catch&#8217;d time to select some photos I took while my travelings! I uploaded those to <a title="Photo portfolio" href="http://robertokoci.com/portfolio/photography" target="_self">HERE</a> so you can check it out too.</p>
<p>These were taken back home and at the <em><strong>Canary Islands</strong></em>, where I lived the last 5 months.</p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://robertokoci.com/178/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chapter 1 Related Files</title>
		<link>http://robertokoci.com/chapter-1-related-files/</link>
		<comments>http://robertokoci.com/chapter-1-related-files/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 09:13:08 +0000</pubDate>
		<dc:creator>RobertoK</dc:creator>
				<category><![CDATA[Wordpress Graphics]]></category>

		<guid isPermaLink="false">http://blog.robertokoci.com/?p=106</guid>
		<description><![CDATA[After downloading our eBook, for simpler understanding and excersise all the files mentioned can be downloaded here.
]]></description>
			<content:encoded><![CDATA[<p>After downloading our eBook, for simpler understanding and excersise all the files mentioned can be downloaded <a href="http://robertokoci.com/wp-content/uploads/2009/04/fastest_wordpress_content1.zip">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertokoci.com/chapter-1-related-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fastest WordPress Graphics Using Photoshop: 7 Killer Tutorials for $17</title>
		<link>http://robertokoci.com/fastest-wordpress-graphics-using-photoshop-7-killer-tutorials-for-17/</link>
		<comments>http://robertokoci.com/fastest-wordpress-graphics-using-photoshop-7-killer-tutorials-for-17/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 16:36:36 +0000</pubDate>
		<dc:creator>Dave Doolin</dc:creator>
				<category><![CDATA[Wordpress Graphics]]></category>

		<guid isPermaLink="false">http://blog.robertokoci.com/?p=98</guid>
		<description><![CDATA[I&#8217;ve been hard at work with Dr Wordpress (Website In A Weekend) creating an ebook we believe is a completely fresh approach to handling graphics image work&#8230; because we&#8217;re writing for you, the WordPress user without a huge graphics budget&#8230; that needs to get this &#8220;graphics thing&#8221; handled.
On Wed April 15, we&#8217;re going to release [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been hard at work with Dr Wordpress (<a href="http://website-in-a-weekend.net/">Website In A Weekend</a>) creating an ebook we believe is a completely fresh approach to handling graphics image work&#8230; because we&#8217;re writing for <em>you</em>, the WordPress user without a huge graphics budget&#8230; that needs to get this &#8220;graphics thing&#8221; handled.</p>
<p>On Wed April 15, we&#8217;re going to release &#8212; for a limited time &#8212; the first chapter of &#8220;Fastest WordPress Graphics.&#8221;</p>
<p>This first chapter dives into designing and creating a &#8220;favicon,&#8221; that little image that sits on your web browser tab, in the URL window, and gets listed out with your bookmark:</p>
<p>Now, the entire ebook is $17, but <a href="http://website-in-a-weekend.net/go/fastest-wordpress-graphics" class="broken_link" >we&#8217;re releasing Chapter 1 for free</a>.  We want you to have first crack at the material, and we&#8217;re interested in getting your feedback on how we can do even better in the rest of the ebook.</p>
<p>Here&#8217;s some of what you&#8217;ll find:</p>
<ul>
<li>Why favicons are necessary components of a well-designed website.</li>
<li>&#8220;Best practice&#8221; design strategies for extremely small graphics. What&#8217;s small is good, but small is harder.</li>
<li>Common pitfalls incurred using automated web-based tools. You definitely want to avoid these time wasters!</li>
<li>Specific techniques in Photoshop (with screenshots) for  creating favicons really fast and really accurately.</li>
<li>Links to every file and image shown in the ebook.  (We&#8217;re giving you Photoshop project files&#8230; hardly anyone does that&#8230; it&#8217;s worth at least triple the price of the whole ebook just for those alone&#8230; if you could even get them from your artist!)</li>
</ul>
<div id="article_links">
<div class="bookbox">
            <img src="http://website-in-a-weekend.net/wp-content/uploads/2009/04/fwg_cover_thumb.jpg" width="150" border="0" alt="" class="cover" /></p>
<p>
              <span class="booktitle">Fastest WordPress Graphics Using Photoshop:<br /> 7 Killer Tutorials for $17</p>
<p>              <em>Just what you need for getting your WordPress Graphics sorted out!</em>
            </p>
<p>
              <a href="http://website-in-a-weekend.net/go/fastest-wordpress-graphics" class="broken_link" ><strong>Get Yours Now!</strong></a>
            </p>
</p></div>
<p><!-- bookbox -->
        </div>
<p><!-- article_links --></p>
<p><strong>&gt;&gt;&gt;IMPORTANT:</strong> Make sure to read the Website In A Weekend article on favicons to learn <a href="http://website-in-a-weekend.net/getting-started/adding-faviconico-to-wordpress-for-professional-appearance/">how to add your completed favicon to your WordPress website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertokoci.com/fastest-wordpress-graphics-using-photoshop-7-killer-tutorials-for-17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test post</title>
		<link>http://robertokoci.com/test-post/</link>
		<comments>http://robertokoci.com/test-post/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 20:22:48 +0000</pubDate>
		<dc:creator>RobertoK</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://blog.robertokoci.com/?p=91</guid>
		<description><![CDATA[This is a test post for photoshop group.
]]></description>
			<content:encoded><![CDATA[<p>This is a test post for photoshop group.</p>
]]></content:encoded>
			<wfw:commentRss>http://robertokoci.com/test-post/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
