<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.povray.org/content?action=history&amp;feed=atom&amp;title=Documentation%3ATutorial_Section_4.1</id>
	<title>Documentation:Tutorial Section 4.1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.povray.org/content?action=history&amp;feed=atom&amp;title=Documentation%3ATutorial_Section_4.1"/>
	<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;action=history"/>
	<updated>2026-04-27T19:25:20Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;diff=1918&amp;oldid=prev</id>
		<title>Jholsenback: replaced entire passage with updated answer and changed heading</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;diff=1918&amp;oldid=prev"/>
		<updated>2009-10-17T15:50:28Z</updated>

		<summary type="html">&lt;p&gt;replaced entire passage with updated answer and changed heading&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:50, 17 October 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l303&quot; &gt;Line 303:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 303:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Can POV-Ray use multiple processors?===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Can POV-Ray use &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;multithreading and/or &lt;/ins&gt;multiple processors?===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Short answer: &lt;/del&gt;The &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;only way to run &lt;/del&gt;POV-Ray &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;on &lt;/del&gt;multiple processors &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is &lt;/del&gt;to&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;The &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;new &lt;/ins&gt;POV-Ray &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;3.7 supports &lt;/ins&gt;multiple processors&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. It uses available processors automatically so you don't have &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;explicitly turn the feature on&lt;/ins&gt;.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;run several copies of POV-Ray&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Background&lt;/ins&gt;:&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Previously there was an explanation here about why supporting &lt;/ins&gt;multiple &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;processors &lt;/ins&gt;is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;very &lt;/ins&gt;difficult &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;in a raytracer like &lt;/ins&gt;POV-Ray&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. The problems were indeed many&lt;/ins&gt;, and a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;great amount &lt;/ins&gt;of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;work &lt;/ins&gt;has been &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;put into redesigning the internal structure &lt;/ins&gt;of POV-Ray &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to &lt;/ins&gt;support &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;parallel rendering&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Especially &lt;/ins&gt;the radiosity &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;algorithm has been greatly reworked &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;order to make it possible to render &lt;/ins&gt;in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;parallel (but much &lt;/ins&gt;of the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;work has been put into internal code structuring not visible to &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;end user)&lt;/ins&gt;.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;You might have heard of parallel processing patches for pov3&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;6 and earlier&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The problem with these patches &lt;/ins&gt;is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;that they basically just start several copies of &lt;/ins&gt;POV-Ray&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, giving them different parts &lt;/ins&gt;of the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;image &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;render&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;This &lt;/ins&gt;is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;problematic because &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;amount of memory needed &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;render &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;scene increases directly in relation &lt;/ins&gt;to the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;amount of parallel processes&lt;/ins&gt;. This &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;means that if you eg. render with two processors using such patch&lt;/ins&gt;, the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;amount &lt;/ins&gt;of &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;memory needed to render the scene gets doubled&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;The new pov3&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;7&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;however&lt;/ins&gt;, is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;able &lt;/ins&gt;to render in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;parallel using as many processors as desired without any significant increase in memory&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Long answer&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;usage&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;This means that if &lt;/ins&gt;a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;scene requires 1 gigabyte of memory &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;render&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;rendering the scene using 8 processors still requires just 1 gigabyte of memory (with &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;old third-party patches it would have required 8 gigabytes)&lt;/ins&gt;.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Making a program use &lt;/del&gt;multiple &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;threads &lt;/del&gt;is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;not as trivial as it may sound.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Here are some reasons why it is quite &lt;/del&gt;difficult &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to make with &lt;/del&gt;POV-Ray&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;ul&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;li&amp;gt;You cannot do it with standard C (nor C++)&lt;/del&gt;, and &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;POV-Ray is intended to&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;be very portable. This is not just an issue of philosophy or purism,&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;POV-Ray is really used on &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;large variety &lt;/del&gt;of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;different platforms.&amp;lt;/li&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;li&amp;gt;Multithreading is a very complex issue and it is much more difficult to&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;make a bugless multithreaded program than a single-threaded (there are&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;several things in multithreading, like mutual exclusion problems, which&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;make the multithreaded program very non-deterministic). It is not&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;impossible, though, since it &lt;/del&gt;has been &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;done (there are patched versions&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;of POV-Ray &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;with multithreading &lt;/del&gt;support&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;). However, it is far from trivial&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/li&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;li&amp;gt;Raytracing is usually thought as an easily threaded problem. You just&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;calculate one pixel and draw it on screen, independent of &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;other&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pixels. However, with advanced techniques, like antialiasing and&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;specially stochastic global illumination calculation (referred as&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;quot;&lt;/del&gt;radiosity&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;amp;quot; &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;POV-Ray's documentation and syntax) this is not true anymore.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;ul&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;li&amp;gt;To speed up antialiasing, a threshold value is used between pixels.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;If the difference &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;color between two pixels is higher than the&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;threshold, then antialiasing is calculated. Of course we need info&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;from the nearby pixels for this.&amp;lt;/li&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;li&amp;gt;In global illumination calculations lighting values are stored in a&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;spatial tree structure. The following pixels may use the information&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;stored in this tree for their illumination. This means that the pixel&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;calculation at the upper left corner may affect on the color &lt;/del&gt;of the&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pixel in &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;lower right corner. This is the reason why calculating&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a radiosity image in parts does not work very well&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/li&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/ul&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Both problems can probably be solved in some way, but as said, it is far&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;from trivial.&amp;lt;/li&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/ul&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;An excellent article about the issue can be found on the&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;[http://www&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;acm&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;org/tog/resources/RTNews/html/rtnv12n2.html#art3 Ray Tracing News web page].&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;p&amp;gt;Here &lt;/del&gt;is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;an answer from John M. Dlugosz with useful tips:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The &lt;/del&gt;POV-Ray &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;rendering engine is a single thread &lt;/del&gt;of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;execution, so when&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;run on a dual Pentium Pro (running NT4) &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;CPU indicator only goes up&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;about 50%&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;POV does not use more than half the available power on the&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;machine.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;That &lt;/del&gt;is the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;basic issue, though &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;quibble a bit it is not exactly true:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;rendering engine soaks up one whole CPU, but the editor runs on its&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;own thread, and operating system functions (writing &lt;/del&gt;to the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;file, updating&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the display, network activity, system background tasks) run on different&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;threads&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;This &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;gives a little bit of a bonus&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;system uses as much&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;as 54% &lt;/del&gt;of &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;available MIPS when watching it&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; More importantly, the machine&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is still highly responsive, and editing or other applications continue on&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;without being sluggish&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;But for a long render&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;it is annoying to have one CPU be mostly idle.  What&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;can be done to cut rendering time in half (from 20 hours down to 10&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;for&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;example)?&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The simplest thing &lt;/del&gt;is to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;run two copies of POV on the machine.  Have one&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;copy &lt;/del&gt;render &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the top half, and the other render the bottom half.  Then paste&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the halves together &lt;/del&gt;in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;your picture editor.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;One thing to watch out for:  do not just fire up two copies and point them at&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the same INI file and image file&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; They will overwrite each other's output&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and make &lt;/del&gt;a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;big mess.  Instead, you must make sure each is writing &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;a&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;different file.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;p&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;For moderate renders&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;you might let one copy chug away on &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;long render,&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and use a second copy interactivly to continue development in POV&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Can I get a wireframe render of my scene?===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Can I get a wireframe render of my scene?===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jholsenback</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;diff=1554&amp;oldid=prev</id>
		<title>Jholsenback: external link handling change after recent update</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;diff=1554&amp;oldid=prev"/>
		<updated>2009-06-23T15:49:05Z</updated>

		<summary type="html">&lt;p&gt;external link handling change after recent update&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:49, 23 June 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l291&quot; &gt;Line 291:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 291:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;still need to compile them into the animation format that you wish to&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;still need to compile them into the animation format that you wish to&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;use such as AVI or MPEG.  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;use such as AVI or MPEG.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See our [http://povray.org/links/3D_Animation_Utilities/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;&lt;/del&gt;links collection on our website&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/span&amp;gt;&lt;/del&gt;] for programs that can help you do this. POV-Ray has no internal ability to&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See our [http://povray.org/links/3D_Animation_Utilities/ links collection on our website] for programs that can help you do this. POV-Ray has no internal ability to&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;do this for you except on the Macintosh platform of the program.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;do this for you except on the Macintosh platform of the program.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l347&quot; &gt;Line 347:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 347:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;An excellent article about the issue can be found on the&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;An excellent article about the issue can be found on the&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://www.acm.org/tog/resources/RTNews/html/rtnv12n2.html#art3&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;&lt;/del&gt;Ray Tracing News web page&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/span&amp;gt;&lt;/del&gt;].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://www.acm.org/tog/resources/RTNews/html/rtnv12n2.html#art3 Ray Tracing News web page].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l656&quot; &gt;Line 656:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 656:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;For POV-Ray 2.2: Try [http://www.europa.com/~keithr/crossroads&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;&lt;/del&gt;Crossroads&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/span&amp;gt;&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;For POV-Ray 2.2: Try [http://www.europa.com/~keithr/crossroads Crossroads]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;or if you want to convert to Moray MDL files, try [http://www.tb-software.com/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;&lt;/del&gt;POV2MDL&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/span&amp;gt;&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;or if you want to convert to Moray MDL files, try [http://www.tb-software.com/ POV2MDL]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;from Thomas Baier.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;from Thomas Baier.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l665&quot; &gt;Line 665:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 665:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;real versatile program yet, that can read (and convert) POV-Ray 3.1 scripts&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;real versatile program yet, that can read (and convert) POV-Ray 3.1 scripts&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(except for POV-Ray itself :-). Your best shots would be:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;(except for POV-Ray itself :-). Your best shots would be:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://www9.informatik.uni-erlangen.de/~cnvogelg/pov2rib/index.html&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;&lt;/del&gt;POV2RIB&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/span&amp;gt;&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://www9.informatik.uni-erlangen.de/~cnvogelg/pov2rib/index.html POV2RIB]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;if you want to convert to the RIB format. If you know how to program C++, you can&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;if you want to convert to the RIB format. If you know how to program C++, you can&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;get the ParPov C++ library from the same URL. It is a class-library for&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;get the ParPov C++ library from the same URL. It is a class-library for&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l685&quot; &gt;Line 685:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 685:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===How can I convert my scenes from format X to POV-Ray format?===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===How can I convert my scenes from format X to POV-Ray format?===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://www.europa.com/~keithr/crossroads&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;&lt;/del&gt;Crossroads&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/span&amp;gt;&lt;/del&gt;]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://www.europa.com/~keithr/crossroads Crossroads]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;can convert a very limited subset of Povray primitives (spheres and triangles work best).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;can convert a very limited subset of Povray primitives (spheres and triangles work best).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Particularly, it can be used to convert unions of regular (non smooth) triangles to other&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Particularly, it can be used to convert unions of regular (non smooth) triangles to other&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l691&quot; &gt;Line 691:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 691:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Another option is [http://www.tb-software.com/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;&lt;/del&gt;3DWin&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/span&amp;gt;&lt;/del&gt;].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Another option is [http://www.tb-software.com/ 3DWin].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l698&quot; &gt;Line 698:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 698:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;such as 3D-Studio can be used by first converting them with a proper&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;such as 3D-Studio can be used by first converting them with a proper&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;converter. You can find a list of converters and other related software in the  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;converter. You can find a list of converters and other related software in the  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://www.povray.org/links/3D_Programs/Conversion_Utilities/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;&lt;/del&gt;links collection on our website&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/span&amp;gt;&lt;/del&gt;].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://www.povray.org/links/3D_Programs/Conversion_Utilities/ links collection on our website].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!--&amp;lt;wikinav&amp;gt;---&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;!--&amp;lt;wikinav&amp;gt;---&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jholsenback</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;diff=1423&amp;oldid=prev</id>
		<title>Jholsenback: Protected &quot;Documentation:Tutorial Section 4.1&quot; [edit=sysop:move=sysop]</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;diff=1423&amp;oldid=prev"/>
		<updated>2009-03-10T18:18:52Z</updated>

		<summary type="html">&lt;p&gt;Protected &amp;quot;&lt;a href=&quot;/content/Documentation:Tutorial_Section_4.1&quot; title=&quot;Documentation:Tutorial Section 4.1&quot;&gt;Documentation:Tutorial Section 4.1&lt;/a&gt;&amp;quot; [edit=sysop:move=sysop]&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:18, 10 March 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Jholsenback</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;diff=1397&amp;oldid=prev</id>
		<title>Jholsenback: 1 revision(s)</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;diff=1397&amp;oldid=prev"/>
		<updated>2009-03-10T18:02:53Z</updated>

		<summary type="html">&lt;p&gt;1 revision(s)&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:02, 10 March 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Jholsenback</name></author>
	</entry>
	<entry>
		<id>https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;diff=1396&amp;oldid=prev</id>
		<title>WikiSysop: /* Can I get a wireframe render of my scene? */</title>
		<link rel="alternate" type="text/html" href="https://wiki.povray.org/content?title=Documentation:Tutorial_Section_4.1&amp;diff=1396&amp;oldid=prev"/>
		<updated>2009-03-06T16:10:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Can I get a wireframe render of my scene?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!--&amp;lt;wikitalk&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;table width=100% border=1 cellspacing=0 cellpadding=5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=100% bgcolor=#FFEEEE&amp;gt;&lt;br /&gt;
This document is protected, so submissions, corrections and discussions should be held on this documents [[Documentation_Talk:Tutorial Section 4.1|talk]] page.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;/wikitalk&amp;gt;---&amp;gt;&lt;br /&gt;
===Rotation behaves very strangely===&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;&amp;amp;quot;When I rotate an object, it dissapears from the image or moves very&lt;br /&gt;
strangely. Why?&amp;amp;quot;&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;You need to understand how rotation works in POV-Ray.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Objects are &amp;lt;strong&amp;gt;always&amp;lt;/strong&amp;gt; rotated around the axes. When you rotate, for&lt;br /&gt;
example, &amp;lt;code&amp;gt;&amp;amp;lt;20,0,0&amp;amp;gt;&amp;lt;/code&amp;gt;, that means that you are rotating&lt;br /&gt;
around the X-axis&lt;br /&gt;
20 degrees (counter-clockwise). This is independent of the location of the&lt;br /&gt;
object: It always rotates around the axis (what is the center of the object&lt;br /&gt;
anyways? how do you locate it?). This means that if the object is not&lt;br /&gt;
centered in the axis, it will orbit this axis like the Moon orbits the Earth&lt;br /&gt;
(showing always the same side to the Earth).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It is a very good practice to define all objects centered at the origin&lt;br /&gt;
(ie. its 'center' is located at &amp;lt;code&amp;gt;&amp;amp;lt;0,0,0&amp;amp;gt;&amp;lt;/code&amp;gt;). Then you&lt;br /&gt;
can rotate it&lt;br /&gt;
arbitrarily. After this you can translate it to its proper location in the&lt;br /&gt;
scene. It is a good idea to do this to every object even if you do not rotate&lt;br /&gt;
it (because you cannot never say if you will rotate it some day nevertheless).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;What if, after all, you have a very complex object defined, but its&lt;br /&gt;
center is not at the origin, and you want to rotate it around its center?&lt;br /&gt;
Then you can just translate it to the origin, rotate it and then translate&lt;br /&gt;
it back to its place. Suppose that the center of the object is located at&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;amp;lt;10,20,-30&amp;amp;gt;&amp;lt;/code&amp;gt;; you can rotate it this way:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
translate -&amp;amp;lt;10,20,-30&amp;amp;gt;&lt;br /&gt;
rotate &amp;amp;lt;whatever&amp;amp;gt;&lt;br /&gt;
translate &amp;amp;lt;10,20,-30&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===The image gets distorted when rendering a square image===&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;&amp;amp;quot;If I tell POV-Ray to render a square image or otherwise change the&lt;br /&gt;
aspect ratio, the output image is distorted. What am I doing wrong?&amp;amp;quot;&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The problem is that the camera is set to an aspect ratio of 4/3, while the&lt;br /&gt;
picture you are trying to render has an aspect ratio of 1/1 (or whatever).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;You can set the aspect ratio with the 'right' keyword in the camera block.&lt;br /&gt;
The general way to set the correct aspect ratio for your image dimensions is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
camera&lt;br /&gt;
{ right x*ImageWidth/ImageHeight&lt;br /&gt;
  (other camera settings...)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This keyword can also be used to change the handedness of POV-Ray (see the&lt;br /&gt;
question about&lt;br /&gt;
&amp;lt;!--&amp;lt;linkto &amp;quot;handedness&amp;quot;&amp;gt;Moray and POV-Ray handedness&amp;lt;/linkto&amp;gt;---&amp;gt;[[Documentation:Reference Section 3#Handedness|Moray and POV-Ray handedness]]&lt;br /&gt;
for more details).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Note: One could think &amp;amp;quot;why does not POV-Ray always set&lt;br /&gt;
automatically the aspect ratio of the camera according to the resolution of&lt;br /&gt;
the image?&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;There is one thing wrong in this thought: It assumes that pixels are always&lt;br /&gt;
square (ie. the aspect ratio of the pixels is 1/1). The logic of this&lt;br /&gt;
behaviour comes clear with an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Suppose that you design a scene using a regular 4/3 aspect&lt;br /&gt;
ratio, as usual (like 320x240, 640x480 and so on). This image is designed&lt;br /&gt;
to look good when viewing in a 4/3 monitor (as they all are in home computers).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Now you want to render this image for the Windows startup image. The resolution&lt;br /&gt;
of the Windows startup image is 320x400. This resolution has not an aspect&lt;br /&gt;
ratio of 4/3 and the pixels are not square (the pixels have an aspect ratio&lt;br /&gt;
of 1/0.6 instead of 1/1). Now, when you render your image at a resolution&lt;br /&gt;
of 320x400 with POV-Ray and show it with the monitor set to that resolution&lt;br /&gt;
(as it is set at windows startup when the startup image is shown), the&lt;br /&gt;
aspect ratio will be the correct one so the image will have the correct&lt;br /&gt;
proportions (and it will not be squeezed in any direction).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If you had changed the aspect ratio of the camera to 320/400 (instead of&lt;br /&gt;
using the default 4/3) you would not only have got a different image (showing&lt;br /&gt;
parts of the scene not shown in the original or hiding parts visible in&lt;br /&gt;
the original), but it would have looked sqeezed when shown in the 320x400&lt;br /&gt;
screen resolution.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Thus, the camera aspect ratio is the aspect ratio of the&lt;br /&gt;
final image on screen, when viewed in the final resolution (which might not&lt;br /&gt;
be a 4/3-resolution). Since the monitor screen has an aspect ratio of 4/3,&lt;br /&gt;
this is the default for the camera as well.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Why are there strange dark pixels or noise on my CSG object?===&lt;br /&gt;
&amp;lt;!--&amp;lt;indexentry primary &amp;quot;black spots&amp;quot;&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This is the typical 'coincident surfaces problem'. This happens when two&lt;br /&gt;
surfaces are exactly at the same place. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
union&lt;br /&gt;
{ box { &amp;amp;lt;-1,0,-1&amp;amp;gt;,&amp;amp;lt;1,-2,1&amp;amp;gt; texture { Texture1 } }&lt;br /&gt;
  box { &amp;amp;lt;-2,0,-2&amp;amp;gt;,&amp;amp;lt;2,-1,2&amp;amp;gt; texture { Texture2 } }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The top surface of the first box is coincident with the top surface of the&lt;br /&gt;
second box. When a ray hits this area, POV-Ray has to decide which surface&lt;br /&gt;
is closest. It cannot, since they are exactly in the same place.&lt;br /&gt;
Which one it actually chooses depends on the float number calculations,&lt;br /&gt;
rounding error, initial parameters, position of the camera, etc, and varies from &lt;br /&gt;
pixel to pixel, causing those seemingly &amp;amp;quot;random&amp;amp;quot; pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The solution to the problem is to decide which surface you want to&lt;br /&gt;
be on top and translate that surface just a bit, so it protrudes past&lt;br /&gt;
the unwanted surface. In the example above, if we&lt;br /&gt;
want, for example, that the second box is at the top, we will type something&lt;br /&gt;
like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
union&lt;br /&gt;
{ box { &amp;amp;lt;-1,0,-1&amp;amp;gt;,&amp;amp;lt;1,-2,1&amp;amp;gt; texture { Texture1 } }&lt;br /&gt;
  box { &amp;amp;lt;-2,0.001,-2&amp;amp;gt;,&amp;amp;lt;2,-1,2&amp;amp;gt; texture { Texture2 } }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Note that a similar problem appears when a light source is exactly on a&lt;br /&gt;
surface: POV-Ray cannot calculate accurately if it is actually inside or&lt;br /&gt;
outside the surface, so dark (shadowed) pixels appear on every surface that&lt;br /&gt;
is illuminated by this light.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Why won't the textures in stars.inc work with my sky_sphere?===&lt;br /&gt;
&amp;lt;p&amp;gt;The only thing that works with a &amp;lt;code&amp;gt;sky_sphere&amp;lt;/code&amp;gt; is pigments.&lt;br /&gt;
Textures and&lt;br /&gt;
finishes are not allowed. Do not be discouraged though because you can still&lt;br /&gt;
use the textures in stars.inc with the following method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Extract only the pigment statement from the declared textures.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
texture&lt;br /&gt;
{&lt;br /&gt;
  pigment { color_map { [0 rgb ..][.5 rgb ..][1.0 rgb ..] } scale .. }&lt;br /&gt;
  finish { .. }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;becomes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pigment { color_map { [0 rgb ..][.5 rgb ..][1.0 rgb ..] } scale .. }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The reason for this is that &amp;lt;code&amp;gt;sky_sphere&amp;lt;/code&amp;gt; does not have a&lt;br /&gt;
surface, it is not an actual object. It is really just a fancy version of the&lt;br /&gt;
background feature which extracts a color from a pigment instead of&lt;br /&gt;
being a flat color. Because of this, normal and finish features, which&lt;br /&gt;
depend on the characteristics of the surface of an object for their&lt;br /&gt;
calculations, cannot be used. The textures in &amp;lt;code&amp;gt;stars.inc&amp;lt;/code&amp;gt; were&lt;br /&gt;
intended to be mapped onto a real sphere, and can be used something like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sphere&lt;br /&gt;
{ 0, 1&lt;br /&gt;
  hollow // So it doesn't interfere with any media in the scene&lt;br /&gt;
  texture { YourSkyTexture }&lt;br /&gt;
  scale 100000&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===When I use filter or transmit with my .tga image map nothing happens.===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
POV-Ray can only apply filter or transmit to 8 bit 256 color palleted&lt;br /&gt;
images. Since most &amp;lt;code&amp;gt;.tga&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.png&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;.bmp&amp;lt;/code&amp;gt;&lt;br /&gt;
images are 24bit and 16 million&lt;br /&gt;
colors they do not work with filter or transmit. If you must use filter&lt;br /&gt;
or transmit with your image maps you must reduce the color depth to a&lt;br /&gt;
format the supports 256 colors such as the &amp;lt;code&amp;gt;.gif&amp;lt;/code&amp;gt; image format.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;You might&lt;br /&gt;
also check the POV-Ray docs on using the alpha channel of &amp;lt;code&amp;gt;.png&amp;lt;/code&amp;gt;&lt;br /&gt;
files if you need specific areas that are transparent.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Isosurface not rendering properly?===&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;&amp;amp;quot;My isosurface is not rendering properly: there are holes or random&lt;br /&gt;
noise or big parts or even the whole isosurface just disappears.&amp;amp;quot;&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The most common reason for these type of phenomena with isosurfaces is&lt;br /&gt;
a too low &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; value. Use &amp;lt;code&amp;gt;evaluate&amp;lt;/code&amp;gt; to&lt;br /&gt;
make POV-Ray calculate a proper &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; for the isosurface&lt;br /&gt;
(remember to specify a sensible &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; even when you use&lt;br /&gt;
&amp;lt;code&amp;gt;evaluate&amp;lt;/code&amp;gt; or else the result may not be correct).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Sometimes a too high &amp;lt;code&amp;gt;accuracy&amp;lt;/code&amp;gt; value can also cause problems&lt;br /&gt;
even when the &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; is ok. If playing with the latter&lt;br /&gt;
does not seem to help, try also lowering the &amp;lt;code&amp;gt;accuracy&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Remember that specifying a &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; which is too&lt;br /&gt;
high for an isosurface, although it gives the correct result, is needlessly&lt;br /&gt;
slow, so you should always calculate the proper &amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; for&lt;br /&gt;
each isosurface you make.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Note that there are certain pathological functions where no&lt;br /&gt;
&amp;lt;code&amp;gt;max_gradient&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;accuracy&amp;lt;/code&amp;gt; will help.&lt;br /&gt;
These functions usually have discontinuities or&lt;br /&gt;
similar &amp;amp;quot;ill-behaving&amp;amp;quot; properties. With those you just have to find a solution&lt;br /&gt;
which gives the best quality/speed tradeoff. Isosurfaces work best with&lt;br /&gt;
functions which give smooth surfaces.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Language related things===&lt;br /&gt;
&lt;br /&gt;
===How do I turn animation on?===&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;&amp;amp;quot;How do I turn animation on? I have used the &amp;lt;code&amp;gt;clock&amp;lt;/code&amp;gt;-variable&lt;br /&gt;
in my scene, but POV-Ray still only calculates one frame.&amp;amp;quot;&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The easiest way is to just specify the appropriate command line parameter&lt;br /&gt;
on the command line or in the command line field in the rendering settings&lt;br /&gt;
menu (in the Windows version). For example, if you want to create 20 frames,&lt;br /&gt;
type this: &amp;lt;code&amp;gt;+kff20&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This will create 20 frames with the &amp;lt;code&amp;gt;clock&amp;lt;/code&amp;gt; variable going&lt;br /&gt;
from 0 to 1. The&lt;br /&gt;
other command line parameters are found in the POV-Ray documentation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Ken Tyler has also another good solution for this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In the directory that you installed POV-Ray into you will find a subdirectory&lt;br /&gt;
called scenes and another inside that called animate. You will find several&lt;br /&gt;
example files showing you how to write your scene to use the clock variable.&lt;br /&gt;
You will still need to activate POV-Ray's animation feature by using an&lt;br /&gt;
&amp;lt;code&amp;gt;.ini&amp;lt;/code&amp;gt; file with the correct info or with command line&lt;br /&gt;
switches. I personaly&lt;br /&gt;
like to use the ini file method. If you try this open the master&lt;br /&gt;
&amp;lt;code&amp;gt;povray.ini&amp;lt;/code&amp;gt;&lt;br /&gt;
file from the tools menu and add the following lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;clock=1&lt;br /&gt;
;Initial_Frame=1&lt;br /&gt;
;Final_Frame=20&lt;br /&gt;
;Cyclic_Animation = on&lt;br /&gt;
;Subset_Start_Frame=6&lt;br /&gt;
;Subset_End_Frame=9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Save the file and close it. When you need to use the animation feature&lt;br /&gt;
simply go in and edit the &amp;lt;code&amp;gt;povray.ini&amp;lt;/code&amp;gt; file and uncomment out the functions&lt;br /&gt;
you want to use. At a minimum you will need to use the&lt;br /&gt;
&amp;lt;code&amp;gt;initial_frame&amp;lt;/code&amp;gt; and&lt;br /&gt;
&amp;lt;code&amp;gt;final_frame&amp;lt;/code&amp;gt; option to make it work. Once you have stopped&lt;br /&gt;
rendering your&lt;br /&gt;
series of frames be sure to comment out the clock variables in the ini&lt;br /&gt;
file. After you have rendered a series of individual frames you will&lt;br /&gt;
still need to compile them into the animation format that you wish to&lt;br /&gt;
use such as AVI or MPEG. &lt;br /&gt;
See our [http://povray.org/links/3D_Animation_Utilities/|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;links collection on our website&amp;lt;/span&amp;gt;] for programs that can help you do this. POV-Ray has no internal ability to&lt;br /&gt;
do this for you except on the Macintosh platform of the program.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The Mac version normally does not use &amp;lt;code&amp;gt;.ini&amp;lt;/code&amp;gt; files and lacks any&lt;br /&gt;
command line, but uses a completely graphical interface instead. To&lt;br /&gt;
activate animation, choose the render settings item from the Edit menu&lt;br /&gt;
(right under &amp;amp;quot;Preferences&amp;amp;quot;, it will be titled &amp;amp;quot;FILENAME Settings&amp;amp;quot;,&lt;br /&gt;
where FILENAME is the name of your file), click on the Animation tab,&lt;br /&gt;
and enter the needed information in the text boxes.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Can POV-Ray use multiple processors?===&lt;br /&gt;
&amp;lt;p&amp;gt;Short answer: The only way to run POV-Ray on multiple processors is to&lt;br /&gt;
run several copies of POV-Ray.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Long answer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Making a program use multiple threads is not as trivial as it may sound.&lt;br /&gt;
Here are some reasons why it is quite difficult to make with POV-Ray:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You cannot do it with standard C (nor C++), and POV-Ray is intended to&lt;br /&gt;
be very portable. This is not just an issue of philosophy or purism,&lt;br /&gt;
POV-Ray is really used on a large variety of different platforms.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Multithreading is a very complex issue and it is much more difficult to&lt;br /&gt;
make a bugless multithreaded program than a single-threaded (there are&lt;br /&gt;
several things in multithreading, like mutual exclusion problems, which&lt;br /&gt;
make the multithreaded program very non-deterministic). It is not&lt;br /&gt;
impossible, though, since it has been done (there are patched versions&lt;br /&gt;
of POV-Ray with multithreading support). However, it is far from trivial.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Raytracing is usually thought as an easily threaded problem. You just&lt;br /&gt;
calculate one pixel and draw it on screen, independent of the other&lt;br /&gt;
pixels. However, with advanced techniques, like antialiasing and&lt;br /&gt;
specially stochastic global illumination calculation (referred as&lt;br /&gt;
&amp;amp;quot;radiosity&amp;amp;quot; in POV-Ray's documentation and syntax) this is not true anymore.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;To speed up antialiasing, a threshold value is used between pixels.&lt;br /&gt;
If the difference in color between two pixels is higher than the&lt;br /&gt;
threshold, then antialiasing is calculated. Of course we need info&lt;br /&gt;
from the nearby pixels for this.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In global illumination calculations lighting values are stored in a&lt;br /&gt;
spatial tree structure. The following pixels may use the information&lt;br /&gt;
stored in this tree for their illumination. This means that the pixel&lt;br /&gt;
calculation at the upper left corner may affect on the color of the&lt;br /&gt;
pixel in the lower right corner. This is the reason why calculating&lt;br /&gt;
a radiosity image in parts does not work very well.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
Both problems can probably be solved in some way, but as said, it is far&lt;br /&gt;
from trivial.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;An excellent article about the issue can be found on the&lt;br /&gt;
[http://www.acm.org/tog/resources/RTNews/html/rtnv12n2.html#art3|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;Ray Tracing News web page&amp;lt;/span&amp;gt;].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Here is an answer from John M. Dlugosz with useful tips:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The POV-Ray rendering engine is a single thread of execution, so when&lt;br /&gt;
run on a dual Pentium Pro (running NT4) the CPU indicator only goes up&lt;br /&gt;
to about 50%. POV does not use more than half the available power on the&lt;br /&gt;
machine.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
That is the basic issue, though to quibble a bit it is not exactly true:&lt;br /&gt;
the rendering engine soaks up one whole CPU, but the editor runs on its&lt;br /&gt;
own thread, and operating system functions (writing to the file, updating&lt;br /&gt;
the display, network activity, system background tasks) run on different&lt;br /&gt;
threads.  This gives a little bit of a bonus, and the system uses as much&lt;br /&gt;
as 54% of available MIPS when watching it.  More importantly, the machine&lt;br /&gt;
is still highly responsive, and editing or other applications continue on&lt;br /&gt;
without being sluggish.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
But for a long render, it is annoying to have one CPU be mostly idle.  What&lt;br /&gt;
can be done to cut rendering time in half (from 20 hours down to 10, for&lt;br /&gt;
example)?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The simplest thing is to run two copies of POV on the machine.  Have one&lt;br /&gt;
copy render the top half, and the other render the bottom half.  Then paste&lt;br /&gt;
the halves together in your picture editor.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
One thing to watch out for:  do not just fire up two copies and point them at&lt;br /&gt;
the same INI file and image file.  They will overwrite each other's output&lt;br /&gt;
and make a big mess.  Instead, you must make sure each is writing to a&lt;br /&gt;
different file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For moderate renders, you might let one copy chug away on the long render,&lt;br /&gt;
and use a second copy interactivly to continue development in POV.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Can I get a wireframe render of my scene?===&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;&amp;amp;quot;Is there a way to generate a wireframe output image from a POV scene&lt;br /&gt;
file?&amp;amp;quot;&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Short answer: No.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Long answer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;You have to understand the difference between a modeller&lt;br /&gt;
like 3D-Studio and POV-Ray in the way they handle objects. Those modellers&lt;br /&gt;
always use triangle meshes (and some modellers use also NURBS which can be&lt;br /&gt;
very easily converted into triangles). Triangle meshes are extremely simple&lt;br /&gt;
to represent in a wireframe format: Just draw a line for each triangle side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;However, POV-Ray handles most of the objects as mathematical&lt;br /&gt;
entities, not triangle meshes. When you tell POV-Ray to create a sphere,&lt;br /&gt;
POV-Ray only handles it as a point and a radius, nothing else (besides the&lt;br /&gt;
possible matrix transform applied to it). POV-Ray only has a notion of the&lt;br /&gt;
shape of the object as a mathematical formula (it can calculate the&lt;br /&gt;
intersection of a line and the sphere).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;For wireframe output there should be a way to convert that&lt;br /&gt;
mathematical representation of the object into actual triangles. This is&lt;br /&gt;
called tesselation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;For some mathematical objects, like the sphere, the box, etc,&lt;br /&gt;
tesselation is quite trivial. For other entities, like CSG difference,&lt;br /&gt;
intersection, etc, it is more difficult (although not impossible). For other&lt;br /&gt;
entities it is completely impossible: infinite non-flat surfaces like&lt;br /&gt;
paraboloids and hyperboloids (well, actually it is possible if you limit&lt;br /&gt;
the size of the surface to a finite shape; still the amount of triangles that&lt;br /&gt;
needs to be created would be extremely high).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;There have been lots of discussions about incorporating&lt;br /&gt;
tesselation into POV-Ray. But since POV-Ray is just a renderer, not a&lt;br /&gt;
modeller, it does not seem to be worth the efforts (adding tesselation to&lt;br /&gt;
all the primitives and CSG would be a &amp;lt;b&amp;gt;huge&amp;lt;/b&amp;gt; job).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;(Of course tesselation could give some other advantages,&lt;br /&gt;
like the ability to fake non-uniform transformations to objects like most&lt;br /&gt;
triangle mesh modellers do...)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If you just want fast previews of the image, you can try&lt;br /&gt;
to use the quality parameter of POV-Ray. For example setting quality to 0&lt;br /&gt;
(+q0) can give a very fast render. See also&lt;br /&gt;
&amp;lt;!--&amp;lt;linkto &amp;quot;rendering speed&amp;quot;&amp;gt;the rendering speed question&amp;lt;/linkto&amp;gt;---&amp;gt;[[Documentation:Tutorial Section 4.2#Rendering speed|the rendering speed question]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Can I specify variable IOR for an object?===&lt;br /&gt;
&amp;lt;!--&amp;lt;indexentry primary &amp;quot;variable ior&amp;quot;&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;&amp;amp;quot;Can I specify variable IOR for an object? Is there any patch that can&lt;br /&gt;
do this? Is it possible?&amp;amp;quot;&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Short answer: No.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Long answer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;There are basically two ways of defining variable IOR for&lt;br /&gt;
an object: IOR changing on the surface of the object and IOR changing&lt;br /&gt;
throughout inside the object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The first one is physically incorrect. For uniform IOR it&lt;br /&gt;
simulates physical IOR quite correctly since for objects with uniform&lt;br /&gt;
density the light bends at the surface of the object and nowhere else.&lt;br /&gt;
However if the density of the object is not uniform but changes throughout&lt;br /&gt;
its volume, the light will bend inside the object, while travelling through&lt;br /&gt;
it, not only on the surface of the object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This is why variable IOR on the surface of the object is incorrect and the&lt;br /&gt;
possibility of making this was removed in POV-Ray 3.1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;From this we can deduce that a constant IOR is kind of&lt;br /&gt;
property of the surface of the object while variable IOR is a property of&lt;br /&gt;
the interior of the object (like media in POV-Ray). Of course the physically&lt;br /&gt;
correct interpretation of this phenomenon is that IOR is always a property&lt;br /&gt;
of the whole object (ie. its interior), not only its surface (and this is&lt;br /&gt;
why IOR is now a property of the interior of the object in POV-Ray); however,&lt;br /&gt;
the effect of a constant IOR has effect only at the surface of the object&lt;br /&gt;
and this is what POV-Ray does when bending the rays.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The correct simulation for variable IOR, thus, would be to&lt;br /&gt;
bend the ray inside the object depending on the density of the interior of&lt;br /&gt;
the object at each point.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This is much harder to do than one may think. The reasons are similar to&lt;br /&gt;
why non-uniform transformations are too difficult to calculate reasonably&lt;br /&gt;
(as far as I know there exists no renderer that calculates true non-uniform&lt;br /&gt;
transformations; mesh modellers just move the vertices, they do not actually&lt;br /&gt;
transform the object; a true non-uniform transformation would bend the&lt;br /&gt;
triangles). Moreover: Non-uniform transformations can be faked if the object&lt;br /&gt;
is made of many polygons (you can move the vertices as most mesh modellers&lt;br /&gt;
do), but you cannot fake a variable IOR in this way.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Variable IOR is (mostly) impossible to calculate analytically (ie. in a&lt;br /&gt;
mathematically exact way) at least in a reasonable time. The only way would&lt;br /&gt;
be to calculate it numerically (usually by super-sampling).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Media in POV-Ray works in this way. It does not even try&lt;br /&gt;
to analytically solve the color of the media, but supersamples the&lt;br /&gt;
media along the ray and averages the result. This can be pretty inaccurate&lt;br /&gt;
as we can see with the media method 1 (the only one which was supported in&lt;br /&gt;
POV-Ray 3.1). However some tricks can be&lt;br /&gt;
used to make the result more accurate without having to spend too much&lt;br /&gt;
time, for example antialiasing (which is used by the media method 3). This is a quite easy calculation because&lt;br /&gt;
the ray is straight, POV-Ray knows the start and end points of the ray and&lt;br /&gt;
it knows that it does not intersect with anything along the ray (so it does not&lt;br /&gt;
have to make ray-object intersection calculations while supersampling).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Variable IOR is, however, a completely different story.&lt;br /&gt;
Here the program would have to shoot a LOT of rays along the path of the&lt;br /&gt;
bending light ray. For each ray it would have to make all the regular&lt;br /&gt;
ray-object intersection calculations. It is like having hundreds or thousands&lt;br /&gt;
of transparent objects one inside another (with max_trace_level set so high&lt;br /&gt;
that the ray will go through all of them). You can easily test how slow this&lt;br /&gt;
is. It is &amp;lt;strong&amp;gt;very&amp;lt;/strong&amp;gt; slow.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;One could think that &amp;amp;quot;hey, why not just shoot a few tens&lt;br /&gt;
of rays and then use some kind of antialiasing to get the fine details, like&lt;br /&gt;
in media method 3&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Well, it might work (I have never seen it tested), but I do not think it will&lt;br /&gt;
help much. The problem is the inaccuracy of the supersampling (even when&lt;br /&gt;
using antialiasing). In media it is not a big problem; if a very small shadowed&lt;br /&gt;
area in the media is not detected by the supersampling process, the result&lt;br /&gt;
will not differ very much from the correct one (since the shadowed area was&lt;br /&gt;
so small it would have diminished the brightness of that ray just a bit but&lt;br /&gt;
no more) and it will probably still look good.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;With IOR this is not anymore true. With IOR even very, very small areas may&lt;br /&gt;
have very strong effect in the end result, since IOR can drastically change&lt;br /&gt;
the direction of the ray thus making the result completely different (even&lt;br /&gt;
very small changes can have great effect if the object behind the current&lt;br /&gt;
refracting object is far away).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This can have disastrous effects. The ior may change drastically from pixel&lt;br /&gt;
to pixel almost at random, not to talk from frame to frame in an animation.&amp;lt;br&amp;gt;&lt;br /&gt;
To get a more or less accurate result lots of rays would be needed; just a&lt;br /&gt;
few rays is not enough. And shooting lots of rays is an extremely slow&lt;br /&gt;
process.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What is Photon Mapping?===&lt;br /&gt;
&amp;lt;p&amp;gt;Photon mapping uses forward raytracing (ie. sending rays from light&lt;br /&gt;
sources) calculate reflecting and refracting light (aka. caustics).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The following is from the homepage of the developer (Nathan Kopp):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;quot;My latest fun addition to POV is the photon map.  The basic&lt;br /&gt;
goal of this implementation of the photon map is to render true&lt;br /&gt;
reflective and refractive caustics. The photon map was first&lt;br /&gt;
introduced by Henrik Wann Jensen.  It is a way to store light&lt;br /&gt;
information gathered from a backwards ray-tracing [sic] step in a data&lt;br /&gt;
structure independent from the geometry of a scene.&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;It is surprisingly fast and efficient. How is this possible when&lt;br /&gt;
forward raytracing is so inefficient? For several reasons:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Photon mapping is only used to calculate illumination, ie. lighting&lt;br /&gt;
values, not to render the actual scene. Lighting values do not have&lt;br /&gt;
to be as accurate as the actual rendering (it does not matter if your&lt;br /&gt;
reflected light &amp;amp;quot;bleeds&amp;amp;quot; a bit out of range; actually this kind&lt;br /&gt;
of &amp;amp;quot;bleeding&amp;amp;quot; happens in reality as well (due to light diffusing from&lt;br /&gt;
air), so the result is not unrealistic at all).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Photon mapping is calculated only for those (user-specified) objects&lt;br /&gt;
that need it (ie. objects that have reflection and/or refraction).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The rays are not shot to all directions, towards the entire scene, but&lt;br /&gt;
only towards those specified objects. Many rays are indeed shot in&lt;br /&gt;
vain, without them affecting the final image in any way, but since the&lt;br /&gt;
total amountof rays shot is relatively small, the rendering time&lt;br /&gt;
does not get inacceptably longer.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The final image itself is rendered with regular backwards raytracing&lt;br /&gt;
(the photon mapping is a precalculation step done before the actual&lt;br /&gt;
rendering). The raytracer does not need to use forward raytracing in this&lt;br /&gt;
process (it just uses the precalculated lighting values which are stored&lt;br /&gt;
in space).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;As you have seen, for the photon mapping to work in an acceptable way, you&lt;br /&gt;
have to tell the program which objects you want to reflect/refract light and&lt;br /&gt;
which you do not. This way you can optimize a lot the photon mapping step.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===File Formats===&lt;br /&gt;
&lt;br /&gt;
===Saving the image to disk.===&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;&amp;amp;quot;I have rendered an image with POV-Ray, but how do I save it to JPG or&lt;br /&gt;
GIF or any other image format?&amp;amp;quot;&amp;lt;/em&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This is a typical problem of people using the Windows&lt;br /&gt;
version of the program for first time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;POV-Ray is a raytracer which has only one purpose:&lt;br /&gt;
To read a source file&lt;br /&gt;
describing the scene to raytrace and then calculate it and save it to disk&lt;br /&gt;
in a supported image format, usually TGA (and optionally PNG, BMP, etc).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;POV-Ray has always had this goal, and still has, and will&lt;br /&gt;
(desirably) never&lt;br /&gt;
change. It is mostly command-line oriented. It supports non-essential&lt;br /&gt;
things, like showing the image while it is rendering.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;A GUI does not change anything. POV-Ray is still POV-Ray,&lt;br /&gt;
with or without GUI.&lt;br /&gt;
It takes a source code and calculates the image and saves it to disk. By&lt;br /&gt;
default it shows the image while it is raytracing it, but that is just a&lt;br /&gt;
secondary feature, non-essential, irrelevant. It can be turned off and POV-Ray&lt;br /&gt;
will still make its job.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;So the answer to the question is: The image&lt;br /&gt;
&amp;lt;strong&amp;gt;is already saved&amp;lt;/strong&amp;gt; on disk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Usually it is saved in TGA or BMP format&lt;br /&gt;
(it depends on the settings)&lt;br /&gt;
with the same name as the source code (so if the source is named&lt;br /&gt;
&amp;lt;code&amp;gt;CHAIR.POV&amp;lt;/code&amp;gt;,&lt;br /&gt;
the image will be named &amp;lt;code&amp;gt;CHAIR.TGA&amp;lt;/code&amp;gt; or&lt;br /&gt;
&amp;lt;code&amp;gt;CHAIR.BMP&amp;lt;/code&amp;gt; or whatever). The location&lt;br /&gt;
is either the same directory where the &amp;lt;code&amp;gt;.pov&amp;lt;/code&amp;gt;-file is or else&lt;br /&gt;
a common directory for images (which you can set up in the main povray.ini&lt;br /&gt;
file).&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Can I convert my POV-Ray scenes to another format?===&lt;br /&gt;
&amp;lt;p&amp;gt;(Answer by Johannes Hubert)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;For POV-Ray 2.2: Try [http://www.europa.com/~keithr/crossroads|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;Crossroads&amp;lt;/span&amp;gt;]&lt;br /&gt;
or if you want to convert to Moray MDL files, try [http://www.tb-software.com/|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;POV2MDL&amp;lt;/span&amp;gt;]&lt;br /&gt;
from Thomas Baier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;For POV-Ray 3.1 and newer: There is unfortunately not much&lt;br /&gt;
you can do. There is no&lt;br /&gt;
real versatile program yet, that can read (and convert) POV-Ray 3.1 scripts&lt;br /&gt;
(except for POV-Ray itself :-). Your best shots would be:&lt;br /&gt;
[http://www9.informatik.uni-erlangen.de/~cnvogelg/pov2rib/index.html|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;POV2RIB&amp;lt;/span&amp;gt;]&lt;br /&gt;
if you want to convert to the RIB format. If you know how to program C++, you can&lt;br /&gt;
get the ParPov C++ library from the same URL. It is a class-library for&lt;br /&gt;
reading POV 3.1 scripts and converting them to C++ objects (it also has been&lt;br /&gt;
used for POV2RIB).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;3DWin from Thomas Baier (see the URL above) converts from&lt;br /&gt;
the POB format to&lt;br /&gt;
a lot of other formats. POB is a special binary POV-Ray format devised by&lt;br /&gt;
Thomas and is written by a custom-compile version of POV-Ray 3.0 (get the&lt;br /&gt;
POB-SDK at the same URL): This POV-Ray version reads POV-scripts and outputs&lt;br /&gt;
POB files, which can then be converted by 3DWin. The drawback: Although all&lt;br /&gt;
objects, textures etc. of the scene are in the POB file, they are not all&lt;br /&gt;
recognized by 3DWin. Only triangles and meshes of triangles are recognized.&lt;br /&gt;
Everything else in the scene is lost....&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How can I convert my scenes from format X to POV-Ray format?===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
[http://www.europa.com/~keithr/crossroads|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;Crossroads&amp;lt;/span&amp;gt;]&lt;br /&gt;
can convert a very limited subset of Povray primitives (spheres and triangles work best).&lt;br /&gt;
Particularly, it can be used to convert unions of regular (non smooth) triangles to other&lt;br /&gt;
formats.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Another option is [http://www.tb-software.com/|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;3DWin&amp;lt;/span&amp;gt;].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How do I import all of my textures I created in 3DS Max into POV-Ray?===&lt;br /&gt;
&amp;lt;p&amp;gt;As POV-Ray supports UV-mapping, textured objects used by renderers&lt;br /&gt;
such as 3D-Studio can be used by first converting them with a proper&lt;br /&gt;
converter. You can find a list of converters and other related software in the &lt;br /&gt;
[http://www.povray.org/links/3D_Programs/Conversion_Utilities/|_new &amp;lt;span title=&amp;quot;Opens A New Window!&amp;quot;&amp;gt;links collection on our website&amp;lt;/span&amp;gt;].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;wikinav&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table width=100% border=0 cellspacing=0 cellpadding=5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=50% bgcolor=#EEEEEF&amp;gt;&lt;br /&gt;
[[Documentation:Tutorial Section 4#I'm getting color banding in the image|I'm getting color banding in the image]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=50% bgcolor=#EEEEEF align=right&amp;gt;&lt;br /&gt;
[[Documentation:Tutorial Section 4.2#How can I avoid artifacts and still get good JPEG compression?|How can I avoid artifacts and still get good JPEG compression?]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;/wikinav&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;wikitalk&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table width=100% border=1 cellspacing=0 cellpadding=5&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td width=100% bgcolor=#FFEEEE&amp;gt;&lt;br /&gt;
This document is protected, so submissions, corrections and discussions should be held on this documents [[Documentation_Talk:Tutorial Section 4.1|talk]] page.&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;!--&amp;lt;/wikitalk&amp;gt;---&amp;gt;&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>