<?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>Reenigne blog &#187; graphics</title>
	<atom:link href="http://www.reenigne.org/blog/category/computer/graphics/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.reenigne.org/blog</link>
	<description>Stuff I think about</description>
	<lastBuildDate>Thu, 29 Jul 2010 05:12:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>CGA Hydra</title>
		<link>http://www.reenigne.org/blog/cga-hydra/</link>
		<comments>http://www.reenigne.org/blog/cga-hydra/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 00:00:40 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.reenigne.org/blog/?p=939</guid>
		<description><![CDATA[A while ago, Trixter challenged me to figure out if it was possible for a CGA card with both composite and RGB monitors attached to it to display a different image on each display. At first I thought this was impossible because the composite output is just a transformation of the RGB output &#8211; the [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago, <a href="http://trixter.wordpress.com">Trixter</a> challenged me to figure out if it was possible for a CGA card with both composite and RGB monitors attached to it to display a different image on each display. At first I thought this was impossible because the composite output is just a transformation of the RGB output &#8211; the RGB output contains all the information that the composite output contains.</p>
<p>But that reasoning only works if you&#8217;re close up. If you stand back sufficiently far from the screens, adjacent pixels will blur into each other so this is no longer necessarily true. Suppose we have a pattern that repeats every 4 high-resolution pixels (or half an 80-column character, or 1/160th of the screen width, or one colour carrier cycle) and we stand sufficiently far back that this looks like a solid colour. On the RGB monitor this will just be an average of the 4 colours making up the pattern. So, for example, black-black-white-black and white-black-black-black will look the same on the RGB monitor, but they will look different on the composite monitor because these two patterns have different phases with respect to the color carrier, so they will have different hues.</p>
<p>That explains how we can get details on the composite monitor but not on the RGB monitor, but what about the other way around? This is a bit more complicated, because it requires knowing some more details about how the CGA generates (non-artifact) colour on the composite output. For each of the 8 basic colours (black, blue, green, cyan, red, magenta, yellow and white) there is a different waveform generated on the card. The waveform for the current beam colour is sent to the composite output. The waveforms for black and white are just constant high and low pulses, but the waveforms for the 6 saturated colours are all square waves of the colour carrier frequency at different phases. The green and magenta lines switch between high and low on pixel boundaries, the other 4 at half-pixel boundaries (determined by the colour adjust trimpot on the motherboard).</p>
<p>What this means is that if you&#8217;re displaying a green and black or magenta and black image, the pixels are essentially ANDed with this square wave. The pixels corresponding to the low parts of these waves have no effect on the composite output. So you can use these pixels to make the image on the RGB monitor lighter or darker whilst having no effect on the composite image.</p>
<p>Here&#8217;s what the finished result is supposed to look like (with another image on an MDA display as well):</p>
<p><img class="centerwide" src="http://www.reenigne.org/misc/hydra_green.png"/></p>
<p>Note that I&#8217;ve allowed the composite image to show through on the RGB monitor a little in order to improve contrast.</p>
<p><a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fcga-hydra%2F&amp;linkname=CGA%20Hydra" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fcga-hydra%2F&amp;linkname=CGA%20Hydra" title="Digg" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fcga-hydra%2F&amp;linkname=CGA%20Hydra" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fcga-hydra%2F&amp;linkname=CGA%20Hydra" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fcga-hydra%2F&amp;linkname=CGA%20Hydra" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fcga-hydra%2F&amp;linkname=CGA%20Hydra" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.reenigne.org/blog/cga-hydra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stupid image resizing</title>
		<link>http://www.reenigne.org/blog/stupid-image-resizing/</link>
		<comments>http://www.reenigne.org/blog/stupid-image-resizing/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 23:00:43 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.reenigne.org/blog/?p=583</guid>
		<description><![CDATA[It greatly annoys me when web pages don&#8217;t resize images properly. In particular, one thing that there seems to be an epidemic of at the moment is web pages that embed images at one resolution and then use styles like &#8220;max-width: 100%&#8221; in a column narrower than the image. This makes the images look horrible [...]]]></description>
			<content:encoded><![CDATA[<p>It greatly annoys me when web pages don&#8217;t resize images properly. In particular, one thing that there seems to be an epidemic of at the moment is web pages that embed images at one resolution and then use styles like &#8220;max-width: 100%&#8221; in a column narrower than the image. This makes the images look horrible because most browsers (at least IE7 and Firefox 2) resize the images by just dropping columns, causing diagonal lines and curves to be all wavy. At least Firefox 3 gets this right and <a href="http://www.reenigne.org/blog/images">resamples the image</a> but it&#8217;s still a waste of bandwidth.</p>
<p>Along similar lines, <a href="http://www.4p8.com/eric.brasseur/gamma.html">here</a> is an interesting article about the interactions between gamma correction and image scaling. I hadn&#8217;t thought about that before (my own image resizing routines always just assumed a linear brightness scale) but this has definitely opened my eyes.</p>
<p><a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fstupid-image-resizing%2F&amp;linkname=Stupid%20image%20resizing" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fstupid-image-resizing%2F&amp;linkname=Stupid%20image%20resizing" title="Digg" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fstupid-image-resizing%2F&amp;linkname=Stupid%20image%20resizing" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fstupid-image-resizing%2F&amp;linkname=Stupid%20image%20resizing" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fstupid-image-resizing%2F&amp;linkname=Stupid%20image%20resizing" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fstupid-image-resizing%2F&amp;linkname=Stupid%20image%20resizing" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.reenigne.org/blog/stupid-image-resizing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ray tracing in GR</title>
		<link>http://www.reenigne.org/blog/ray-tracing-in-gr/</link>
		<comments>http://www.reenigne.org/blog/ray-tracing-in-gr/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 23:00:03 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[graphics]]></category>
		<category><![CDATA[physics]]></category>

		<guid isPermaLink="false">http://www.reenigne.org/blog/?p=683</guid>
		<description><![CDATA[Following on from this post, a natural generalization is that to non-Euclidean spaces. This is important for simulating gravity, for example rendering a scientifically accurate trip through a wormhole (something I have long wanted to do but never got to work). The main difference is that ones rays are curved in general, which makes the [...]]]></description>
			<content:encoded><![CDATA[<p>Following on from <a href="http://www.reenigne.org/blog/equations-for-3d-graphics">this post</a>, a natural generalization is that to non-Euclidean spaces. This is important for simulating gravity, for example rendering a scientifically accurate trip through a wormhole (something I have long wanted to do but never got to work). The main difference is that ones rays are curved in general, which makes the equations much more difficult (really they need to be numerically integrated, making it orders of magnitude slower than normal ray-tracing). One complication of this is that generally the rays will also curve between the eye point and the screen. But the rays between your screen and your eye in real life do not curve, so it would look wrong!</p>
<p>I think the way out of this is to make the virtual screen very small and close to the eye. This doesn&#8217;t affect the rendering in flat space (since only the directions of the rays matter) and effectively eliminates the need to take into account curvature between the screen and the eye (essentially it makes the observer into a locally Euclidean reference frame).</p>
<p>Another complications of simulated relativity is the inability to simulate time dilation. Well, you can simulate it perfectly well if you&#8217;re the only observer in the simulated universe but this would be a big problem for anyone who wanted to make a relativistically-accurate multiplayer game &#8211; as soon as the players are moving fast enough with respect to each other to have different reference frames, they will disagree about their expected relative time dilations.</p>
<p><a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fray-tracing-in-gr%2F&amp;linkname=Ray%20tracing%20in%20GR" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fray-tracing-in-gr%2F&amp;linkname=Ray%20tracing%20in%20GR" title="Digg" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fray-tracing-in-gr%2F&amp;linkname=Ray%20tracing%20in%20GR" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fray-tracing-in-gr%2F&amp;linkname=Ray%20tracing%20in%20GR" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fray-tracing-in-gr%2F&amp;linkname=Ray%20tracing%20in%20GR" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fray-tracing-in-gr%2F&amp;linkname=Ray%20tracing%20in%20GR" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.reenigne.org/blog/ray-tracing-in-gr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux cleartype subtly broken</title>
		<link>http://www.reenigne.org/blog/linux-cleartype-subtly-broken/</link>
		<comments>http://www.reenigne.org/blog/linux-cleartype-subtly-broken/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 23:00:13 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.reenigne.org/blog/?p=653</guid>
		<description><![CDATA[Most modern graphical desktops have an option to render fonts taking into account the positions of the sub-pixels on liquid crystal displays. Since these are always in the same positions relative to the pixels, one can subtly alter the horizontal position of something by changing its hue. This effectively triples the horizontal resolution, which can [...]]]></description>
			<content:encoded><![CDATA[<p>Most modern graphical desktops have an option to render fonts taking into account the positions of the sub-pixels on liquid crystal displays. Since these are always in the same positions relative to the pixels, one can subtly alter the horizontal position of something by changing its hue. This effectively triples the horizontal resolution, which can make for a great improvement in the readability of text.</p>
<p>Unfortunately, my Ubuntu desktop doesn&#8217;t do this correctly &#8211; some bits of text have a yellowish fringe and some bits of text have a bluish fringe, both of which are quite distracting. The problem is that while you can alter the horizontal position of something at sub-pixel intervals, you can only alter its width by whole pixels (otherwise the hue changes don&#8217;t cancel out and integrating over a region of the screen gives a yellow or cyan colour.</p>
<p>I&#8217;ve therefore had to switch my desktop to use grayscale anti-aliasing, which is a bit more blurry. Fortunately the pixels on my monitor are small enough that this doesn&#8217;t bother me very much. I do prefer the font rendering that Windows does, though. While FreeType does apparently include code to support Microsoft&#8217;s patented programmed hinting I can&#8217;t seem to get the font rendering on Linux to look as good as it does on Windows.</p>
<p><a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Flinux-cleartype-subtly-broken%2F&amp;linkname=Linux%20cleartype%20subtly%20broken" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Flinux-cleartype-subtly-broken%2F&amp;linkname=Linux%20cleartype%20subtly%20broken" title="Digg" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Flinux-cleartype-subtly-broken%2F&amp;linkname=Linux%20cleartype%20subtly%20broken" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Flinux-cleartype-subtly-broken%2F&amp;linkname=Linux%20cleartype%20subtly%20broken" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Flinux-cleartype-subtly-broken%2F&amp;linkname=Linux%20cleartype%20subtly%20broken" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Flinux-cleartype-subtly-broken%2F&amp;linkname=Linux%20cleartype%20subtly%20broken" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.reenigne.org/blog/linux-cleartype-subtly-broken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Equations for 3D graphics</title>
		<link>http://www.reenigne.org/blog/equations-for-3d-graphics/</link>
		<comments>http://www.reenigne.org/blog/equations-for-3d-graphics/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 23:00:54 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.reenigne.org/blog/?p=651</guid>
		<description><![CDATA[When I first learnt how to do 3D graphics it was as a recipe. You take your 3D world coordinates x, y and z and rotate them (rotation matrices around the coordinate axes are particularly easy to write down). If you want perspective, you then divide x and y by z (for isometric views just [...]]]></description>
			<content:encoded><![CDATA[<p>When I first learnt how to do 3D graphics it was as a recipe. You take your 3D world coordinates x, y and z and rotate them (rotation matrices around the coordinate axes are particularly easy to write down). If you want perspective, you then divide x and y by z (for isometric views just ignore z). Next you scale the result by the number of pixels per world-coordinate unit at z=1 and translate so that x=y=0 is in the center of the screen.</p>
<p>This worked great, but didn&#8217;t tell me why this was the right thing to do.</p>
<p>Later, reading about ray tracing I realized what was really going on. Your model is in 3D space but also in 3D space are some additional points &#8211; the entrance pupil of your eye and the pixels that make up your screen. If you imagine a straight line from your eye passing through a particular point of your model and going on to infinity, that line may also pass through the screen. If it does, the point on the screen that it passes through corresponds to the pixel on the physical screen at which that point should be drawn.</p>
<p>Since computer screens are generally rectangular, if the positions of the corners of the screen are a, b, c and d (a and d being diagonally opposite to each other) the position of the fourth corner can be determined from the first three by using the equation a+b=c+d. So to fix the position, orientation and size of the screen we only need to consider 3 corners (a, b and c). We also need to consider the position of the eye, e, which is independent of a, b and c. We thus have 12 degrees of freedom (3 coordinates each for a, b, c and e). Three of these degrees of freedom correspond to translations of the whole screen/eye system in 3D space. Two of them correspond to orientation (looking up/down and left/right). Two correspond to the horizontal and vertical size of the screen. Three more give the position of the eye relative to the screen. One more gives the &#8220;twist&#8221; of the screen (rotation along the axis between the eye and the closest point on the screen plane). That&#8217;s eleven degrees of freedom &#8211; what&#8217;s the other one? It took me a while to find it but eventually I realized that I was under-contraining a, b and c &#8211; the remaining degree of freedom is the angle between the top and left edges of the screen (which for every monitor I&#8217;ve ever seen will be 90 degrees &#8211; nice to know that this system can support different values for this though).</p>
<p>If you solve the equations, this system turns out to be exactly the same transformations as the original recipe, only a little more general and somewhat better justified. It also unifies the perspective and isometric views &#8211; isometric is what you get if the distance between the eye and the screen is infinity. Obviously if you were really infinitely far away from your computer screen you wouldn&#8217;t be able to see anything on it, which is why the isometric view doesn&#8217;t look as realistic as the perspective view.</p>
<p>Many 3D graphics engines allow you to set a parameter called &#8220;perspective&#8221; or &#8220;field of view&#8221; which effectively increases or decreases how &#8220;distorted&#8221; the perspective looks and how much peripheral vision you have. This is essentially the same as the eye-screen distance in my model. To get the most realistic image the FoV should be set according to the distance between your eyes and your screen.</p>
<p><a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fequations-for-3d-graphics%2F&amp;linkname=Equations%20for%203D%20graphics" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fequations-for-3d-graphics%2F&amp;linkname=Equations%20for%203D%20graphics" title="Digg" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fequations-for-3d-graphics%2F&amp;linkname=Equations%20for%203D%20graphics" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fequations-for-3d-graphics%2F&amp;linkname=Equations%20for%203D%20graphics" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fequations-for-3d-graphics%2F&amp;linkname=Equations%20for%203D%20graphics" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fequations-for-3d-graphics%2F&amp;linkname=Equations%20for%203D%20graphics" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.reenigne.org/blog/equations-for-3d-graphics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Generations of screen sizes</title>
		<link>http://www.reenigne.org/blog/generations-of-screen-sizes/</link>
		<comments>http://www.reenigne.org/blog/generations-of-screen-sizes/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 23:00:25 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.reenigne.org/blog/?p=516</guid>
		<description><![CDATA[If you make a list of common screen resolutions and plot them on a log/log scale, you will notice that a regular pattern emerges &#8211; given an x by y resolution, x*2 by y*2 also tends to be common. However the sizes are not evenly distributed throughout logarithmic spaces &#8211; there are gaps which suggest [...]]]></description>
			<content:encoded><![CDATA[<p>If you make a list of common screen resolutions and plot them on a log/log scale, you will notice that a regular pattern emerges &#8211; given an x by y resolution, x*2 by y*2 also tends to be common. However the sizes are not evenly distributed throughout logarithmic spaces &#8211; there are gaps which suggest different &#8220;generations&#8221; of monitor sizes, each monitor having 4 times the number of pixels as the corresponding monitor in the previous generation. I suspect this is because of the influence of TV &#8211; the resolutions are clustered around powers of 2 of TV resolutions.</p>
<p>Generation 1 &#8211; 256-480 pixels wide, 180-300 pixels tall (non-interlaced TV, handhelds)<br />
Generation 2 &#8211; 512-960 pixels wide, 360-600 pixels tall (interlaced TV, older computer monitors)<br />
Generation 3 &#8211; 1024-1920 pixels wide, 720-1200 pixels tall (most current computer monitors)<br />
Generation 4 &#8211; 2048-3840 pixels wide, 1440-2400 pixels tall (&#8220;Q&#8221; standards &#8211; very high end monitors)<br />
Generation 5 &#8211; 4096-7680 pixels wide, 2880-4800 pixels tall (&#8220;H&#8221; standards &#8211; no monitors exist yet)</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.reenigne.org/misc/resolutions_graph.png" alt="" /></p>
<p><a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fgenerations-of-screen-sizes%2F&amp;linkname=Generations%20of%20screen%20sizes" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fgenerations-of-screen-sizes%2F&amp;linkname=Generations%20of%20screen%20sizes" title="Digg" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fgenerations-of-screen-sizes%2F&amp;linkname=Generations%20of%20screen%20sizes" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fgenerations-of-screen-sizes%2F&amp;linkname=Generations%20of%20screen%20sizes" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fgenerations-of-screen-sizes%2F&amp;linkname=Generations%20of%20screen%20sizes" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fgenerations-of-screen-sizes%2F&amp;linkname=Generations%20of%20screen%20sizes" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.reenigne.org/blog/generations-of-screen-sizes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rendering rings of teleportation</title>
		<link>http://www.reenigne.org/blog/rendering-rings-of-teleportation/</link>
		<comments>http://www.reenigne.org/blog/rendering-rings-of-teleportation/#comments</comments>
		<pubDate>Wed, 04 Jun 2008 23:00:06 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[graphics]]></category>
		<category><![CDATA[physics]]></category>

		<guid isPermaLink="false">http://www.reenigne.org/blog/?p=482</guid>
		<description><![CDATA[Rings of teleportation are very handy things to have around. The surface bounded by one ring is equated with the surface bounded by the other, so if you put something through one ring it will come out through the other. (Like the portals in &#8220;Portal&#8221;, but more portable). They don&#8217;t exist, of course, but this [...]]]></description>
			<content:encoded><![CDATA[<p>Rings of teleportation are very handy things to have around. The surface bounded by one ring is equated with the surface bounded by the other, so if you put something through one ring it will come out through the other. (Like the portals in &#8220;Portal&#8221;, but more portable). They don&#8217;t exist, of course, but this technicality doesn&#8217;t prevent us from drawing pictures of them.</p>
<p>Writing code to render these things is an interesting exercise. It&#8217;s easy to do with a ray tracer &#8211; if a ray intersects the disc inside one ring, just continue it to the equivalent point on the other ring.</p>
<p>Once that&#8217;s working, you can put the rings side-by-side so that light goes around in circles &#8211; if you put your eye point in the middle you can see an infinite tunnel.</p>
<p>A trick you can play is to reverse the orientation of one of the rings so that you look through one ring, out of the other to an object, the object will appear to you to be inverted, as in a mirror image.</p>
<p>Another trick is to make the rings different sizes, or shapes. As long as there is a 1:1 function equating points on one surface with points on the other, it works fine.</p>
<p>However, having rings of different sizes or non-circular shapes opens the possibility of putting one ring through the other. What happens then? It seems like the &#8220;infinite tunnel&#8221; then becomes a real thing rather than just an optical effect, but where does the second ring exist in real space? It seems that the only place it can appear is through the other side of the first ring, but that would mean that every point in space appears in an infinite number of places &#8211; this seems like it would have rather drastic consequences.</p>
<p>So it seems more likely that the second ring would be prevented from going through the first somehow (perhaps a ring edge would get in the way).</p>
<p><a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Frendering-rings-of-teleportation%2F&amp;linkname=Rendering%20rings%20of%20teleportation" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Frendering-rings-of-teleportation%2F&amp;linkname=Rendering%20rings%20of%20teleportation" title="Digg" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Frendering-rings-of-teleportation%2F&amp;linkname=Rendering%20rings%20of%20teleportation" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Frendering-rings-of-teleportation%2F&amp;linkname=Rendering%20rings%20of%20teleportation" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Frendering-rings-of-teleportation%2F&amp;linkname=Rendering%20rings%20of%20teleportation" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Frendering-rings-of-teleportation%2F&amp;linkname=Rendering%20rings%20of%20teleportation" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.reenigne.org/blog/rendering-rings-of-teleportation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I want from an HDR workflow</title>
		<link>http://www.reenigne.org/blog/what-i-want-from-an-hdr-workflow/</link>
		<comments>http://www.reenigne.org/blog/what-i-want-from-an-hdr-workflow/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 23:00:47 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.reenigne.org/blog/?p=481</guid>
		<description><![CDATA[Once I&#8217;ve got my HDR camera and my HDR monitor, I&#8217;ll need new photographic workflow applications to get the images looking the way I want them. I expect that there will be a few parameters that I&#8217;ll almost always want to tweak, much as I almost always re-crop my photos at the moment. These parameters [...]]]></description>
			<content:encoded><![CDATA[<p>Once I&#8217;ve got my HDR camera and my HDR monitor, I&#8217;ll need new photographic workflow applications to get the images looking the way I want them. I expect that there will be a few parameters that I&#8217;ll almost always want to tweak, much as I almost always re-crop my photos at the moment. These parameters are likely to be:</p>
<ul>
<li>Colour balance (2D slider)</li>
<li>Exposure (slider)</li>
<li>Dynamic range compression (slider)</li>
<li>Tone mapping radius (slider)</li>
</ul>
<p>The last two of these reproduce the functionality of current HDR applications, allowing creation of tone-mapped images for non-HDR output (like printing, or legacy monitors).</p>
<p><a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fwhat-i-want-from-an-hdr-workflow%2F&amp;linkname=What%20I%20want%20from%20an%20HDR%20workflow" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fwhat-i-want-from-an-hdr-workflow%2F&amp;linkname=What%20I%20want%20from%20an%20HDR%20workflow" title="Digg" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fwhat-i-want-from-an-hdr-workflow%2F&amp;linkname=What%20I%20want%20from%20an%20HDR%20workflow" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fwhat-i-want-from-an-hdr-workflow%2F&amp;linkname=What%20I%20want%20from%20an%20HDR%20workflow" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fwhat-i-want-from-an-hdr-workflow%2F&amp;linkname=What%20I%20want%20from%20an%20HDR%20workflow" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fwhat-i-want-from-an-hdr-workflow%2F&amp;linkname=What%20I%20want%20from%20an%20HDR%20workflow" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.reenigne.org/blog/what-i-want-from-an-hdr-workflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The high dynamic range revolution</title>
		<link>http://www.reenigne.org/blog/the-high-dynamic-range-revolution/</link>
		<comments>http://www.reenigne.org/blog/the-high-dynamic-range-revolution/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 23:00:25 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.reenigne.org/blog/?p=480</guid>
		<description><![CDATA[Currently some people are making beautiful HDR images like these. This takes an input image with a high dynamic range (often composed of multiple exposures with different exposure times to get good colour resolution over a wide range of brightnesses) and &#8220;compresses&#8221; the range down to monitor or printout ranges. This can give an effect [...]]]></description>
			<content:encoded><![CDATA[<p>Currently some people are making beautiful HDR images like <a href="http://www.flickr.com/groups/hdr/pool/">these</a>. This takes an input image with a high dynamic range (often composed of multiple exposures with different exposure times to get good colour resolution over a wide range of brightnesses) and &#8220;compresses&#8221; the range down to monitor or printout ranges. This can give an effect similar to an oil painting (painters use similar techniques).</p>
<p>But such techniques will soon become unnecessary as the dynamic range that monitors can display increases. As <a href="http://www.reenigne.org/blog/computer-graphics-of-the-future/">I&#8217;ve mentioned before</a> I&#8217;ve seen <a href="http://www.dolby.com/promo/hdr/technology.html">this technology</a> in action and it&#8217;s seriously impressive &#8211; the pictures are incredibly realistic, like looking out of a window. As these monitors drop in price they will become ubiquitous and then we will want to take pictures that take full advantage of them.</p>
<p>Shooting RAW with a good digital SLR goes some way towards this, but I think that with the new generation of monitors will come a new generation of cameras optimized for taking HDR images. This might be as simple as reading the sensor several times over the course of the exposure, or it might be a completely new sensor design.</p>
<p>With new monitors and new cameras, the entire graphics pipeline will be re-engineered for HDR.</p>
<p><a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fthe-high-dynamic-range-revolution%2F&amp;linkname=The%20high%20dynamic%20range%20revolution" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fthe-high-dynamic-range-revolution%2F&amp;linkname=The%20high%20dynamic%20range%20revolution" title="Digg" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fthe-high-dynamic-range-revolution%2F&amp;linkname=The%20high%20dynamic%20range%20revolution" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fthe-high-dynamic-range-revolution%2F&amp;linkname=The%20high%20dynamic%20range%20revolution" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fthe-high-dynamic-range-revolution%2F&amp;linkname=The%20high%20dynamic%20range%20revolution" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fthe-high-dynamic-range-revolution%2F&amp;linkname=The%20high%20dynamic%20range%20revolution" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.reenigne.org/blog/the-high-dynamic-range-revolution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Photographic workflow</title>
		<link>http://www.reenigne.org/blog/photographic-workflow/</link>
		<comments>http://www.reenigne.org/blog/photographic-workflow/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 23:00:54 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[graphics]]></category>

		<guid isPermaLink="false">http://www.reenigne.org/blog/?p=479</guid>
		<description><![CDATA[The workflow that I use for the photographs on my website has remained pretty much unchanged for many years. Copy the photos from the card to the computer and then delete them from the card. Open the folder of photos in ACDSee and delete any obvious duds. Open all the photos in Paint Shop Pro [...]]]></description>
			<content:encoded><![CDATA[<p>The workflow that I use for the photographs on my website has remained pretty much unchanged for many years.
<ol>
<li>Copy the photos from the card to the computer and then delete them from the card.</li>
<li>Open the folder of photos in ACDSee and delete any obvious duds.</li>
<li>Open all the photos in Paint Shop Pro 4 (yes, I know it&#8217;s ancient but it works well, I know my way around all the tools and it&#8217;s fast).</li>
<li>I look for similar photos and close the ones that are redundant or unattractive, eventually whittling it down to the set of photos that will form a nice album page.</li>
<li>I rotate (sometimes by arbitrary angles) and crop. Sometimes I&#8217;ll adjust brightness and/or contrast to save a poor photo if there&#8217;s something in particular that I want to have a picture of. Sometimes I&#8217;ll use a more sophistical program like Photoshop to remove redeye or do other colour manipulations.</li>
<li>Very occasionally I will use the clone tool to erase something that I don&#8217;t want in the photo.</li>
<li>I&#8217;ll resample the photos to the appropriate size and save them as jpgs.</li>
<li>Finally I&#8217;ll manipulate the directory listing in a text editor to create the html file, add captions and upload the lot.</li>
</ol>
<p>Someday I&#8217;ll trade in my trusty Olympus C3000Z and get a nice digital SLR. But I might wait a few years because the high dynamic range revolution is coming. More about that tomorrow.</p>
<p><a href="http://www.addtoany.com/add_to/reddit?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fphotographic-workflow%2F&amp;linkname=Photographic%20workflow" title="Reddit" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/reddit.png" width="16" height="16" alt="Reddit"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fphotographic-workflow%2F&amp;linkname=Photographic%20workflow" title="Digg" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fphotographic-workflow%2F&amp;linkname=Photographic%20workflow" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/stumbleupon?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fphotographic-workflow%2F&amp;linkname=Photographic%20workflow" title="StumbleUpon" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/stumbleupon.png" width="16" height="16" alt="StumbleUpon"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fphotographic-workflow%2F&amp;linkname=Photographic%20workflow" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fwww.reenigne.org%2Fblog%2Fphotographic-workflow%2F&amp;linkname=Photographic%20workflow" title="Delicious" rel="nofollow" target="_blank"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.reenigne.org/blog/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.reenigne.org/blog/photographic-workflow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
