48 lines
2.1 KiB
JavaScript
48 lines
2.1 KiB
JavaScript
shadow$provide.module$node_modules$pixi_DOT_js$lib$scene$sprite$SpritePipe = function(global, require, module, exports) {
|
|
global = require("module$node_modules$pixi_DOT_js$lib$extensions$Extensions");
|
|
var BatchableSprite = require("module$node_modules$pixi_DOT_js$lib$scene$sprite$BatchableSprite");
|
|
"use strict";
|
|
class SpritePipe {
|
|
constructor(renderer) {
|
|
this._renderer = renderer;
|
|
}
|
|
addRenderable(sprite, instructionSet) {
|
|
const gpuSprite = this._getGpuSprite(sprite);
|
|
sprite.didViewUpdate && this._updateBatchableSprite(sprite, gpuSprite);
|
|
this._renderer.renderPipes.batch.addToBatch(gpuSprite, instructionSet);
|
|
}
|
|
updateRenderable(sprite) {
|
|
const gpuSprite = this._getGpuSprite(sprite);
|
|
sprite.didViewUpdate && this._updateBatchableSprite(sprite, gpuSprite);
|
|
gpuSprite._batcher.updateElement(gpuSprite);
|
|
}
|
|
validateRenderable(sprite) {
|
|
const gpuSprite = this._getGpuSprite(sprite);
|
|
return !gpuSprite._batcher.checkAndUpdateTexture(gpuSprite, sprite._texture);
|
|
}
|
|
_updateBatchableSprite(sprite, batchableSprite) {
|
|
batchableSprite.bounds = sprite.visualBounds;
|
|
batchableSprite.texture = sprite._texture;
|
|
}
|
|
_getGpuSprite(sprite) {
|
|
return sprite._gpuData[this._renderer.uid] || this._initGPUSprite(sprite);
|
|
}
|
|
_initGPUSprite(sprite) {
|
|
const batchableSprite = new BatchableSprite.BatchableSprite();
|
|
batchableSprite.renderable = sprite;
|
|
batchableSprite.transform = sprite.groupTransform;
|
|
batchableSprite.texture = sprite._texture;
|
|
batchableSprite.bounds = sprite.visualBounds;
|
|
batchableSprite.roundPixels = this._renderer._roundPixels | sprite._roundPixels;
|
|
return sprite._gpuData[this._renderer.uid] = batchableSprite;
|
|
}
|
|
destroy() {
|
|
this._renderer = null;
|
|
}
|
|
}
|
|
SpritePipe.extension = {type:[global.ExtensionType.WebGLPipes, global.ExtensionType.WebGPUPipes, global.ExtensionType.CanvasPipes], name:"sprite"};
|
|
exports.SpritePipe = SpritePipe;
|
|
};
|
|
|
|
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$scene$sprite$SpritePipe.js.map
|