<?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>Alvaro J Martin Lopez</title>
	<atom:link href="http://www.alvaromartin.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alvaromartin.net</link>
	<description>Creating Video Games</description>
	<lastBuildDate>Wed, 10 Mar 2010 16:47:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Intel&#8217;s Thread Building Blocks</title>
		<link>http://www.alvaromartin.net/2010/03/10/intels-thread-building-blocks/</link>
		<comments>http://www.alvaromartin.net/2010/03/10/intels-thread-building-blocks/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 15:44:06 +0000</pubDate>
		<dc:creator>Prompt</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.alvaromartin.net/?p=468</guid>
		<description><![CDATA[Trasteando con HipHop PHP he visto una dependencia que era tbb Intel&#8217;s Thread Building Blocks. Bien pues es algo que ya escuché hace tiempo, se trata de una manera de aprovechar el paralelismo en C++. No penseis en un sustituto de los threads tradicionales. A leer se ha dicho  
http://www.threadingbuildingblocks.org/
En Agosto de 2009 Epic integró [...]]]></description>
			<content:encoded><![CDATA[<p>Trasteando con HipHop <span class="caps">PHP</span> he visto una dependencia que era tbb <em><a href="http://www.threadingbuildingblocks.org/">Intel&#8217;s Thread Building Blocks</a><span style="font-style: normal;">. Bien pues es algo que ya escuché hace tiempo, se trata de una manera de aprovechar el paralelismo en C++. No penseis en un sustituto de los threads tradicionales. A leer se ha dicho <img src='http://www.alvaromartin.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></em></p>
<p><a href="http://www.threadingbuildingblocks.org/">http://www.threadingbuildingblocks.org/</a></p>
<p>En Agosto de 2009 Epic integró <span class="caps">TBB</span> en su engine&nbsp;<img src='http://www.alvaromartin.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>Debian based <span class="caps">SO</span>: apt-get install&nbsp;libtbb-dev</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alvaromartin.net/2010/03/10/intels-thread-building-blocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HipHop PHP para 32bits</title>
		<link>http://www.alvaromartin.net/2010/03/10/hiphop-php-para-32bits/</link>
		<comments>http://www.alvaromartin.net/2010/03/10/hiphop-php-para-32bits/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 10:26:26 +0000</pubDate>
		<dc:creator>Prompt</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.alvaromartin.net/2010/03/10/hiphop-php-para-32bits/</guid>
		<description><![CDATA[Ver:&#160;http://github.com/sanxiyn/hiphop-php/
Guía para aplicar parches e instalar paquetes necesarios (Ubuntu 9.10, yo tengo Ubuntu 8.04.4 pero ayuda):&#160;http://wiki.github.com/facebook/hiphop-php/building-and-installing-on-ubuntu-910
]]></description>
			<content:encoded><![CDATA[<p>Ver:&nbsp;http://github.com/sanxiyn/hiphop-php/</p>
<p>Guía para aplicar parches e instalar paquetes necesarios (Ubuntu 9.10, yo tengo Ubuntu 8.04.4 pero ayuda):&nbsp;http://wiki.github.com/facebook/hiphop-php/building-and-installing-on-ubuntu-910</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alvaromartin.net/2010/03/10/hiphop-php-para-32bits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook pasa PHP a C++, 50% más de rendimiento</title>
		<link>http://www.alvaromartin.net/2010/02/03/facebook-pasa-php-a-c-50-mas-de-rendimiento/</link>
		<comments>http://www.alvaromartin.net/2010/02/03/facebook-pasa-php-a-c-50-mas-de-rendimiento/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 10:22:42 +0000</pubDate>
		<dc:creator>Prompt</dc:creator>
				<category><![CDATA[Curiosidades]]></category>

		<guid isPermaLink="false">http://www.alvaromartin.net/?p=459</guid>
		<description><![CDATA[Bien, facebook se ha puesto las pilas. Hace ya mucho tiempo existe C++ para web, como si de PHP o JSP se tratara:&#160;http://www.micronovae.com/CSP.html
Lo que han hecho en FaceBook es un parser más analizador, etc, que luego compila con g++, lo han llamado HipHop PHP:
&#8220;&#8230;transforms your PHP source code into highly optimized C++ and then uses [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="HipHop" src="http://wiki.developers.facebook.com/images/a/ac/HipHop_logo_white.png" alt="" width="128" height="167" />Bien, facebook se ha puesto las pilas. Hace ya mucho tiempo existe C++ para web, como si de <span class="caps">PHP</span> o <span class="caps">JSP</span> se tratara:&nbsp;<a href="http://www.micronovae.com/CSP.html" target="_blank">http://www.micronovae.com/<span class="caps">CSP</span>.html</a></p>
<p>Lo que han hecho en FaceBook es un parser más analizador, etc, que luego compila con g++, lo han llamado <em>HipHop <span class="caps">PHP</span></em>:<br />
&#8220;&#8230;<a href="http://developers.facebook.com/news.php?blog=1&amp;story=358" target="_blank">transforms your <span class="caps">PHP</span> source code into highly optimized C++ and then uses g++ to compile&nbsp;it</a>.&#8221;</p>
<p>La problemática de FaceBook es que tiene tanto tráfico que sus servidores no pueden atenderlo. A no ser que sigan invirtiendo en más servidores, claro. Pero ¿qué pasa si el esfuerzo de procesar fuera un 50% menos&nbsp;costoso?</p>
<p><a href="http://wiki.developers.facebook.com/images/2/23/HipHop_transformation_process.png" target="_blank">Link para ver la gráfica de&nbsp;funcionamiento</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alvaromartin.net/2010/02/03/facebook-pasa-php-a-c-50-mas-de-rendimiento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple iPad y chip A4</title>
		<link>http://www.alvaromartin.net/2010/01/29/apple-ipad-y-chip-a4/</link>
		<comments>http://www.alvaromartin.net/2010/01/29/apple-ipad-y-chip-a4/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 10:00:14 +0000</pubDate>
		<dc:creator>Prompt</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://www.alvaromartin.net/?p=455</guid>
		<description><![CDATA[El iPad, la nueva innovación de Apple en&#160;informática.
Después de un par de días interesándome en este nuevo gadget y sobre su nuevo microprocesador tengo algunas cosas que&#160;comentar.
Tengo que reconocer que me gusta, pero tengo varias dudas, la 1ª la intromisión total en la intimidad de los usuarios. El DRM tiene el iPad echa por tierra [...]]]></description>
			<content:encoded><![CDATA[<p>El <a title="iPad" href="http://www.apple.com/ipad/design/" target="_blank">iPad</a>, la nueva innovación de Apple en&nbsp;informática.</p>
<div class="wp-caption alignleft" style="width: 260px"><a href="http://www.apple.com/ipad/design/"><img title="iPad multi-touch" src="http://images.apple.com/ipad/design/images/multi_touch_20100127.png" alt="Funcionalidad multi-touch" width="250" height="290" /></a><p class="wp-caption-text">Funcionalidad&nbsp;multi-touch</p></div>
<p>Después de un par de días interesándome en este nuevo <a title="gadget" href="http://es.wikipedia.org/wiki/Gadget" target="_blank"><em>gadget</em></a> y sobre su nuevo microprocesador tengo algunas cosas que&nbsp;comentar.</p>
<p>Tengo que reconocer que me gusta, pero tengo varias dudas, la 1ª la intromisión total en la intimidad de los usuarios. El <span class="caps">DRM</span> tiene el <a href="http://www.apple.com/ipad/features/" target="_blank">iPad</a> echa por tierra para mi el que sea una buena compra. Me hago eco de algo más información en <a href="http://www.theinquirer.es/2010/01/29/la-free-software-foundation-contra-apple-por-el-drm-del-ipad.html" target="_blank">the inquirer</a> donde apuntan que la <span class="caps">FSF</span> (Free Software Fundation) ha mandado una carta al señor Jobs instándole a que retire su política <span class="caps">DRM</span>, ya que según parece pueden entrar en tu iPad y borrar contenido o bloquear el dispositivo. El Kindle de Amazon tuvo un problema similar, borraron todos los libros de un autor de todos los Kindle. Es un peligro y una violación de la&nbsp;intimidad.</p>
<p>Dejando esto de lado hay que reconocer que a mi me ha gustado. El costo es a partir de unos 500$ <span class="caps">USD</span>, con el podemos hacer todo lo que se hace en iPhone menos llamar por teléfono, estoy seguro que hay algún acuerdo al respecto con las compañías de telefonía y que estará bloqueado usar el 3G para hacer llamadas por Skype o Nimbuzz. Ahora bien&#8230; es un aparato para tener en casa, el dispositivo &#8220;definitivo&#8221; para estar por casa. Para mi es un centro multimedia portátil con el que podemos disfrutar de películas, videos por internet, fotos o libros, este último habría que ver si cansa la vista ya que es una pantalla <span class="caps">LED</span> y no oLED, no obstante yo leo mucho con mi <span class="caps">TFT</span> en el ordenador que aunque no sea lo mejor es útil. La lista de <em>features</em> está <a href="http://www.apple.com/ipad/features/" target="_blank">aquí</a>.<br />
<span id="more-455"></span><br />
<strong>Chip&nbsp;A4</strong></p>
<p>Apple, no es tonto precisamente. Sabe que un gran número de $ está en el costo de comprar hardware a terceros. El mágico iPhone <span class="caps">3GS</span> cuesta de fábrica unos 120$ <span class="caps">USD</span>, digo mágico porque soy un friki del <span class="caps">OMAP3</span> de <span class="caps">TI</span> (Texas Instruments). Es un chip que integra, sonido, usb, 3G/<span class="caps">UMTS</span>, <span class="caps">GPU</span> OpenGL 2.<span class="caps">0ES</span> etc&#8230; y claro el diseño se paga al Qualcomm que es el <em>manufacturer</em> de Apple para el iPhone <span class="caps">3GS</span>. Apple hace no mucho compró una empresa de semi-condutores <span class="caps">PA</span> Semi, por tanto el diseño y fabricación del A4 es propiedad de Apple con la reducción notable en el costo. No se saben detalles técnicos como que microprocesador lleva, se especula que sea un <span class="caps">ARM9</span> <span class="caps">MP</span> Core. Lo que si se sabe es que tiene autonomía de 10 horas y 1GHz. Claro, 10 horas, con esa pantalla tan grande la batería es también mucho más grande. Con lo cual tampoco creo que haya mucha innovación en el consumo del chip si es de <span class="caps">ARM</span>, ya que si no recuerdo mal están hechos en&nbsp;42nm.</p>
<p>Para mi este producto tiene mucho más sentido que el MacMini, ya que tiene conectividad con la televisión e incluso se puede usar como reproductor portátil entre otras muchas cosas. Yo creo que quien invente el iJoyStick <span class="caps">WIFI</span>, se forra con el mercado &#8220;friki&#8221; ya que la gente lo que espera es no necesitar más que obtener y comprar contenido digital. Pero claro, a quien nos gusta para jugar algo más directo y manejable q no tape la pantalla (los dedos) necesitamos un&nbsp;pad!</p>
<p>Yo opino que saldrá el iGamer ! que será un iPhone al cual colocarán en su único botón que se pueda rotar como el mini-toystick de mi Nokia 6600 o como los que se pueden ver en otros móviles. Quien sabe, lo mismo empuja a la industria a que juguemos de una vez con las manos y enterremos el JoyStick. Aunque yo creo que no desaparecerá hasta que evolucione el <a href="http://www.youtube.com/watch?v=40L3SGmcPDQ" target="_blank">control mental</a> (Si, existe desde hace mil un aparato que usa el motor de Valve q con su sistema de física es capaz de mover los objetos, es básico el funcionamiento pero funciona, este enlace es de otro&nbsp;aparato).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alvaromartin.net/2010/01/29/apple-ipad-y-chip-a4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Velocidad 3G Movistar con iPhone</title>
		<link>http://www.alvaromartin.net/2009/11/22/velocidad-3g-movistar-con-iphone/</link>
		<comments>http://www.alvaromartin.net/2009/11/22/velocidad-3g-movistar-con-iphone/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 14:19:20 +0000</pubDate>
		<dc:creator>Prompt</dc:creator>
				<category><![CDATA[Curiosidades]]></category>

		<guid isPermaLink="false">http://www.alvaromartin.net/?p=438</guid>
		<description><![CDATA[Después de 2 meses con mi iPhone ayer estaba muy cabreado. El primer mes todo era perfecto, la tasa de transferencia y la latencia eran muy buenas. Pero, ¿Qué pasó el 2º&#160;mes?
Justo me cobraron el 1er mes, todo perfecto y bien clarito, no como las facturas del fijo&#8230; Al final de mes la conexión se [...]]]></description>
			<content:encoded><![CDATA[<p>Después de 2 meses con mi iPhone ayer estaba muy cabreado. El primer mes todo era perfecto, la tasa de transferencia y la latencia eran muy buenas. Pero, ¿Qué pasó el 2º&nbsp;mes?</p>
<p>Justo me cobraron el 1er mes, todo perfecto y bien clarito, no como las facturas del fijo&#8230; Al final de mes la conexión se volvió lenta, 1G (supongo) 15Kb/s de bajada y 6.5Kb/s de subida, latencia entre 400ms y 1s. Entrando en el 2º mes todo seguía igual pero resultó que hubo una caída del servicio generalizada en toda la provincia de Málaga de la conexión a Internet por&nbsp;3G.</p>
<p>Supuse que esa mala velocidad del 2º mes se debería a que había problemas. Después de esto mi conexión no fue la misma y no se solucionaba solo. Justo ayer Sábado 21 de nov puse una reclamación online. Hoy Domingo 22 me llamaron y les conté mi problema y&nbsp;sensaciones.</p>
<p>La solución fue fácil, el técnico operador dio de baja con un clic mi conexión a Internet y la dio al instante de alta. Y todo volvió a la normalidad. Hice el test con el móvil y <span class="caps">ZAS</span>! 377Kb/s de bajada y 322Kb/s de&nbsp;subida. </p>
<p>Conecté el iPhone como módem al <span class="caps">PC</span> e hice de nuevo el test en el iPhone compartiendo conexión. 12Kb/s de bajada 6.2Kb/s de subida, me acojoné pensando en que ese era el problema. Acto siguiente hice un test de velocidad con el <span class="caps">PC</span> y mi sorpresa fue que toda la velocidad del 3G la adjudica al &#8220;modo router&#8221; y por tanto al <span class="caps">PC</span>. Menos&nbsp;mal! </p>
<p>Espero que cuando vuelva a desconectarlo y conectarlo de nuevo todo vaya bien&nbsp;¬¬</p>
<p> <img src='http://www.alvaromartin.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ah! se me olvidaba, no restauréis el móvil o la configuración de red en este caso, no sirve para nada más que para darse cuenta de que iTunes es una mierda y si tu <span class="caps">PC</span> no tiene conexión a Internet y al Apple store no terminará de restaurar el iPhone. Así como suena, la verdad es que me cansa Apple en la mayoría de cosas que quiero hacer con el&nbsp;móvil.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alvaromartin.net/2009/11/22/velocidad-3g-movistar-con-iphone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ModelViewer, Deferred Rendering pipeline</title>
		<link>http://www.alvaromartin.net/2009/11/05/modelviewer-deferred-rendering-pipeline/</link>
		<comments>http://www.alvaromartin.net/2009/11/05/modelviewer-deferred-rendering-pipeline/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 11:05:32 +0000</pubDate>
		<dc:creator>Prompt</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://www.alvaromartin.net/?p=436</guid>
		<description><![CDATA[Ups, I have no uploaded this&#160;video&#8230;

No Siesta Studios Viewer with a demo model big dady&#160;2.
It video show my Deferred Rendering&#160;pipeline.
Video:- Only Diffuse map- Normal Mapping- Deferred Rendering: Geometry Stage; albedo, normals, SSAO and specular RGB- Deferred Rendering: Lighting Stage, point light- Deferred Rendering: Post-Procesing Stage, Edge Detect&#160;Antialiasing. 
  
]]></description>
			<content:encoded><![CDATA[<p>Ups, I have no uploaded this&nbsp;video&#8230;</p>
<p><object width="504" height="504"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7059829&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7059829&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="504" height="504"></embed></object>
<p>No Siesta Studios Viewer with a demo model big dady&nbsp;2.</p>
<p>It video show my Deferred Rendering&nbsp;pipeline.</p>
<p>Video:<br />- Only Diffuse map<br />- Normal Mapping<br />- Deferred Rendering: Geometry Stage; albedo, normals, <span class="caps">SSAO</span> and specular <span class="caps">RGB</span><br />- Deferred Rendering: Lighting Stage, point light<br />- Deferred Rendering: Post-Procesing Stage, Edge Detect&nbsp;Antialiasing. </p>
<p> <img src='http://www.alvaromartin.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.alvaromartin.net/2009/11/05/modelviewer-deferred-rendering-pipeline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aspect Ratio and Context Menu</title>
		<link>http://www.alvaromartin.net/2009/09/12/aspect-ratio-and-context-menu/</link>
		<comments>http://www.alvaromartin.net/2009/09/12/aspect-ratio-and-context-menu/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 16:14:13 +0000</pubDate>
		<dc:creator>Prompt</dc:creator>
				<category><![CDATA[GUI]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[NSS Engine]]></category>

		<guid isPermaLink="false">http://www.alvaromartin.net/?p=433</guid>
		<description><![CDATA[Hi there! now I have assigned 1.3 aspect ratio and created context menu for to select easily between effects. Shortcut is available with function keys too,&#160;F1-F10.
This is the end of the first lite version using glut. Is a lightweight version, I will use Qt for a complete and complex version in the future. Example of&#160;use:

&#62;ModelViewer [...]]]></description>
			<content:encoded><![CDATA[<p>Hi there! now I have assigned 1.3 aspect ratio and created context menu for to select easily between effects. Shortcut is available with function keys too,&nbsp;F1-F10.</p>
<p>This is the end of the first lite version using glut. Is a lightweight version, I will use Qt for a complete and complex version in the future. Example of&nbsp;use:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #000080;">&gt;</span>ModelViewer path<span style="color: #000040;">/</span>creatures<span style="color: #000040;">/</span>bigdady2
<span style="color: #000080;">&gt;</span>ModelViewer path<span style="color: #000040;">/</span>creatures<span style="color: #000040;">/</span>bigdady2<span style="color: #000040;">/</span>otherName.<span style="color: #007788;">obj</span></pre></div></div>

<p>So easy, I will explain better in other moment but you only need OpenGL 2.0 support and a model with .mtl file with a correct&nbsp;format.</p>
<div id="attachment_434" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.alvaromartin.net/wp-content/uploads/2009/09/aspect_menu.jpg"><img class="size-medium wp-image-434" title="Aspect Ratio and Context Menu" src="http://www.alvaromartin.net/wp-content/uploads/2009/09/aspect_menu-300x237.jpg" alt="Aspect Ratio and Context Menu" width="300" height="237" /></a><p class="wp-caption-text">Aspect Ratio and Context&nbsp;Menu</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvaromartin.net/2009/09/12/aspect-ratio-and-context-menu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Deferred Rendering and Normal Mapping</title>
		<link>http://www.alvaromartin.net/2009/09/12/deferred-rendering-and-normal-mapping/</link>
		<comments>http://www.alvaromartin.net/2009/09/12/deferred-rendering-and-normal-mapping/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 04:33:56 +0000</pubDate>
		<dc:creator>Prompt</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[NSS Engine]]></category>

		<guid isPermaLink="false">http://www.alvaromartin.net/?p=425</guid>
		<description><![CDATA[To do normal mapping in Deferred Rendering is little dificult because you need to store in G-buffer tangent and binormal if you want, but it is easy to calculate. Or you can calculate TBN matrix per pixel with your 2D normal map stored in G-buffer. So I can&#8217;t do that because have high GPU&#160;consumption.
Other thing [...]]]></description>
			<content:encoded><![CDATA[<p>To do normal mapping in Deferred Rendering is little dificult because you need to store in G-buffer tangent and binormal if you want, but it is easy to calculate. Or you can calculate <span class="caps">TBN</span> matrix per pixel with your 2D normal map stored in G-buffer. So I can&#8217;t do that because have high <span class="caps">GPU</span>&nbsp;consumption.</p>
<p>Other thing that you can to do is store in 8bit the result of &#8220;light power&#8221; calc in Geometry stage and then, use that in Lighting Stage. But &#8220;normal mapping&#8221; will be based in 1&nbsp;light.</p>
<p>Anyway, we can do an <span>approximation using a bling phong lighting and fast normal mapping&nbsp;calc:</span></p>
<p><span> </span></p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #666666;">// Calculate half vector</span>
vec3 H <span style="color: #000080;">=</span> normalize<span style="color: #008000;">&#40;</span> normalize<span style="color: #008000;">&#40;</span>lightDirection<span style="color: #008000;">&#41;</span> <span style="color: #000040;">+</span> normalize<span style="color: #008000;">&#40;</span>eyePosition.<span style="color: #007788;">xyz</span> <span style="color: #000040;">-</span> pixelPosition.<span style="color: #007788;">xyz</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> 
&nbsp;
<span style="color: #666666;">// Calculate phong shading</span>
<span style="color: #0000ff;">float</span> shininess <span style="color: #000080;">=</span> <span style="color:#800080;">100.0</span><span style="color: #008080;">;</span>
vec3 phong <span style="color: #000080;">=</span> <span style="color: #0000dd;">pow</span><span style="color: #008000;">&#40;</span>max<span style="color: #008000;">&#40;</span>dot<span style="color: #008000;">&#40;</span>H, normal.<span style="color: #007788;">xyz</span><span style="color: #008000;">&#41;</span>, <span style="color:#800080;">0.0</span><span style="color: #008000;">&#41;</span>, shininess<span style="color: #008000;">&#41;</span> <span style="color: #000040;">*</span> specular.<span style="color: #007788;">rgb</span><span style="color: #008080;">;</span> 
&nbsp;
<span style="color: #666666;">// Calculate normal mapping effect</span>
<span style="color: #0000ff;">float</span> lightAmount <span style="color: #000080;">=</span> max<span style="color: #008000;">&#40;</span>dot<span style="color: #008000;">&#40;</span>normal.<span style="color: #007788;">xyz</span>, normalize<span style="color: #008000;">&#40;</span>lightDirection<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>, <span style="color:#800080;">0.0</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span></pre></div></div>


<a href='http://www.alvaromartin.net/2009/09/12/deferred-rendering-and-normal-mapping/deferrednormalmap01/' title='Deferred with Normal Mapping'><img width="150" height="150" src="http://www.alvaromartin.net/wp-content/uploads/2009/09/DeferredNormalMap01-150x150.jpg" class="attachment-thumbnail" alt="Deferred with Normal Mapping" title="Deferred with Normal Mapping" /></a>
<a href='http://www.alvaromartin.net/2009/09/12/deferred-rendering-and-normal-mapping/deferrednormalmap02/' title='Deferred without Normal Mapping'><img width="150" height="150" src="http://www.alvaromartin.net/wp-content/uploads/2009/09/DeferredNormalMap02-150x150.jpg" class="attachment-thumbnail" alt="Deferred without Normal Mapping" title="Deferred without Normal Mapping" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.alvaromartin.net/2009/09/12/deferred-rendering-and-normal-mapping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Specular RGB and Edge Detect AA</title>
		<link>http://www.alvaromartin.net/2009/09/08/specular-rgb-and-edge-detect-aa/</link>
		<comments>http://www.alvaromartin.net/2009/09/08/specular-rgb-and-edge-detect-aa/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 17:15:33 +0000</pubDate>
		<dc:creator>Prompt</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[NSS Engine]]></category>

		<guid isPermaLink="false">http://www.alvaromartin.net/?p=419</guid>
		<description><![CDATA[Hi&#160;all!
A little update of specular effect. Now with support of RGB channel. I have a screenshot with edge detect&#160;anti-aliasing:
Look, blue in metal and red in crystal&#8230; painted by Prompt   
]]></description>
			<content:encoded><![CDATA[<p>Hi&nbsp;all!</p>
<p>A little update of specular effect. Now with support of <span class="caps">RGB</span> channel. I have a screenshot with edge detect&nbsp;anti-aliasing:</p>
<div id="attachment_423" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.alvaromartin.net/wp-content/uploads/2009/09/specColor_edgeDetect.png"><img class="size-medium wp-image-423" title="Specular RGB test with Edge Detect AA" src="http://www.alvaromartin.net/wp-content/uploads/2009/09/specColor_edgeDetect-300x237.png" alt="Specular RGB test with Edge Detect AA" width="300" height="237" /></a><p class="wp-caption-text">Specular <span class="caps">RGB</span> test with Edge Detect&nbsp;<span class="caps">AA</span></p></div>
<p>Look, blue in metal and red in crystal&#8230; painted by Prompt  <img src='http://www.alvaromartin.net/wp-includes/images/smilies/icon_rolleyes.gif' alt=':roll:' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.alvaromartin.net/2009/09/08/specular-rgb-and-edge-detect-aa/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adjusting SSAO</title>
		<link>http://www.alvaromartin.net/2009/09/08/adjusting-ssao/</link>
		<comments>http://www.alvaromartin.net/2009/09/08/adjusting-ssao/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 12:31:40 +0000</pubDate>
		<dc:creator>Prompt</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[NSS Engine]]></category>

		<guid isPermaLink="false">http://www.alvaromartin.net/?p=415</guid>
		<description><![CDATA[I&#8217;m adjusting the params of my SSAO shaders. I&#8217;m trying to have more darkness in occlusion zones and more clean the others fragments. So adjusting selective fragments I have more&#160;performance.
]]></description>
			<content:encoded><![CDATA[
<a href='http://www.alvaromartin.net/2009/09/08/adjusting-ssao/ssao_adjust01/' title='SSAO Adjust'><img width="150" height="150" src="http://www.alvaromartin.net/wp-content/uploads/2009/09/ssao_adjust01-150x150.png" class="attachment-thumbnail" alt="SSAO Adjust" title="SSAO Adjust" /></a>
<a href='http://www.alvaromartin.net/2009/09/08/adjusting-ssao/ssao_adjust02/' title='SSAO Adjust'><img width="150" height="150" src="http://www.alvaromartin.net/wp-content/uploads/2009/09/ssao_adjust02-150x150.png" class="attachment-thumbnail" alt="SSAO Adjust" title="SSAO Adjust" /></a>

<p>I&#8217;m adjusting the params of my <span class="caps">SSAO</span> shaders. I&#8217;m trying to have more darkness in occlusion zones and more clean the others fragments. So adjusting selective fragments I have more&nbsp;performance.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alvaromartin.net/2009/09/08/adjusting-ssao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
