Radial Blur no Flash 10

radialblur

Com o lançamento do novo Flash varias coisas foram melhoradas, uma delas é a possiblidade de usar os shaders da placa de video do computador do usuário. Para quem já está acostumado com programação 3D usando DirectX ou OpenGL será muito mole utilizar o Pixel Bender. Ele utiliza uma linguagem simples, bem similar ao C. O que torna as coisas bem mais fáceis ainda.

O Pixel Bender entrou no pacote Creative Suite 4, sendo compativel com o Flash e o After Effects. Então você poderá criar um efeito para utilizar nos dois de uma vez só. O Pixel Bender Toolkit é, até o momento o único, editor de shaders compativeis com o Flash, ele gera um arquivo de extensão pbj. Para adiciona-los no Flash você deve fazer como fazer em qualquer arquivo binário externo:

[Embed(source = “meuShader.pbj”, mimeType = “application/octet-stream”)]
private var meuShader:Class;

Para utiliza-lo você deverá fazer:

var shader:Shader = new Shader( new meuShader() );
var shaderFilter:ShaderFilter = new ShaderFilter( shader );
meuDisplayObject.filters = [shaderFilter];

Pronto, está feito, seu shader já está rodando como um filtro sobre um DisplayObject. Você pode alterar propriedades do shader também fazendo:

//caso seja uma propriedade com um valor
shader.data.propriedade.value = [novoValor];

// caso seja uma propriedade com dois valores,
// por exemplo uma posição x, y.
shader.data.propriedade.value = [novoValorX, novoValorY];

No próximo post aprofundo um pouco sobre o assunto.

Segue o código do exemplo da imagem do post.
Use os botões 1, 2 e 3 para alterar a qualidade do RadialBlur.
Clique na imagem para alterar a posição de origem do blur.
E use o slide de velocidade para alterar o quão rapido deve parecer o blur.

Abx.

Deixe um comentário