Filter Tweaks
Displacement Map Filter tweaked Demos created
BIN
examples/example 15 - Filters/displacementMAP.jpg
Normal file
After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
BIN
examples/example 15 - Filters/displacement_fish3.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
BIN
examples/example 15 - Filters/displacement_map.jpg
Normal file
After Width: | Height: | Size: 84 KiB |
161
examples/example 15 - Filters/indexAll.html
Normal file
|
@ -0,0 +1,161 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>pixi.js example 15 - Filters</title>
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #000000;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="../../bin/pixi.dev.js"></script>
|
||||
<script src="pixi.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
||||
var renderer = PIXI.autoDetectRenderer(630, 410);
|
||||
renderer.view.style.position = "absolute"
|
||||
renderer.view.style.width = window.innerWidth + "px";
|
||||
renderer.view.style.height = window.innerHeight + "px";
|
||||
renderer.view.style.display = "block";
|
||||
|
||||
// add render view to DOM
|
||||
document.body.appendChild(renderer.view);
|
||||
|
||||
// create an new instance of a pixi stage
|
||||
var stage = new PIXI.Stage(0xFFFFFF, true);
|
||||
|
||||
var pondContainer = new PIXI.DisplayObjectContainer();
|
||||
stage.addChild(pondContainer);
|
||||
|
||||
stage.interactive = true;
|
||||
|
||||
var bg = PIXI.Sprite.fromImage("displacement_BG.jpg");
|
||||
pondContainer.addChild(bg);
|
||||
|
||||
//var fish = PIXI.Sprite.fromImage("displacement_fish2.jpg");//
|
||||
//littleDudes.position.y = 100;
|
||||
var padding = 100;
|
||||
var bounds = new PIXI.Rectangle(-padding, -padding, 630 + padding * 2, 410 + padding * 2)
|
||||
var fishs = [];
|
||||
|
||||
|
||||
for (var i = 0; i < 20; i++)
|
||||
{
|
||||
var fishId = i % 4;
|
||||
fishId += 1;
|
||||
|
||||
//console.log("displacement_fish"+fishId+".png")
|
||||
var fish = PIXI.Sprite.fromImage("displacement_fish"+fishId+".png");
|
||||
fish.anchor.x = fish.anchor.y = 0.5;
|
||||
pondContainer.addChild(fish);
|
||||
|
||||
//var direction
|
||||
//var speed =
|
||||
fish.direction = Math.random() * Math.PI * 2;
|
||||
fish.speed = 2 + Math.random() * 2;
|
||||
fish.turnSpeed = Math.random() - 0.8;
|
||||
|
||||
fish.position.x = Math.random() * bounds.width;
|
||||
fish.position.y = Math.random() * bounds.height;
|
||||
//fish.speed = new PIXI.Point(0,0)
|
||||
|
||||
fish.scale.x = fish.scale.y = 0.8 + Math.random() * 0.3;
|
||||
fishs.push(fish);
|
||||
|
||||
};
|
||||
|
||||
var overlay = new PIXI.TilingSprite(PIXI.Texture.fromImage("zeldaWaves.png"), 630, 410);
|
||||
overlay.alpha = 0.2
|
||||
pondContainer.addChild(overlay);
|
||||
|
||||
|
||||
var displacementTexture = PIXI.Texture.fromImage("displacement_map.jpg");
|
||||
var displacementFilter = new PIXI.DisplacementFilter(displacementTexture);
|
||||
|
||||
|
||||
pondContainer.filters = [displacementFilter];
|
||||
|
||||
|
||||
|
||||
displacementFilter.scale.x = 50;
|
||||
displacementFilter.scale.y = 50;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var count = 0;
|
||||
var switchy = false;
|
||||
|
||||
/*
|
||||
* Add a pixi Logo!
|
||||
*/
|
||||
var logo = PIXI.Sprite.fromImage("../../logo_small.png")
|
||||
stage.addChild(logo);
|
||||
|
||||
logo.anchor.x = 1;
|
||||
logo.anchor.y = 1;
|
||||
|
||||
logo.position.x = 630
|
||||
logo.scale.x = logo.scale.y = 0.5;
|
||||
logo.position.y = 400;
|
||||
logo.interactive = true;
|
||||
logo.buttonMode = true;
|
||||
|
||||
logo.click = logo.tap = function()
|
||||
{
|
||||
window.open("https://github.com/GoodBoyDigital/pixi.js", "_blank")
|
||||
}
|
||||
|
||||
|
||||
requestAnimFrame(animate);
|
||||
|
||||
function animate() {
|
||||
|
||||
count += 0.1;
|
||||
|
||||
var blurAmount = Math.cos(count) ;
|
||||
var blurAmount2 = Math.sin(count * 0.8) ;
|
||||
|
||||
|
||||
|
||||
for (var i = 0; i < fishs.length; i++)
|
||||
{
|
||||
var fish = fishs[i];
|
||||
|
||||
fish.direction += fish.turnSpeed * 0.01;
|
||||
fish.position.x += Math.sin(fish.direction) * fish.speed;
|
||||
fish.position.y += Math.cos(fish.direction) * fish.speed;
|
||||
|
||||
fish.rotation = -fish.direction - Math.PI/2;
|
||||
|
||||
// wrap..
|
||||
|
||||
if(fish.position.x < bounds.x)fish.position.x += bounds.width;
|
||||
if(fish.position.x > bounds.x + bounds.width)fish.position.x -= bounds.width
|
||||
|
||||
if(fish.position.y < bounds.y)fish.position.y += bounds.height;
|
||||
if(fish.position.y > bounds.y + bounds.height)fish.position.y -= bounds.height
|
||||
}
|
||||
|
||||
|
||||
displacementFilter.offset.x = count * 10//blurAmount * 40;
|
||||
displacementFilter.offset.y = count * 10
|
||||
|
||||
overlay.tilePosition.x = count * -10//blurAmount * 40;
|
||||
overlay.tilePosition.y = count * -10
|
||||
|
||||
renderer.render(stage);
|
||||
requestAnimFrame( animate );
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -11,7 +11,7 @@
|
|||
</style>
|
||||
|
||||
<script src="../../bin/pixi.dev.js"></script>
|
||||
<script src="pixi.js"></script>
|
||||
<!--<script src="pixi.js"></script>-->
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
@ -99,8 +99,8 @@
|
|||
var blurAmount2 = Math.sin(count) ;
|
||||
|
||||
|
||||
blurFilter1.blur = 1/300 * (blurAmount);
|
||||
blurFilter2.blur = 1/300 * (blurAmount2);
|
||||
blurFilter1.blur = 20 * (blurAmount);
|
||||
blurFilter2.blur = 20 * (blurAmount2);
|
||||
renderer.render(stage);
|
||||
requestAnimFrame( animate );
|
||||
}
|
||||
|
|
161
examples/example 15 - Filters/indexDisplacement.html
Normal file
|
@ -0,0 +1,161 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>pixi.js example 15 - Filters</title>
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #000000;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="../../bin/pixi.dev.js"></script>
|
||||
<script src="pixi.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
||||
var renderer = PIXI.autoDetectRenderer(630, 410);
|
||||
renderer.view.style.position = "absolute"
|
||||
renderer.view.style.width = window.innerWidth + "px";
|
||||
renderer.view.style.height = window.innerHeight + "px";
|
||||
renderer.view.style.display = "block";
|
||||
|
||||
// add render view to DOM
|
||||
document.body.appendChild(renderer.view);
|
||||
|
||||
// create an new instance of a pixi stage
|
||||
var stage = new PIXI.Stage(0xFFFFFF, true);
|
||||
|
||||
var pondContainer = new PIXI.DisplayObjectContainer();
|
||||
stage.addChild(pondContainer);
|
||||
|
||||
stage.interactive = true;
|
||||
|
||||
var bg = PIXI.Sprite.fromImage("displacement_BG.jpg");
|
||||
pondContainer.addChild(bg);
|
||||
|
||||
//var fish = PIXI.Sprite.fromImage("displacement_fish2.jpg");//
|
||||
//littleDudes.position.y = 100;
|
||||
var padding = 100;
|
||||
var bounds = new PIXI.Rectangle(-padding, -padding, 630 + padding * 2, 410 + padding * 2)
|
||||
var fishs = [];
|
||||
|
||||
|
||||
for (var i = 0; i < 20; i++)
|
||||
{
|
||||
var fishId = i % 4;
|
||||
fishId += 1;
|
||||
|
||||
//console.log("displacement_fish"+fishId+".png")
|
||||
var fish = PIXI.Sprite.fromImage("displacement_fish"+fishId+".png");
|
||||
fish.anchor.x = fish.anchor.y = 0.5;
|
||||
pondContainer.addChild(fish);
|
||||
|
||||
//var direction
|
||||
//var speed =
|
||||
fish.direction = Math.random() * Math.PI * 2;
|
||||
fish.speed = 2 + Math.random() * 2;
|
||||
fish.turnSpeed = Math.random() - 0.8;
|
||||
|
||||
fish.position.x = Math.random() * bounds.width;
|
||||
fish.position.y = Math.random() * bounds.height;
|
||||
//fish.speed = new PIXI.Point(0,0)
|
||||
|
||||
fish.scale.x = fish.scale.y = 0.8 + Math.random() * 0.3;
|
||||
fishs.push(fish);
|
||||
|
||||
};
|
||||
|
||||
var overlay = new PIXI.TilingSprite(PIXI.Texture.fromImage("zeldaWaves.png"), 630, 410);
|
||||
overlay.alpha = 0.2
|
||||
pondContainer.addChild(overlay);
|
||||
|
||||
|
||||
var displacementTexture = PIXI.Texture.fromImage("displacement_map.jpg");
|
||||
var displacementFilter = new PIXI.DisplacementFilter(displacementTexture);
|
||||
|
||||
|
||||
pondContainer.filters = [displacementFilter];
|
||||
|
||||
|
||||
|
||||
displacementFilter.scale.x = 50;
|
||||
displacementFilter.scale.y = 50;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var count = 0;
|
||||
var switchy = false;
|
||||
|
||||
/*
|
||||
* Add a pixi Logo!
|
||||
*/
|
||||
var logo = PIXI.Sprite.fromImage("../../logo_small.png")
|
||||
stage.addChild(logo);
|
||||
|
||||
logo.anchor.x = 1;
|
||||
logo.anchor.y = 1;
|
||||
|
||||
logo.position.x = 630
|
||||
logo.scale.x = logo.scale.y = 0.5;
|
||||
logo.position.y = 400;
|
||||
logo.interactive = true;
|
||||
logo.buttonMode = true;
|
||||
|
||||
logo.click = logo.tap = function()
|
||||
{
|
||||
window.open("https://github.com/GoodBoyDigital/pixi.js", "_blank")
|
||||
}
|
||||
|
||||
|
||||
requestAnimFrame(animate);
|
||||
|
||||
function animate() {
|
||||
|
||||
count += 0.1;
|
||||
|
||||
var blurAmount = Math.cos(count) ;
|
||||
var blurAmount2 = Math.sin(count * 0.8) ;
|
||||
|
||||
|
||||
|
||||
for (var i = 0; i < fishs.length; i++)
|
||||
{
|
||||
var fish = fishs[i];
|
||||
|
||||
fish.direction += fish.turnSpeed * 0.01;
|
||||
fish.position.x += Math.sin(fish.direction) * fish.speed;
|
||||
fish.position.y += Math.cos(fish.direction) * fish.speed;
|
||||
|
||||
fish.rotation = -fish.direction - Math.PI/2;
|
||||
|
||||
// wrap..
|
||||
|
||||
if(fish.position.x < bounds.x)fish.position.x += bounds.width;
|
||||
if(fish.position.x > bounds.x + bounds.width)fish.position.x -= bounds.width
|
||||
|
||||
if(fish.position.y < bounds.y)fish.position.y += bounds.height;
|
||||
if(fish.position.y > bounds.y + bounds.height)fish.position.y -= bounds.height
|
||||
}
|
||||
|
||||
|
||||
displacementFilter.offset.x = count * 10//blurAmount * 40;
|
||||
displacementFilter.offset.y = count * 10
|
||||
|
||||
overlay.tilePosition.x = count * -10//blurAmount * 40;
|
||||
overlay.tilePosition.y = count * -10
|
||||
|
||||
renderer.render(stage);
|
||||
requestAnimFrame( animate );
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
162
examples/example 15 - Filters/indexDisplacement_2.html
Normal file
|
@ -0,0 +1,162 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>pixi.js example 15 - Filters</title>
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #000000;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script src="../../bin/pixi.dev.js"></script>
|
||||
<script src="pixi.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
|
||||
var renderer = PIXI.autoDetectRenderer(630, 410);
|
||||
renderer.view.style.position = "absolute"
|
||||
renderer.view.style.width = window.innerWidth + "px";
|
||||
renderer.view.style.height = window.innerHeight + "px";
|
||||
renderer.view.style.display = "block";
|
||||
|
||||
// add render view to DOM
|
||||
document.body.appendChild(renderer.view);
|
||||
|
||||
// create an new instance of a pixi stage
|
||||
var stage = new PIXI.Stage(0xFFFFFF, true);
|
||||
|
||||
var pondContainer = new PIXI.DisplayObjectContainer();
|
||||
stage.addChild(pondContainer);
|
||||
|
||||
stage.interactive = true;
|
||||
|
||||
var bg = PIXI.Sprite.fromImage("displacement_BG.jpg");
|
||||
pondContainer.addChild(bg);
|
||||
|
||||
//var fish = PIXI.Sprite.fromImage("displacement_fish2.jpg");//
|
||||
//littleDudes.position.y = 100;
|
||||
var padding = 100;
|
||||
var bounds = new PIXI.Rectangle(-padding, -padding, 630 + padding * 2, 410 + padding * 2)
|
||||
var fishs = [];
|
||||
|
||||
|
||||
for (var i = 0; i < 20; i++)
|
||||
{
|
||||
var fishId = i % 4;
|
||||
fishId += 1;
|
||||
|
||||
//console.log("displacement_fish"+fishId+".png")
|
||||
var fish = PIXI.Sprite.fromImage("displacement_fish"+fishId+".png");
|
||||
fish.anchor.x = fish.anchor.y = 0.5;
|
||||
pondContainer.addChild(fish);
|
||||
|
||||
//var direction
|
||||
//var speed =
|
||||
fish.direction = Math.random() * Math.PI * 2;
|
||||
fish.speed = 2 + Math.random() * 2;
|
||||
fish.turnSpeed = Math.random() - 0.8;
|
||||
|
||||
fish.position.x = Math.random() * bounds.width;
|
||||
fish.position.y = Math.random() * bounds.height;
|
||||
//fish.speed = new PIXI.Point(0,0)
|
||||
|
||||
fish.scale.x = fish.scale.y = 0.8 + Math.random() * 0.3;
|
||||
fishs.push(fish);
|
||||
|
||||
};
|
||||
|
||||
var overlay = new PIXI.TilingSprite(PIXI.Texture.fromImage("zeldaWaves.png"), 630, 410);
|
||||
overlay.alpha = 0.2
|
||||
pondContainer.addChild(overlay);
|
||||
|
||||
|
||||
var displacementTexture = PIXI.Texture.fromImage("displacement_map.jpg");
|
||||
var displacementFilter = new PIXI.DisplacementFilter(displacementTexture);
|
||||
|
||||
var pixelFilter = new PIXI.PixelateFilter();
|
||||
pixelFilter.size.x = pixelFilter.size.y = 3;
|
||||
pondContainer.filters = [displacementFilter, pixelFilter];
|
||||
|
||||
|
||||
|
||||
displacementFilter.scale.x = 50;
|
||||
displacementFilter.scale.y = 50;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var count = 0;
|
||||
var switchy = false;
|
||||
|
||||
/*
|
||||
* Add a pixi Logo!
|
||||
*/
|
||||
var logo = PIXI.Sprite.fromImage("../../logo_small.png")
|
||||
stage.addChild(logo);
|
||||
|
||||
logo.anchor.x = 1;
|
||||
logo.anchor.y = 1;
|
||||
|
||||
logo.position.x = 630
|
||||
logo.scale.x = logo.scale.y = 0.5;
|
||||
logo.position.y = 400;
|
||||
logo.interactive = true;
|
||||
logo.buttonMode = true;
|
||||
|
||||
logo.click = logo.tap = function()
|
||||
{
|
||||
window.open("https://github.com/GoodBoyDigital/pixi.js", "_blank")
|
||||
}
|
||||
|
||||
|
||||
requestAnimFrame(animate);
|
||||
|
||||
function animate() {
|
||||
|
||||
count += 0.1;
|
||||
|
||||
var blurAmount = Math.cos(count) ;
|
||||
var blurAmount2 = Math.sin(count * 0.8) ;
|
||||
|
||||
|
||||
|
||||
for (var i = 0; i < fishs.length; i++)
|
||||
{
|
||||
var fish = fishs[i];
|
||||
|
||||
fish.direction += fish.turnSpeed * 0.01;
|
||||
fish.position.x += Math.sin(fish.direction) * fish.speed;
|
||||
fish.position.y += Math.cos(fish.direction) * fish.speed;
|
||||
|
||||
fish.rotation = -fish.direction - Math.PI/2;
|
||||
|
||||
// wrap..
|
||||
|
||||
if(fish.position.x < bounds.x)fish.position.x += bounds.width;
|
||||
if(fish.position.x > bounds.x + bounds.width)fish.position.x -= bounds.width
|
||||
|
||||
if(fish.position.y < bounds.y)fish.position.y += bounds.height;
|
||||
if(fish.position.y > bounds.y + bounds.height)fish.position.y -= bounds.height
|
||||
}
|
||||
|
||||
|
||||
displacementFilter.offset.x = count * 10//blurAmount * 40;
|
||||
displacementFilter.offset.y = count * 10
|
||||
|
||||
overlay.tilePosition.x = count * -10//blurAmount * 40;
|
||||
overlay.tilePosition.y = count * -10
|
||||
|
||||
renderer.render(stage);
|
||||
requestAnimFrame( animate );
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
BIN
examples/example 15 - Filters/zeldaWaves.png
Normal file
After Width: | Height: | Size: 37 KiB |