Фильтр карты нормалей Phaser/Pixi не работает

Я пытаюсь применить карту нормалей к спрайту Phaser, но получаю следующие ошибки WebGL в Phaser 2.1.1 (Pixi 1.6.1):

Could not initialise shaders phaser.js:3411
WebGL: INVALID_OPERATION: useProgram: program not valid phaser.js:3475
WebGL: INVALID_OPERATION: getUniformLocation: program not linked phaser.js:3478
WebGL: INVALID_OPERATION: getAttribLocation: program not linked phaser.js:3486

Вот мой код:

preload: function () {
  game.load.script('normal',   './js/NormalMapFilter.js');

  game.load.image('cardfront',  './img/sample-front.png');
  game.load.image('cardnormal', './img/sample-front-norm.jpg');
},

create: function() {
  this.cardfrontnorm = PIXI.Texture.fromImage('cardnormal');
  this.normalmap = new PIXI.NormalMapFilter(this.cardfrontnorm);

  this.card = game.add.sprite(game.width / 2, game.height / 2, 'cardfront');
  this.card.filters = [this.normalmap];
}

И изображение спрайта, и карта нормалей имеют размер 512x512.

Любая помощь будет принята с благодарностью, спасибо!


person Chris Clower    schedule 19.09.2014    source источник
comment
Если вы можете опубликовать его на jsfiddle или подобном, я проверю, получу ли я ту же ошибку   -  person imcg    schedule 22.09.2014
comment
@imcg К сожалению, это немного сложно из-за ограничений CORS и ресурсов, загружаемых через js.   -  person Chris Clower    schedule 25.09.2014
comment
У меня такая же проблема. Вам удалось ее решить?   -  person AKG    schedule 24.07.2015


Ответы (1)


Судя по всему, NormalMapFilter был экспериментом и никогда не предназначался для включения в библиотеку:

Проверьте HTML5 Game Dev Devs — форум Pixijs

Однако вы можете попробовать использовать плагин для освещения здесь: https://github.com/pixijs/pixi-lights

person RenaissanceProgrammer    schedule 28.07.2015