2013-07-11 20 views
5

Sto utilizzando la struttura basata su WebGL Pixi.js per un gioco e provo ad applicare un filtro di ridimensionamento bicubico. La prestazione non è importante in questo caso.Applicare il filtro di ridimensionamento bicubico a uno sprite di Pixi.js

Qui potete vedere un esempio fatto con i CSS:

Example

prego il mio Chrome ottimizzato jsFiddle.

Questo codice è per un'immagine in scala lineare:

var stage = new PIXI.Stage(0xFFFFFF, true); 
var bg = PIXI.Sprite.fromImage("image.png"); 
bg.scale.x = .125; 
bg.scale.y = .25; 
stage.addChild(bg); 

var renderer = PIXI.autoDetectRenderer(93, 79); 
document.body.appendChild(renderer.view); 
var textureHasLoaded = false; 
checkIfTextureHasLoaded(); 

function checkIfTextureHasLoaded(){ 
    if (bg.texture.baseTexture.hasLoaded){ 
     textureHasLoaded = true; 
     renderTexture(); 
    } 
    if (!textureHasLoaded){ 
     requestAnimFrame(checkIfTextureHasLoaded); 
    } 
} 

function renderTexture(){ 
    renderer.render(stage); 
} 

risposta

9

Per le versioni 3.0 e superiori Pixi.js scala predefinita può essere impostata modificando PIXI.SCALE_MODES.DEFAULT:

PIXI.SCALE_MODES.DEFAULT = PIXI.SCALE_MODES.NEAREST; 

Per le versioni Pixi.js 1.5.0 e successive le costanti sono state moved e il ridimensionamento ora è impostato come:

PIXI.scaleModes.DEFAULT = PIXI.scaleModes.NEAREST; 
2

Il team Pixi.js aggiungerà la possibilità di specificare scaling filters presto.

Edit:

Si è ora in grado di specify the default scale mode:

PIXI.Texture.SCALE_MODE.DEFAULT = PIXI.Texture.SCALE_MODE.NEAREST; 
+0

Questo è ora 'PIXI.settings.SCALE_MODE = PIXI.SCALE_MODES.NEAREST' o' texture.scaleMode = PIXI.SCALE_MODES.NEAREST' – zippycoder