And now... can flash render a 320k+ voxels head?

July 21st 2008

Again, it can, and damn fast. Well, if it runs fast is all thanks to Román Cortés. which has done a magnificent job optimising the experiment.



If you want to know a little bit more about the details check Román's post.

Seems like using voxels is the best way to have highly detail 3D meshes rendered with Flash these days, although it also has it's limitations...

Ah!! Sources are available this time. (This time it's quite hard to understand tho ;P).

5 comments

Pixel Attack 08 - 3D Slides

July 21st 2008



So, as posted, I was invited to do a speech at this year's pixel attack.

As the topic of my speech was mainly 3D works (with some exceptions) I've been working on during this year I though would be a good idea to do the slides in 3D and get some anaglyphic glasses for the audience. I found a shop with very good prices and in a week that problem was sorted.

This year's presentation system was a was a bit more complex than the one used at LFPUG :)

HOW TO USE:
Keyboard left-right: Prev / Next slide
Mouse left-right: Move camera left-right.
Mouse up-down: Move camera up-down.
Mouse wheel: Move camera forward-backwards.



So, the thing seemed to work pretty well, and the organisers did a great job making sure everyone could enjoy the effect moving tv signals around and giving glasses to everyone.



Some more (clickable) screengrabs :D





Unfortunately I ran out of time (better to run out of time than out of content tho) and I wasn't able to show the last slide. So here are some links to some of the experiments I wasn't able to show:

First a performance test of a 3D engine I was working on. In this test there are about 1000 balls with the depth of field effect. When I did the effect with Papervision3D long time ago I was able to put 200, although I'm sure it can be pretty much optimised too.



And then, something I wanted to try for a while. Andre Stubbe used to have a background on his site which looked similar to this. I though it was a render, but apparently was also real time (with Java). However, he sent me the sprite so I could try to achieve the same effect with flash.



And that's about it, many thanks to the organisers once again for doing a great job and keeping everyone happy, and hope they keep the vibe one more year! Which by the way, extra kudos for them as they probed that you don't need £500 tickets for doing these kind of events (the entrance was free).



On the pic (in a random order :D): Maria, Dave, Javier, Sole, Yingshun and myself

no comments

My take on the RA DIOHEA_D / HOU SE OF_C ARDS thing

July 20th 2008

I'm sure you have heard of that radiohead's opensource music video by now, and if you consider yourself a proper geek you have also played around with the data. At first I wasn't too motivated on doing anything on it, but as I was playing around with voxels I wondered how would the data look like, so yeah, another geek for the bag.

Displaying the first frame was more or less easy, the biggest job on this is optimising the data to something easier to handle online. Each frame in the original data is 400kb, so I was quite happy when I managed to get it down to 30kb myself. Add it the 9kb of my (in the works) 3d engine, and you got a 39kb .swf:

HOW-TO USE:
Mouse left-right: Move camera left-right.
Mouse up-down: Move camera up-down.
Mouse wheel: Move camera forward-backwards.
(MaOS users: key up/key down)



Reducing the data in this case was basically converting all the float values to integers, and then just saving the deltas instead of the real values. This is, if you have (80,80,80), and the next points are (81,81,81), you only save the difference (1,1,1), that would then compress very well, specially because you will end up with a lot of 0s and 1s. Actually, if the value was 0, I would just delete it so I would save (2,,1). The code you need for reconstructing the data is very tiny so it's really worth the work :) Then I saved the whole thing as a string, and added in the actionscript code, flex did the rest when (zip) compressing the final .swf.

Having this done, I showed to some friends, and they were all asking "Doesn't it move?". Oh well... time for a long night ;) After a couple of tests and learning to use byteArrays and stuff like that I managed to have 1000 frames in 40Mb (zipped). Which is 10% of the original. At first I had them at 33Mb (in ASCII), but the process of reconstructing the data was too hard/slow for actionscript and also for the user's memory (1GB+), so the 40Mb option was the best. I'm sure Iq would've been able to reduce the 2000 frames to 5Mb, but well. (Kudos to him for sharing all these compressing tricks btw :D)

This is what I got in the end:

HOW-TO USE:
Same controls as before, but with an extra of patience :P



I also used in the experiment Fzip which did a great job.

I'm not sharing the sources on this one because I'm still working on that 3d engine and I'm still moving things around, but I should be able to release it (and many other tests) in a few weeks (yeah, I know I always say that). However, I can share the php script I did for parsing the frames.

EDIT: Wow, Aaron (the guy that did the original flash visualiser) wrote me asking if I was using shorts (numbers), and I wasn't, because I didn't know there was something smaller than Ints :$. So I've just changed the script to save the info using shorts and the zip now is 33Mb, so 7Mb reduction there :D I've also fixed a bug that sole spotted on the animator.

1 comment

Can BitmapData.setPixel() fill your Browser at ~30fps?

July 17th 2008

Well, seems like it can!

flaxor

This is something I was testing some weeks ago while on holidays. I was testing some tricks to improve the speed of flash raster methods. While at it, I played around with the usual XOR code a bit but I wasn't getting much (~20fps at 512x256).

Weeks later, while having a nice coding session with Texel I found Forrest Briggs post about this same topic, applied everything together, and there we go, 1024x1024 at ~38fps.

The source code is very simple but if you want to take a look... here you have.

So... in short, never forget the BitmapData.lock() and BitmapData.unlock() methods, it gave a ~7 > ~38 fps increase.

no comments

Yet another 3D Clock (D///FEST holding page)

July 11th 2008

D///FEST holding snap

I've been meaning to try NullDesign's 3D Engine for a while now, as it seemed simple and I was also looking for a lightweight (less than 10k) 3D lib. Although I had to slightly change the code of the renderer for this experiment, the engine seemed very intuitive and fast. Keep it up Lars!! ;)

Regarding the experiment itself, D///FEST is an event I'm organising with a couple of friends focused to the realtime art, that is demoscene, flash, processing, vvvv, open frameworks... and well, anything realtime. We don't have all the info ready, so, by now I wanted to have a holding page with a countdown experiment. Ended up doing a super minimal countdown clock.

You can get the sources of the experiment from the experiment itself.

no comments

New Neave.com

June 12th 2008

Mr. Paul Neave has a new showcase site, very well crafted and has a lot of new (and cool) stuff.

You... must... visit! ;)

http://www.neave.com/

no comments

Speaking @ Pixel Attack (Valencia, Spain)

June 10th 2008

At least once a year I go out of my cave, admire the sun rays and, while I'm at it, I give a speech in some random location. Last year was at LFPUG.

This year will be at PIXEL ATTACK, where I'll be doing the usual, detailing a bit on projects I've been working on, showing some tricks here and there, and also showing some bits on the works.

http://www.pixelattack.org/

I'll see you there! :)

no comments

Roxik's The Eco Zoo

June 5th 2008

roxik the eco zoo

It's another oh-so-good project by the master. Kudos Roxik!

Reminds me to 1997's PC Demo: Eden / Bomb! which featured an amazing 3D world created by Made.



Woh!! Just realised that Zappy released the sources of this beauty o/

no comments

FlexBuilder3 + Eclipse + Ubuntu = More AS3 Tests

May 21st 2008

So, finally found a decent setup for developing AS3 with Ubuntu, Flex Builder 3. It's not as good as FDT3, but it's enough to keep going.

Here are some stuff I've been working on since setting everything up... expodoob performance test (I'll give some detail about this project soon), bump test 1, bump test 2.

Many thanks to Thierry Nicola for pointing me on the right direction with his post.

no comments

What happened to your experimentation?

May 6th 2008

... you may be asking yourself.

Maybe you're looking for the newest a greatest Papervision3D experiment, and to be honest I would love to work on it, but I recently switched from Windows to Ubuntu 8.04 at home (Yes, I tried MacOS before, and, for me, it's even worst than Windows). This is something I tried previously, but didn't achieve because there weren't good tools for developing Actionscript on Linux.

However, this time, the kind guys of FDT sponsored my Open source projects with a license, and that was great, I use it for developing the apps listed there. But when it comes to experimenting with graphics I'm making myself use Ubuntu. The bad news is that FDT doesn't work on Eclipse/Ubuntu environment, neither they support that. Actually, it almost works, it's just the formatter that doesn't work.

So I was about to fail again, but I decided to remove all the priority to Actionscript development and look for code-fun alternatives. Although most of my friends were trying to persuade me to move to C++ I still like the accessibility of having your work easy to watch with a click from the browser. So the first thing I tried was Processing, unfortunately the GUI was pretty unusable for me. So I tried to, somehow, develop with Eclipse Processing apps. Didn't work nicely either.

So, there I was with Eclipse and a lot of patches for doing p5 apps. Wait, Eclipse?! Isn't Eclipse supposed to be mainly for Java stuff? Uhmm...

So yeah, slowly I've been doing some progress on developing on Java / JoGL. Java is quite hard compared to Actionscript, there aren't as many internet resources and even for doing a Audio Player you can spend a weekend. But with a bit of patience things are getting together and are starting to work. You can see some very-early tests I'm doing here:





And on this one I already have a OGG player and some debug info on the top o/

/projects/inspire08/05/ (Sorry about the tune :P)

So, give me a couple of months playing around with this, and, hopefully, my new experiments will have the complexity of flight404 ones, still being real time (which I assume his ones are also real time, but for some reason only releases video files).

Anyway, the sooner I get something I'll post it here with source files, which hopefully will help to others to get started and play around too.

On the other hand, I'm recently doing some Actionscript experiments for Hi-ReS!, which I think will end up being pretty good. Time will tell.

And, if this wasn't enough, from now on Mr.doob is not just myself anymore. My partner in life just left her work and is now helping with the freelance projects Mr.doob gets :) Wait?! Didn't say on the top that Mr.doob didn't do any freelance projects anymore?! Somehow they still arrive, I'll change that anyway :D

Ahh... exciting times!

no comments
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Some of the projects that I worked on.



Some of the HTML5 and Actionscript experiments I've done.