1/2
1/2
13
13
55
55
377
377
HeartOfGlass
Real
time
Video
capture

That’s 200 000 particle version. That might run on your browser.

So like I’ve written on this blog my particle engine can move large amount of particles from A to B and I can do custom tweening algorithms for that transition. Great… what then. I realized that using perlin noise for setting the B positions of the particles could turn this thing look quite interesting.

→ Read the rest of this entry

21
21

What do you think of this? (8)

1/2
1/2
13
13
55
55
377
377
PrimeSpermOfSibelius
Real
time
Video
capture

Prime Sperm of Sibelius. Music http://soundcloud.com/djlo/sibelius-finlandia-op-26-version-for-male-choir-and-orchestra

and of course.

AbandonedSpermOfSibelius
Real
time
Video
capture

Abandoned Sperm of Sibelius. Music http://soundcloud.com/yourhips/sibelius

These are a bit heavier then last ones. Too bad if you have slow computer and you hate classic music. :/

21
21

What do you think of this? (5)

1/2
1/2
13
13
55
55
377
377
PyroTechnicsExpoOut
Real
time
Video
capture

Here’s how I can ‘individually’ move massive amount of particles.
1. Give them start and end point.
2. Tween between those points in vertex shader.
3. Send only time value to vertex shader in every frame.

No there’s no catch. The movement doesn’t have to be linear. AGAL can do this thing called mathematics and is quite awesomely fast in it. Familiar easing functions can be rewritten into AGAL. Upper flash is an example use case of Robbie‘s legendary ExpoOut function.

And here’s example of ExpoIn function.

PyroTechnicsExpoIn
Real
time
Video
capture
21
21

What do you think of this? (4)

1/2
1/2
13
13
55
55
377
377
OceanBubbles
Real
time
Video
capture

I’m working on a new particle engine (evoSpicyParticleEngine). That I’ll open source when it’s ready enough. Here’s some taste of it. There are 200 000 individually moving z-sorted particles. :D

I found the browser player a bit slow. Or well.. I know it sounds ridiculous to whine “it can only run some hundred thousand particles… nyyh nyyh” when we only had few thousand couple months ago. BUT the local standalone player runs way way way faster! On my OSX it can run almost million in full hd resolution. Maybe browsers limit the power or what?

21
21

What do you think of this? (16)

1/2
1/2
13
13
October 14, 2011at10:43 pm AS3.0, English, Experimentals, flash, stage3d, 6 Comments
55
55
377
377
FourSparklers
Real
time
Video
capture

I just checked and yeah… I had almost a year break from releasing experiments. The very core content of my blog. What ever. Here’s another particle experiment. There are 87 380 balls doing their thing. I think this will lead to open source Stage3D particle engine lib and hopefully I end up adding these monsters to Away3D someday soon too.

This isn’t a perfect system yet and not fully optimized. Anyway.

What this thing does is:
1. Set start and ending points for particle vertices. (2304 in every frame)
2. GPU will tween between those points.
3. Plus all sort of funky stuff with colors and there’s light at the top of every particle stream. GPU will calculate distances to those and add more value to colors. As you can see.

Anyway that was the plan. In this case it started to behave funny when I adjusted my AGAL codes and the rule explained doesn’t fully apply anymore. So what I released here is a mistake, but I think it feels and looks great!

Here’s a link to that cool song.

21
21

What do you think of this? (6)

1/2
1/2
13
13
55
55
377
377
SalmonFlyingIntoLadasBackSeat
Real
time
Video
capture

I got a change to speak for three minutes at Flash on the Beach conference few days ago. I was one of the 20 speakers that got three minutes to show something they’ve done or discovered or whatever. The lineup was pretty damn hot in this session. One could build a conference around these people easily.

For some forsaken reason I was the last one of 20 to get into stage. So I had to wait 57 minutes behind the curtain. 57 minutes of nail eating, struggling against the pressure in my stomach and desperately meditating to keep my mental in some sort of order. The session it self went pretty well. I didn’t freeze too much. Hopefully FOTB will release videos from Elevator Pitch so I can see others stuff. They sounded really interesting behind the curtain.

My speech was about APEXvj of course. I’ll post video of it here if there’s gonna be one. The APEXvjDesktop is now in version 1.0 and we’ll move on to new project. We gonna get what we learned from earlier projects and build APEXvjHD with just Stage3D based effects. AWESOME! So related to that I showed this new Molehill experiment at the end of my speech. There are 87 380 particles flying. Movements and rendering are done in GPU so it runs pretty easily in full HD.

Here are songs that I used in my session:
Ellie Goulding – Lights (Bassnectar Remix) by Bassnectar
Blu Mar Ten vs Erykah Badu – You Got Me Remix
Oliver – I Need You

It was brilliant to meet so many web friends in real life. There are risks involved in these geeks + beer situations. No, it’s not that it’s only talking about coding.. ohh no, not at all. I spent several hours with David Lenaerts talking about how we could throw all sort of fishes in to a car. Concludes are that best fish for this job is Salmon and old Lada has simply best back seat for this sort of sport. “You know what happens when shit hits the fan? -Fish hits the van”. I also witnessed chicken and ninja moves by party-@nicoptere and learned some really kinky drinking games from @grapefrukt. We also solved the mathematics behind Joshua Davis’s talk.

So it goes without saying that FOTB was simply epic experience.

21
21

What do you think of this? (8)

1/2
1/2
13
13
September 28, 2010at9:42 pm AS3.0, English, Experimentals, flash, pixelbender, source, 4 Comments
55
55
377
377

RaySlime
RayTracing

I wanted to post these ‘oldies’ to get them into my gallery. They are raytraced balls and some slimy turds in 1×1 pixels with decent framerate. I used Pixel Bender to create them. I haven’t done much experimenting because of two reasons.

1. I’ve been coding a lot of Objective-C lately. It felt easier to return coding with whole different language. It’s still sometimes a bit frustrating to code AS3. I do typos for example with ‘<>‘-marks and with some sort-cuts but when it comes to iPhone SDK I learned new way of typing. I also want to point out that the development tools of Apple are excellent. I should get my first App out very soon.

2. I joined the Away3D group to help them with new extremely secret project. I have nothing more to say about that yet :)

Lastly here are few Pixel Bender tricks for you:

How to create a loop in Pixel Bender?
– With help of clever brains of @MrKishi = http://www.simppa.fi/source/LoopMacros2.pbk

How to make your #define’s readable?
- with “\”-mark

#define method(param) foo += param; \
                      foo *= bar; \
                      foo -= foo*0.1;

And apparently you can do like this:

#define col(b) float4(1.0, 1.0, b, 1.0);

void
evaluatePixel()
{
    dst = col(0.5);
}

21
21

What do you think of this? (4)

1/2
1/2
13
13
May 13, 2010at12:02 pm AS3.0, Experimentals, flash, pixelbender, 6 Comments
55
55
377
377

JumpOne
RoundItGoes
click on them to view in full screen.

I’m experimenting what can be done in 2kb with flash. The Scion was also one of those tryouts. I use Pixel Bender here and it seems to be the best tool for low bytes works. Here are couple of things I figured out while playing.

You don’t need to setup the default values. Following works just fine.

parameter float z;

Also the metadata can be written like this:

<languageVersion:1.0;>
kernel a <namespace:"";vendor:"";version:1;description:"";>

The fastes way to calculate distance between two points in PB:

float2 point0 = float2(0.0,0.0);
float2 point1 = float2(1.0,1.0);
float d = length(point0-point1); //not accurate but useful enough

I’m not quite sure about this but it seems to me that it’s much faster to calculate sin(), cos(), atan() values in Flash then in PB. :) So avoid calculating same math for each pixel.

If someone knows more tricks please share.

*** [update 2010-05-14] ***

Here’s how to create a class function (sort of..)

#define calculate_something(pixel,x) pixel.r = 1.0/(x*.01);

void evaluatePixel()
{
float2 p = outCoord();
calculate_something(outpixel,p.x);
}

Here’s the way to do a loop in Pixel Bender

#define loop(res, i) res *= i;

void evaluatePixel()
{
float myColor = 1.0;
loop(myColor, 0.5); //myColor = 0.5
loop(myColor, 0.5); //myColor = 0.25
loop(myColor, 0.5); //myColor = …so on.
loop(myColor, 0.5);
loop(myColor, 0.5);
outpixel = float3(myColor,0.0,0.0);
}

21
21

What do you think of this? (6)

1/2
1/2
13
13
May 3, 2010at7:07 pm AS3.0, English, Experimentals, flash, 3 Comments
55
55
377
377

Scion
My sister just had her first child and I’m reading Darwin.

21
21

What do you think of this? (3)

1/2
1/2
13
13
55
55
377
377

ParticleYou
Your webcam in depth. Black at back white at front.

LittleGreenMen
Works best in a bit darker room.

GoldenWave

21
21

What do you think of this? (9)

Older 1b/16→