<?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>BurnedBrain &#187; Papervision3D</title>
	<atom:link href="http://blog.burnedbrain.com/category/papervision3d/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.burnedbrain.com</link>
	<description>a user experience blog by Simone Simola</description>
	<lastBuildDate>Sun, 09 May 2010 20:11:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Papervision3D template class</title>
		<link>http://blog.burnedbrain.com/2010/01/17/papervision3d-template-class/</link>
		<comments>http://blog.burnedbrain.com/2010/01/17/papervision3d-template-class/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 14:21:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[BurnedBrain]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Simone Simola]]></category>
		<category><![CDATA[www.burnedbrain.com]]></category>

		<guid isPermaLink="false">http://blog.burnedbrain.com/?p=299</guid>
		<description><![CDATA[
Un piccolo esempio in cui è possibile ruotare l&#8217;orbita della camera e visualizzare un piano in wireframe.

package
{
	import flash.events.Event;

	import org.papervision3d.events.FileLoadEvent;
	import org.papervision3d.materials.WireframeMaterial;
	import org.papervision3d.materials.utils.MaterialsList;
	import org.papervision3d.objects.DisplayObject3D;
	import org.papervision3d.objects.primitives.Cube;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.view.BasicView;

	[SWF(width=&#34;800&#34;, height=&#34;600&#34;, frameRate=&#34;31&#34;, backgroundColor=&#34;#666666&#34;)]

	public class ExternalModelsExample extends BasicView
	{
		private var model:DisplayObject3D;
		private var rotX:Number = 0.1;
		private var rotY:Number = 0.1;
		private var camPitch:Number = 90;
		private var camYaw:Number = 270;
		private var easeOut:Number = 0.1;

		public function <a href="http://blog.burnedbrain.com/2010/01/17/papervision3d-template-class/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.burnedbrain.com/wp-content/uploads/2010/01/Schermata-2010-01-17-a-15.15.51-300x225.png" alt="Papervision3D template" title="Papervision3D template" width="300" height="225" class="alignnone size-medium wp-image-300" /></p>
<p>Un piccolo esempio in cui è possibile ruotare l&#8217;orbita della camera e visualizzare un piano in wireframe.</p>
<pre class="brush: jscript;">
package
{
	import flash.events.Event;

	import org.papervision3d.events.FileLoadEvent;
	import org.papervision3d.materials.WireframeMaterial;
	import org.papervision3d.materials.utils.MaterialsList;
	import org.papervision3d.objects.DisplayObject3D;
	import org.papervision3d.objects.primitives.Cube;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.view.BasicView;

	[SWF(width=&quot;800&quot;, height=&quot;600&quot;, frameRate=&quot;31&quot;, backgroundColor=&quot;#666666&quot;)]

	public class ExternalModelsExample extends BasicView
	{
		private var model:DisplayObject3D;
		private var rotX:Number = 0.1;
		private var rotY:Number = 0.1;
		private var camPitch:Number = 90;
		private var camYaw:Number = 270;
		private var easeOut:Number = 0.1;

		public function ExternalModelsExample()
		{
			stage.frameRate = 40;

			init();
			startRendering();
		}

		private function init():void
		{
			model = new Plane();
			scene.addChild(model);
		}

		private function modelLoaded(event:FileLoadEvent):void
		{
			// To be added
		}

		override protected function onRenderTick(event:Event=null):void
		{
			var xDist:Number = mouseX - stage.stageWidth;
			var yDist:Number = mouseY - stage.stageHeight;

			camPitch += ((yDist * rotX) - camPitch + 90);

			camYaw += ((xDist * rotY) - camYaw + 270) * easeOut;

			camera.orbit(camPitch, camYaw);

			super.onRenderTick();
		}

	}
}
</pre>
<p><em>Namasté</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.burnedbrain.com/2010/01/17/papervision3d-template-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guida per il Novello PaperModellatore</title>
		<link>http://blog.burnedbrain.com/2010/01/17/guida-per-il-novello-papermodellatore/</link>
		<comments>http://blog.burnedbrain.com/2010/01/17/guida-per-il-novello-papermodellatore/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 23:25:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[BurnedBrain]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Simone Simola]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[agency.com]]></category>
		<category><![CDATA[www.burnedbrain.com]]></category>

		<guid isPermaLink="false">http://blog.burnedbrain.com/?p=289</guid>
		<description><![CDATA[Ecco un piccola guida frutto della mia ultima lettura:PAPERVISION 3D ESSENTIAL.

1.) POCHI POLIGONI
Modellare con il minor numero di poligoni possibile per non sovraccaricare il motore di rendering a discapito delle performance di tutto l&#8217;applicativo
Le performance dipendono da molti fattori, non solo dal numero di triangoli comunque è preferibile non superare i 3000 triangoli (1500 poligoni).
A <a href="http://blog.burnedbrain.com/2010/01/17/guida-per-il-novello-papermodellatore/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>Ecco un piccola guida frutto della mia ultima lettura:<br /><strong>PAPERVISION 3D ESSENTIAL</strong>.</p>
<p><img src="http://blog.burnedbrain.com/wp-content/uploads/2010/01/papervision3d-essentials-243x300.jpg" alt="Papervision 3D  Essentials" title="Papervision 3D  Essentials" width="243" height="300" class="alignnone size-medium wp-image-293" /></p>
<p><strong>1.) POCHI POLIGONI</strong><br />
Modellare con il minor numero di poligoni possibile per non sovraccaricare il motore di rendering a discapito delle performance di tutto l&#8217;applicativo<br />
Le performance dipendono da molti fattori, non solo dal numero di triangoli comunque è preferibile non superare i 3000 triangoli (1500 poligoni).<br />
A differenza di molti altri programmi di modellazione, Papervision3D è basato sui triangoli e non sui poligoni.</p>
<p><strong>2.) AGGIUNGERE POLIGONI PER CORREGGERE ERRORI DI VISUALIZZAZIONE</strong><br />
Sebbene questo vada apparentemente contro il precedente suggerimento di tenere basso il numero di poligoni, a volte è necessario avere più poligoni per evitare distorsioni di texture o ridurre eventuali errori di visualizzazione (z-sorting artifacts), questo problema si verifica solitamente nei punti di intersezione con altri oggetti o quando alcuni oggetti sono molto vicini tra loro.</p>
<p><strong>3.) TEXTURE PICCOLE E LEGGERE E LEGGIBILI PER FLASH E PAPERVISION</strong><br />
Le texture dei modelli devono essere esportate in un formato leggibile per Papervision3D e per il Flash Player (png, jpg o gif) e preferibilmente nelle dimensioni in cui il modello verrà visualizzato, al fine di evitare spreco di banda per caricare texture pesanti che poi verranno ridimensionate e visualizzate in un formato più piccolo. Tenere sempre a mente che le dimensioni delle texture devono essere multipli di 2. Questo abiliterà il mipmapping e lo smoothing (anche se con un extra-dispendio di performance).</p>
<p><strong>4.) UTILIZZO DELLE UV MAPS</strong><br />
Se il modello è composto da numerosi poligoni e texture è conveniente usare la mappatura UV e cioè il processo di apertura del modello e definizione delle sue texture in un&#8217;unica immagine.<br />
Questo puo velocizzare il processo di caricamento iniziale e evitare di caricare dozzine di immagini. Inoltre le mappe UV possono anche essere riutilizzate parzialmente.<br />
Cercare di tenere le immagini di mappatura UV il più piccole possibile. Nel caso in cui ci siano molti oggetti che condividano le stesse mappe UV e serva un canvas più ampio, tenere presente che il Flash Player 9 puo caricare immagini fino a un massimo di 2880&#215;2880 pixel (non superare comunque i 2048&#215;2048 pixel per le texture)</p>
<p><strong>5.) BAKING TEXTURES</strong><br />
Baking Textures è il processo di integrazione di ombre, luci, riflessi o dell&#8217;intero modello 3D in una singola immagine. Molti tool di modellazione lo supportano.<br />
Questo procedimento può essere utilizzato per aumentare il livello di realismo quando non è possibile calcolare ombre e luci in tempo reale (a causa del notevole calo di performance che questi calcoli produrrebbo).</p>
<p><strong>6.) NOMI RICONOSCIBILI</strong><br />
E&#8217; buona norma assegnare nomi riconoscibili per tutti gli oggetti. Questo vale per le classi, i metodi e le proprietà nel codice, ma anche per i nomi degli oggetti 3D nel software di modellazione.<br />
Prima di rinominare un oggetto usato in un&#8217;applicazione, pensare a cosa comporta in termini di identificazione. Potrebbe essere necessario rivedere tutto il codice per correggere i riferimenti all&#8217;oggetto modificato.</p>
<p><strong>7.) DIMENSIONI E POSIZIONE</strong><br />
Mantenere sempre le stesse dimensioni relative per i modelli realizzati. Sebbene Papervison3D permetta di variare il livello di scaling del modello 3D caricato, è conveniente che sia Papervision3D che il software di modellazione siano allineati e abbiano lo stesso livello di zoom (Papervision3D non utilizza un sistema metrico come pixel o centimetri, è basato su unità).<br />
Un&#8217;altra convenzione è posizionare gli oggetti all&#8217;origine dello spazio 3D nel software di modellazione. Specialmente quando viene esportato un singolo oggetto è fondamentale che sia posizionato a 0 su tutti gli assi. Inquesto modo si potrà fare riferimento all&#8217;oggetto in Papervision3D usando valori assoluti senza prevedere valori di offset.</p>
<p><strong>8.) TRA QUALITÁ E PERFORMANCE</strong><br />
Per ogni progetto è fondamentale trovare il giusto equilibrio tra qualità e performance perchè ogni progetto è differente e ha requisiti, qualità e scaling differenti. Non c&#8217;è una regola da applicare, va definito di volta in volta. Se si conosce un modo per ottimizzare i modelli 3D, utilizzarlo senza esitazione.</p>
<p><a href="http://www.juxtinteractive.com/work/vizualpv3d/" target="_blank"><strong>Qui</strong></a> si puo trovare uno strumento per visualizzare all&#8217;interno del motore di Papervision3D il modello realizzato.<br/><br />
<a href="http://code.google.com/p/mrdoob/wiki/pv3dpreviewer" target="_blank"><strong>Qui</strong></a> e <a href="http://www.packtpub.com/article/papervision3d-external-models-part1" target="_blank"><strong>qui</strong></a> alcune indicazioni utili.</p>
<p><em>Namasté</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.burnedbrain.com/2010/01/17/guida-per-il-novello-papermodellatore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Augmented 3D FlarToolkit and Papervision3D</title>
		<link>http://blog.burnedbrain.com/2009/02/23/augmented-3d-flartoolkit-and-papervision3d/</link>
		<comments>http://blog.burnedbrain.com/2009/02/23/augmented-3d-flartoolkit-and-papervision3d/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 23:12:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Actionscript Code]]></category>
		<category><![CDATA[Augmented Reality]]></category>
		<category><![CDATA[BurnedBrain]]></category>
		<category><![CDATA[CS4]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Simone Simola]]></category>
		<category><![CDATA[agency.com]]></category>
		<category><![CDATA[www.burnedbrain.com]]></category>

		<guid isPermaLink="false">http://blog.burnedbrain.com/?p=174</guid>
		<description><![CDATA[An example of Flash Augmented Reality with Papervision3D.
I got FlarToolkit from the Saqoosha&#8217;s Japanese blog and after a sleepless night, finally i did it!
I used Syncro SVN Client to get all the FlarToolkit trunk and the updated Papervision3D trunk.
To test my demonstration you must download and print this pdf file. 

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_FlarToolkit_1284951577"
			class="flashmovie"
			width="640"
			height="480">
	<param name="movie" value="http://www.burnedbrain.com/actionscript3/FlarToolkit/FlarToolkit.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.burnedbrain.com/actionscript3/FlarToolkit/FlarToolkit.swf"
			name="fm_FlarToolkit_1284951577"
			width="640"
			height="480">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>]></description>
			<content:encoded><![CDATA[<p>An example of <strong>Flash Augmented Reality</strong> with <strong><a href="http://code.google.com/p/papervision3d/downloads/list" target="_blank"><strong>Papervision3D</strong></a></strong>.<br />
I got FlarToolkit from the <a href="http://www.libspark.org/wiki/saqoosha/FLARToolKit/en" target="_blank"><strong>Saqoosha&#8217;s Japanese blog</strong></a> and after a sleepless night, finally i did it!</p>
<p>I used Syncro SVN Client to get all the FlarToolkit trunk and the updated Papervision3D trunk.</p>
<p>To test my demonstration you must <a href="http://www.burnedbrain.com/actionscript3/FlarToolkit/marker.pdf" target="_blank"><strong>download</strong></a> and print this pdf file.<a href="http://www.burnedbrain.com/actionscript3/FlarToolkit/marker.pdf" class="tt-flickr tt-flickr-Medium" title="Augmented 3D FlarToolkit and Papervision3D Marker"><img class="alignnone" src="http://farm4.static.flickr.com/3559/3301940434_e1c8b0abba.jpg" alt="Augmented 3D FlarToolkit and Papervision3D Marker" width="271" height="316" /></a> </p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_FlarToolkit_1956156882"
			class="flashmovie"
			width="640"
			height="480">
	<param name="movie" value="http://www.burnedbrain.com/actionscript3/FlarToolkit/FlarToolkit.swf" />
	<param name="menu" value="false" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.burnedbrain.com/actionscript3/FlarToolkit/FlarToolkit.swf"
			name="fm_FlarToolkit_1956156882"
			width="640"
			height="480">
		<param name="menu" value="false" />
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p><a href="http://www.burnedbrain.com/actionscript3/FlarToolkit/FlarToolkit.zip"><strong>Download Source</strong></a></p>
<p><em>Namasté</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.burnedbrain.com/2009/02/23/augmented-3d-flartoolkit-and-papervision3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
