I'm trying to pass an array of vec3's for use in a palette lookup... I tried the following but no dice:
//SHADER CODE:
precision mediump float;
uniform vec3 palette[1];
varying vec2 vTextureCoord;
void main() {
vec3 pColor = palette[0];
gl_FragColor.r = pColor.r;
gl_FragColor.g = pColor.g;
gl_FragColor.b = pColor.b;
gl_FragColor.a = 1.0;
}
//FILTER:
var PaletteFilter = function(initPalettes) {
var vertexShader = $("#default-vertex-shader").text();
var fragmentShader = $("#palette-fragment-shader").text();
PIXI.Filter.call(this, vertexShader, fragmentShader, {
palette: {
type: 'v3v',
value: initPalettes
}
});
}
PaletteFilter.prototype = Object.create(PIXI.Filter.prototype);
PaletteFilter.prototype.constructor = PaletteFilter;
Object.defineProperties(PaletteFilter.prototype, {
lPalettes: {
get: function() {
return this.uniforms.palette;
},
set: function(value) {
this.uniforms.palette = value;
}
},
});
//Called like:
graphics.filters = [new RGBA_LETTERS.LettersPaletteFilter([
{x: 0xFF, y: 0xFF, z: 0xFF}
//tried other stuff like PIXI.utils.hex2rgb(0x00FFFF)
])];