<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Uranium Lane &#187; Raytracing</title>
	<atom:link href="http://www.uraniumlane.de/tag/raytracing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.uraniumlane.de</link>
	<description>An instance behind imagination</description>
	<lastBuildDate>Thu, 22 Dec 2011 03:39:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Raytracer, Refraction und Antialiasing</title>
		<link>http://www.uraniumlane.de/2009/08/13/raytracer-refraction-und-antialiasing/</link>
		<comments>http://www.uraniumlane.de/2009/08/13/raytracer-refraction-und-antialiasing/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:15:51 +0000</pubDate>
		<dc:creator>kulpae</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Raytracing]]></category>

		<guid isPermaLink="false">http://www.uraniumlane.de/?p=74</guid>
		<description><![CDATA[Heute hab ich einen weiteren Schritt gewagt: Refraction! Das konnte ich ebenfalls nach dem Tutorial von Jacco Bikker bauen, ging ganz einfach! Es musste nur ein weiterer Strahl, der durch die Refraktion gekrümmt wird, weiter verfolgt werden. Zusätzlich hab ich versucht nach dem gleichen Tutorial das Antialiasing zu implementieren. Hier sieht man einen 4&#215;4 Edge-Antialiasing [...]]]></description>
			<content:encoded><![CDATA[<p>Heute hab ich einen weiteren Schritt gewagt: Refraction!<br />
Das konnte ich ebenfalls nach dem Tutorial von <a href="http://www.flipcode.com/archives/Raytracing_Topics_Techniques-Part_3_Refractions_and_Beers_Law.shtml"   target="_blank" >Jacco Bikker</a> bauen, ging ganz einfach! Es musste nur ein weiterer Strahl, der durch die Refraktion gekrümmt wird, weiter verfolgt werden.</p>
<p>Zusätzlich hab ich versucht nach dem gleichen Tutorial das Antialiasing zu implementieren. Hier sieht man einen 4&#215;4 Edge-Antialiasing (nur Primärstrahlen)</p>
<div id="attachment_82" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.uraniumlane.de/wp-content/uploads/2009/08/snapshot51.png"   rel="shadowbox[sbpost-74];player=img;" title="Raytracing, Refraction + Antialiasing (Edge)" ><img class="size-medium wp-image-82" title="Raytracing, Refraction + Antialiasing (Edge)" src="http://www.uraniumlane.de/wp-content/uploads/2009/08/snapshot51-300x233.png" alt="4x4 Edge-Antialiasing (nur Primärstrahen, Edge-Erkennung vertikal und horizontal)" width="300" height="233" /></a><p class="wp-caption-text">4x4 Edge-Antialiasing (nur Primärstrahen, Edge-Erkennung vertikal und horizontal)</p></div>
<p>Hier sieht man einen 4&#215;4 Full-Antialiasing</p>
<div id="attachment_83" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.uraniumlane.de/wp-content/uploads/2009/08/snapshot61.png"   rel="shadowbox[sbpost-74];player=img;" title="Raytracing, Refraction + Antialiasing (Full)" ><img class="size-medium wp-image-83" title="Raytracing, Refraction + Antialiasing (Full)" src="http://www.uraniumlane.de/wp-content/uploads/2009/08/snapshot61-300x233.png" alt="Raytracing, Refraction und Antialiasing (4x4 vollständig = 16 x größere Auflösung)" width="300" height="233" /></a><p class="wp-caption-text">Raytracing, Refraction und Antialiasing (4x4 vollständig = 16 x größere Auflösung)</p></div>
<p>Es wurde die gleiche Szene, wie bei Jacco Bikker verwendet, weil sie richtig gut gewählt ist, find ich. (Und es zwang mich dazu, mein Koordinatensystem an das von Jacco anzupassen. (ist jetzt somit nicht mehr festgecodet, sondern über die 4 Variablen minX/maxX und minY/maxY festgelegt))</p>
<p><strong>Ergänzung</strong>: Im zweiten Bild hab ich durch das Umformen einer Abfrage des Edge-Antialiasing Mechanismen quasi alle Pixel als Ecken deklariert. Auf diese Art und Weise wurden alle Pixeln durch das Antialiasing verfeinert.<br />
Leider wurde die Farbe der Lichtquelle überschrieben, deshalb ist die Lichtquelle, die man auf dem Bild direkt sehen kann, schwarz.<br />
Doch die Spiegelungen zeigen immer noch eine weiße Lichtquelle an!<br />
Das Liegt daran, dass nur die primären Strahlen mit Antialiasing verfeinert werden.</p>
<p>Die Schatten und die Reflektionen im obigen Bild sind deshalb pixelig, weil nur Kanten zwischen unterschiedlichen Primitiven erkannt werden. Dies ist ja beim Schatten oder einer Reflektion nicht der Fall, weil man an beiden Seiten einer Ecke (innen und außen) immer noch auf die selbe Primitive trifft. (-&gt; Hier kann man das Raytracen weiter optimieren, damit man auch solche Stellen erkennt)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uraniumlane.de/2009/08/13/raytracer-refraction-und-antialiasing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Raytracer, Phong und Schatten</title>
		<link>http://www.uraniumlane.de/2009/08/03/raytracer-phong-und-schatten/</link>
		<comments>http://www.uraniumlane.de/2009/08/03/raytracer-phong-und-schatten/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 11:28:20 +0000</pubDate>
		<dc:creator>kulpae</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Raytracing]]></category>

		<guid isPermaLink="false">http://www.uraniumlane.de/?p=69</guid>
		<description><![CDATA[Jetzt hab ich einen weiteren Schritt gewagt: Phong-Shading und Schatten! Ansich musste nur die Strahlenverfolgung so umgebaut werden, dass sie Rekursion und somit auch die sekundären Strahlen unterstützt, und dann konnte man weitere Strahlen schicken, um einmal Phong zu implementieren. Und dann beim Schatten musste nur geprüfet werden, ob das Licht die eine Stelle, von [...]]]></description>
			<content:encoded><![CDATA[<p>Jetzt hab ich einen weiteren Schritt gewagt: Phong-Shading und Schatten!</p>
<p>Ansich musste nur die Strahlenverfolgung so umgebaut werden, dass sie Rekursion und somit auch die sekundären Strahlen unterstützt, und dann konnte man weitere Strahlen schicken, um einmal Phong zu implementieren. Und dann beim Schatten musste nur geprüfet werden, ob das Licht die eine Stelle, von der man die Farbe berechnen will, ohne Hindernisse erreicht. Sind mehrere Lichtquellen da, so beleuchtet jede Lichtquellen die von den anderen Lichtquellen erzeugten Schatten und macht diese somit heller. Die dunkelste Stelle ist dann wirklich die, wo kein einziges Licht hinkommt. Das ist insofern genial, weil es auf anhieb funktioniert und man dieses &#8220;Feature&#8221; nicht einbauen muss, weil einfach die Theorie stimmt ^^.</p>
<p>Hier ein Schreenshot:</p>
<p><a href="http://www.uraniumlane.de/wp-content/uploads/2009/08/snapshot4.png"   rel="shadowbox[sbpost-69];player=img;" title="Raytracer mit Phong-Shader und Schatten" ><img class="aligncenter size-full wp-image-70" title="Raytracer mit Phong-Shader und Schatten" src="http://www.uraniumlane.de/wp-content/uploads/2009/08/snapshot4.png" alt="Raytracer mit Phong-Shader und Schatten" width="410" height="330" /></a>(weiße Kugeln sind die Lichtquellen)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uraniumlane.de/2009/08/03/raytracer-phong-und-schatten/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Raytracer, Shading</title>
		<link>http://www.uraniumlane.de/2009/08/01/raytracing-shading/</link>
		<comments>http://www.uraniumlane.de/2009/08/01/raytracing-shading/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 14:04:25 +0000</pubDate>
		<dc:creator>kulpae</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Raytracing]]></category>

		<guid isPermaLink="false">http://www.uraniumlane.de/?p=65</guid>
		<description><![CDATA[Okay, der Post davor bezog sich auf ein Ereignis, das schon einen halben Tag alt ist. In den letzten 3 Stunden hab ich das diffuse Shading und die Bewegung der &#8220;Kamera&#8221; implementiert. Hier das Ergebnis (die Kamera unterstützt noch keine Rotation und ist somit so ziemlich unbrauchbar&#8230;) (Die weißen Kugeln sind die Lichtquellen))]]></description>
			<content:encoded><![CDATA[<p>Okay, der Post davor bezog sich auf ein Ereignis, das schon einen halben Tag alt ist. In den letzten 3 Stunden hab ich das diffuse Shading und die Bewegung der &#8220;Kamera&#8221; implementiert. Hier das Ergebnis (die Kamera unterstützt noch keine Rotation und ist somit so ziemlich unbrauchbar&#8230;)</p>
<p><a href="http://www.uraniumlane.de/wp-content/uploads/2009/08/snapshot3.png"   rel="shadowbox[sbpost-65];player=img;" title="Raytracing Shading" ><img class="aligncenter size-full wp-image-66" title="Raytracing Shading" src="http://www.uraniumlane.de/wp-content/uploads/2009/08/snapshot3.png" alt="Raytracing Shading" width="410" height="330" /></a>(Die weißen Kugeln sind die Lichtquellen))</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uraniumlane.de/2009/08/01/raytracing-shading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Raytracer, die Anfänge</title>
		<link>http://www.uraniumlane.de/2009/08/01/raytracer-die-anfange/</link>
		<comments>http://www.uraniumlane.de/2009/08/01/raytracer-die-anfange/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 13:58:26 +0000</pubDate>
		<dc:creator>kulpae</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Raytracing]]></category>

		<guid isPermaLink="false">http://www.uraniumlane.de/?p=61</guid>
		<description><![CDATA[In der letzten Zeit beschäftige ich mich mit Raytracing! Das ist voll cool, erfordert aber solide Kenntnisse in der analytischen Geometrie. Da hab ich gedacht, klingt doch nett, mach es mal für auf deinem Ubuntu Laptop mit C++! Einen schönen Raytracer-Tutorial hab ich auf flipcode.com gefunden und für das Zeichnen von Pixeln hab ich Qt [...]]]></description>
			<content:encoded><![CDATA[<p>In der letzten Zeit beschäftige ich mich mit Raytracing! Das ist voll cool, erfordert aber solide Kenntnisse in der analytischen Geometrie.</p>
<p>Da hab ich gedacht, klingt doch nett, mach es mal für auf deinem Ubuntu Laptop mit C++!</p>
<p>Einen schönen Raytracer-Tutorial hab ich auf <a href="http://www.flipcode.com/archives/Raytracing_Topics_Techniques-Part_1_Introduction.shtml" title="Flipcode"   target="_blank" >flipcode.com</a> gefunden und für das Zeichnen von Pixeln hab ich Qt genommen, weil es auf KDE 4 gut unterstützt wird und gut dokummentiert ist.</p>
<p>Nach mehreren Tagen/Stunden Arbeit kam folgendes raus: (zwar noch ohne Shading&#8230;)</p>
<p><a href="http://www.uraniumlane.de/wp-content/uploads/2009/08/snapshot2.png"   rel="shadowbox[sbpost-61];player=img;" title="raytracing_simple" ><img class="aligncenter size-full wp-image-62" title="raytracing_simple" src="http://www.uraniumlane.de/wp-content/uploads/2009/08/snapshot2.png" alt="raytracing_simple" width="410" height="330" /></a></p>
<p>(Die weißen kleinen Kugeln sind die Lichtquellen)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uraniumlane.de/2009/08/01/raytracer-die-anfange/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

