<?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>Michał Borek - tech blog &#187; teksturowanie</title>
	<atom:link href="http://www.greenpath.pl/tag/teksturowanie/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.greenpath.pl</link>
	<description>Programmer&#039;s point of view</description>
	<lastBuildDate>Fri, 30 Dec 2011 22:20:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Scala &#8211; ray tracing &#8211; tekstury</title>
		<link>http://www.greenpath.pl/2009/06/scala-ray-tracing-tekstury/</link>
		<comments>http://www.greenpath.pl/2009/06/scala-ray-tracing-tekstury/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 12:56:30 +0000</pubDate>
		<dc:creator>Michał Borek</dc:creator>
				<category><![CDATA[Grafika]]></category>
		<category><![CDATA[Ray Tracing]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[teksturowanie]]></category>
		<guid isPermaLink="false">http://www.greenpath.pl/?p=50</guid>
		<description><![CDATA[Nie trzeba było długo czekać, a projekt raytracera w Scali doczekał się małej aktualizacji Dodane zostało teksturowanie. Za mapowanie tekstury odpowiada następujący fragment kodu: def getTexel(vp: Vector): Color = { hasTexture match { case false =&#62; color case true =&#62; val vn = new Vector(0,-1,0) val ve = new Vector(-1,0,0) val phi = Math.acos(-vn.dot(vp)) val [...]]]></description>
			<content:encoded><![CDATA[<p>Nie trzeba było długo czekać, a projekt raytracera w Scali doczekał się małej aktualizacji <img src='http://www.greenpath.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Dodane zostało teksturowanie.</p>
<p>Za mapowanie tekstury odpowiada następujący fragment kodu:</p>
<pre>def getTexel(vp: Vector): Color = {
hasTexture match {
case false =&gt; color
case true =&gt;
val vn = new Vector(0,-1,0)
val ve = new Vector(-1,0,0)
val phi = Math.acos(-vn.dot(vp))
val v = phi / Math.Pi
val theta = (Math.acos(vp.dot(ve) / Math.sin(phi))) /
            (2 * Math.Pi)
val u = vn.crossProduct(ve).dot(vp) &gt; 0 match {
case true =&gt; theta
case false =&gt; 1 - theta
}
val color = new java.awt.Color(
    textureFile.getRGB(((u * _textureScale * textureFile.getWidth
    + _tPosX) % (textureFile.getWidth - 1)) .toInt,
    ((v * _textureScale * textureFile.getHeight + _tPosY) %
    (textureFile.getHeight - 1)).toInt))
new Color(color.getRed / 255.0, color.getGreen / 255.0,
    color.getBlue / 255.0)
}
}</pre>
<p>Efekt załączony na poniższym rysunku:</p>
<div id="attachment_57" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.greenpath.pl/wp-content/uploads/2009/06/texturing1.png"><img class="size-medium wp-image-57" title="Ray Tracing - Scala - tekstury" src="http://www.greenpath.pl/wp-content/uploads/2009/06/texturing1-300x162.png" alt="Ray Tracing - Scala - tekstury" width="300" height="162" /></a><p class="wp-caption-text">Ray Tracing - Scala - tekstury</p></div>
<p>Kod projektu znajduje się w repozytorium: <a title="SVN - Scala - Ray tracing" href="http://code.google.com/p/scala-raytracer/source/browse/">http://code.google.com/p/scala-raytracer/source/browse/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.greenpath.pl/2009/06/scala-ray-tracing-tekstury/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

