Problem using VectorVision with RenderLayers

text3D
While developing a Papervision 3D site I stumbled across John Lindquists tutorial on RenderLayers. To optimize my code I chose to render part of the scene only once and the rest of the scene 30 times a second, this can be achieved using render layers. For more info regarding this visit the tutorial mentioned above. Anyway since the site I’m developing includes text I’ve been using VectorVision, now a part of the Papervision 3D package. This is where the problem occurs.

When using the Text3D Class in a RenderLayer the layer merges with the layer rendered in the previous frame, causing the problem seen in the picture above. The desired effect is obviously that the old layer should be wiped clean when a new frame is being rendered. Keep in mind though that this problem only occurs when rendering the scene using render layers. Rendering the entire scene using this syntax: renderer.renderScene(scene, camera, viewport); renders the scene without any problems. To recreate the bug launch the example below and press down the left key on the keyboard. This will render the left RenderLayer containing the text. The right layer containing a sphere is rendered by holding down the right key. The right layer renders correctly since it doesn’t contain any instances of the Text3D Class.

If there are any developers out there who can tell me why this is happening go ahead and write a comment. Or even better if a member of the Papervision 3D crew would take a look at the problem and provide a fix for this bug.

(This example of the bug is based on the example written by John Lindquist)

package
{
	import flash.events.Event;
	import flash.events.KeyboardEvent;
	import flash.ui.Keyboard;
 
	import org.papervision3d.core.proto.MaterialObject3D;
	import org.papervision3d.lights.PointLight3D;
	import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
	import org.papervision3d.objects.primitives.Sphere;
	import org.papervision3d.view.BasicView;
	import org.papervision3d.view.layer.ViewportLayer;
	import org.papervision3d.materials.special.Letter3DMaterial;
	import org.papervision3d.typography.Font3D;
	import org.papervision3d.typography.Text3D;
	import org.papervision3d.typography.fonts.HelveticaBold;
 
	[SWF(width="900", height="480", backgroundColor="#ffffff", frameRate="30")]
	public class RenderLayers extends BasicView
	{
		private var isLeftRendering:Boolean = false;
		private var isRightRendering:Boolean = false;
 
		private var rightSphere:Sphere;
		private var text3D:Text3D;
 
		private var rightLayers:Array = [];
		private var leftLayers:Array = [];
 
		public function RenderLayers()
		{
			super(900, 480, false, false);
			var light:PointLight3D = new PointLight3D(true);
 
			var rightSphereMaterial:MaterialObject3D = new FlatShadeMaterial(light, 0x00cc00, 0x111111, 10);
			rightSphere = new Sphere(rightSphereMaterial, 300);
			rightSphere.x = 500;
 
			//Adding text3D
			var letter3DMaterial:Letter3DMaterial=new Letter3DMaterial(0x666666);
			letter3DMaterial.doubleSided=true;
			var font3D:HelveticaBold = new HelveticaBold();
 
			text3D = new Text3D("text3D",font3D,letter3DMaterial);
			text3D.name = "text3D";
			text3D.x=-500;
			scene.addChild( text3D );
 
			var leftSphereLayer:ViewportLayer = new ViewportLayer(viewport, text3D);
			viewport.containerSprite.addLayer(leftSphereLayer);
			leftLayers.push(leftSphereLayer);
 
			var rightSphereLayer:ViewportLayer = new ViewportLayer(viewport, rightSphere);
			viewport.containerSprite.addLayer(rightSphereLayer);
			rightLayers.push(rightSphereLayer);
 
			scene.addChild(rightSphere);
 
			//Render once so the text and sphere appear
			renderer.renderScene(scene, camera, viewport);
 
			startRendering();
 
			stage.addEventListener(KeyboardEvent.KEY_DOWN, stage_keyDownHandler);
			stage.addEventListener(KeyboardEvent.KEY_UP, stage_keyUpHandler);
		}
 
		private function stage_keyDownHandler(event:KeyboardEvent):void
		{
			switch(event.keyCode)
			{
				case Keyboard.LEFT:
					isLeftRendering = true;
					break;
 
				case Keyboard.RIGHT:
					isRightRendering = true;
					break;
			}
		}
 
		private function stage_keyUpHandler(event:KeyboardEvent):void
		{
			switch(event.keyCode)
			{
				case Keyboard.LEFT:
					isLeftRendering = false;
					break;
 
				case Keyboard.RIGHT:
					isRightRendering = false;
					break;
			}
 
		}
 
		override protected function onRenderTick(event:Event = null):void
		{
			//The text and sphere are always rotating
			text3D.rotationX++;
			rightSphere.rotationX--;
 
			//But they're only rendered if their selected layer is rendered
			if(isLeftRendering)
			{
				//This is were the bug occurs
				renderer.renderLayers(scene, camera, viewport, leftLayers);
				//This renders the entire scene without problems
				//renderer.renderScene(scene, camera, viewport);
			}
 
			if(isRightRendering)
			{
				renderer.renderLayers(scene, camera, viewport, rightLayers);
			}
		}
	}
}

1 comment

3D Flash game using sensors

Har experimenterat en del med sensorer och Papervision 3D 2.0 på Media Lab. Här finns lite information om projektet för dem som är intresserade.

3D flash game

http://mlab.taik.fi/paja/?p=326

Add comment

Facebook

 Andreas Hambergs facebookprofil

Andy, har blivit nörd och skapat en Facebook profil. Check it!

Add comment

(K)aaaaight! & Taaaaikk!

Kite boarding i Hangö

En snabb läges rapportering e på sin plats efter ett par månaders uppehåll.

  • Blev utexaminerad från Arcada efter att ha skrivit min avhandling om mobil webbdesign.
  • Börjat jobba för nymediaföretaget Activeark
  • Grundat ett eget nymediaföretag Hamberg Media
  • Bilvit antagen som studernade vid Media Lab på Konstindustriella högskolan
  • Skall imorgon stiga upp kl 8:00 och fara till Hangö och testa min ny köpta kite utrustning, aaaaight!

Add comment

Xbox360 vs. Playststion 3

Xbox360 vs. Playststion 3
Jag som länge har varit en lojal Plasytation fan har nu blivit tvungen att byta “to the dark side of the force”, dvs jag är nu en stolt ägare av en Xbox 360. Beslutet var inte lätt men med det fanns tyvärr så många orsaker att bryta min lojalitet gentemot Playstation att beslutet var oundvikligt.

Mina misstankar om att Playststion 3 skulle bli en flopp började efter att jag läst denna artikel. I artikeln jämförs den ett år gamla Xbox 360 med en splitter ny PS3. Testets var en jämförelse av spelgrafiken i 8 spel som fanns till båda konsolerna. Till allas överraskningen såg Xbox 360 versionen bättre ut i majoriteten av spelen. Däremot bevisar detta test inte alt för mycket, eftersom man egentligen borde jämföra spel som är exklusivt utvecklade till respektive konsolerna. Det är ett rent faktum att det inte är lätt att programera spel till PS3:an, däremot med tanke på att maskinen har mycket kraftigare hårdvara än Xbox 360 så kan man inte se allt för mycket genom fingrarna.

saker och ting blev tyvärr bara värre när jag fick hör nyheterna om att Europa får en försämrad version av PS3:an. Jepp ni hörde rätt, trots all väntan och det höga priset på konsolen så har Sony beslutat att spara på pengar genom att förse den europeiska versionen med sämre komponenter. Före denna nyhet nådde pressen hade en kompis ironiskt nog försvarat Sonys försening med att “vi kan i alla fall förvänta oss en bättre PS3:a eftersom Sony nu haft så lång tid att göra förbättringar för den europeiska lanseringen”. Till på köpet så kommer konsolen att vara dyrare i jämförelse med dess amerikanska och japanska trillingbröder. Visserligen att kalla konsolerna trillingar är en skyf för trillingar runt om i världen, trots att jag inte ens använde prefixet identiska i jämförelsen. Vill ni läsa en patetisk förklaring på varför Sony försämrade konsolen läs då denna artikel från Aftonbladet.

“Bottom line” sånt här skit med förseningar, höga priser och försämringar kan inte tolereras, bojkotta tillsammans med mig Playststion 3:a ända tills vi får en ordentlig version i rätt prisklass.

Add comment

Tack till alla er som röstade på mig!

Tack för era röster! - Kiitos äänestänni!
Jag vill börja med att rikta ett stort tack till alla de 181 personerna som röstade på mig i riksdagsvalet, samt de som flitigt röstade på mig i ungdomsvalet, där jag placerade mig på 28:e plats av 250. Sen har jag även en stödgrupp bestående av Linda Vänskä, Tom Jonas Sandell, Riku Veijonen, Tobias von Schantz, Peik Stenlund samt min pappa som förtjänar ett enormt tack tillsammans med alla andra som hjälpt till under kampanjen med allt från att dela ut flyers till att ge värdefulla råd. Mikael Westerback vill jag tacka för valbidraget han ordande åt mig. Själva valbidraget kom från Svensk samling i Helsingfors, ett stort tack till er. Sist men inte minst vill jag tacka SFP samt SU för deras stöd.

Själva resultat kom i alla fall för mig som en stor chock och en mycket positiv sådan. Att en Malaxbo som kommit till storstaden skulle samla så mycket röster i både ungdomsvalet samt riksdagsvalet hade jag aldrig kunnat tänka mig. Ert stöd har verkligen betytt mycket för mig, detta tyder helt klart på att jag arbetat för saker som även andra tycker är viktiga i vårat samhälle.

Mina åsikter om studerandes rättigheter samt bevarande av det svenska språket delar jag med många, däremot är jag rätt överraskad att inte mera människor ser bilskatten ett stort problem. Nu handlar det inte om att vi alla skall köra nya BMW:n och vara jätte lyckliga, det handlar om att försvara våran planet samt våra egna liv. Detta är dessvärre ingen överdrift, gamla bilar smutsar ner brutalt mycket mer jämfört med nya bilar. Finlands gamla bilpark överskrider som följd EU:s rekommenderade gräns för koldioxid utsläpp. Som om detta inte skulle vara tillräckligt så är gamla bilar rent utsagt livsfarliga för både bilister och fotgängare. Detta har jag fått uppleva i första hand när jag var på väg till Malax med en bil från 80-talet, ett par år sedan. Mitt i allt på motorvägen ca 30km från helsingfors och i ca 130km/h smäller det till och bilen börjar luta till vänster. Tro det eller ej, men vänstra bakhjulet hade beslutat sig för att lossna från bilden! Jag fick dock slutligen bilden till ett stillastående läge med hjärtat i halsgropen. Jag och min kusin, som var min medpassagera, kunde helt bra ha dött i denna våldsamma olycka. Tacka slupen eller en skyddsängel att vi ännu lever, ett sak är säkert, skulle vi ha dött skulle det bara funnits en enda sak att skylla på: BILSKATTEN!!! Många kanske tror att en sänkning av bilskatten skulle öka radikalt på privatbilsmen, “bs” säger jag. Saken är den att nästan vem som helst har råd att köpa en bil, enda skillnaden är att bilister skulle ha råd med mer miljövänliga samt säkrare bilar i fall man sänker bilskatten. Visst skulle bilismen säkert öka en del, men miljön skulle ändå inte lida eftersom den förnyade bilparken trots ökningen skulle förorsaka mindre utsläpp. “And Lets face it” bilparken kommer oberoende en sänkning av bilskatten ändå att öka, fast än hur mycket man skulle satsa på biltullar och allmänna transportmedel. Nu är det dag att vakna upp och känna morgonkaffet och göra något åt saken!

Add comment

Reportage om bilskatten i Finland

Reportage

Blev nyligen informerad om att jag hade skymtat i tv-rutan idag (Söndagen den 11.3). Jag gjorde nämligen en tid sedan ett reportage till YLE där jag framförde mina åsikter om bilbeskattningen i Finland. Lyckligtvis kommer det en repris nu på onsdag (14.3) kl 16:00 från TV2 i fall någon är intresserad. Programmet där mitt inslag visas heter Superfarmen och programmets tema är ungdomar och politik. Har som sagt inte sett programmet men utifrån temat så kan det vara ett riktigt intressant program. Tyvärr är själva programmet på finska, men jag fick specialtillstånd att göra mitt reportage på svenska,

fight the power!

3 comments

CV & Portfolio äntligen klar!

CV & Portfolio
Äntligen har jag första versionen av min cv & portfolio ut på nätet. Än så länge finns det bara info på engelska och svenska men oroa er inte, en finsk version är även på kommande.

Va e de vidare… check it out!

Add comment

The Truth is Out There

The Truth is Out There

Som många kanske vet så var jag rätt man, på rätt plats, men vid fel tidpunkt den 7 maj 2006. För dem som inte vet, talar jag alltså om magasinbranden i Helsingfors, som jag blev huvudvittne för. Detta var dock längesen, men vad jag nu förstått så har ingen ännu heller blivit gripen för attentatet. Senast jag läste om händelsen så påstods det att det hela kanske bara var en olycka.

Right… Det kan jag nu tala om för er, att det definitivt inte var en olycka, som enda vittne på plats kan jag garantera detta. Nämligen bara några sekunder innan magasinet stod i lågor, hördes en kraftig smäll som kom inifrån magasinet. Detta var dock inte den enda suspekta händelse som präglade situationen. Två gestalter kommunicerade nämligen högljutt tvärs över magsingården, antagligen hade de fått syn på mig och försökte varna varandra.

Den sista mystiska omständigheten var brandens snabba accelereration, vilket med allra högsta sannolikhet tyder på att det använts tändningsvätska i samband med antändningen. Mina bilder tagna med bara några sekunders intervall illustrerar tydligt hur snabbt lågorna avancerar till magasintaket. Klicka t.ex. här för att se bilderna, för att gå till nästa bild för musen till högra sidan av den öppnade bilden. jag har även laddat upp en video, borde vara rätt självklart hur man spelar upp den.

Nu kan man ju fråga sig håller Finland på att härma USA och ”cover up” händelsen eller skäms man bara för att man aldrig hittade gärningsmännen?

Add comment

(K)aaaaight!

Kite boarding
Idag var jag ute på isen och bekantade mig med en ny extremesport vid namn kite boarding. Peik Stenlund aka “Steni”, en av mina gammal mili kompis är en av pionjärerna inom sporten i Finland och han lärde mig idag grunderna, med hjälp av en så kallad trainer kite. Steni har tillsammans med ett par kompisar grundat en firma (Kiteloop) som säljer kite boarding tillbehör. På tal om Kiteloop så kan jag så här i förbifarten berätta att jag designat firmans logo. Hur som helst om detta verkar intressant så kontakta kiteloop så kan de hjälpa er komma igång.

1 comment

Previous Posts