gpu.js
Version:
GPU Accelerated JavaScript
25 lines (22 loc) • 875 B
JavaScript
const { utils } = require('../../../utils');
const { WebGLKernelValueMemoryOptimizedNumberTexture } = require('./memory-optimized-number-texture');
class WebGLKernelValueDynamicMemoryOptimizedNumberTexture extends WebGLKernelValueMemoryOptimizedNumberTexture {
getSource() {
return utils.linesToString([
`uniform sampler2D ${this.id}`,
`uniform ivec2 ${this.sizeId}`,
`uniform ivec3 ${this.dimensionsId}`,
]);
}
updateValue(inputTexture) {
this.dimensions = inputTexture.dimensions;
this.checkSize(inputTexture.size[0], inputTexture.size[1]);
this.textureSize = inputTexture.size;
this.kernel.setUniform3iv(this.dimensionsId, this.dimensions);
this.kernel.setUniform2iv(this.sizeId, this.textureSize);
super.updateValue(inputTexture);
}
}
module.exports = {
WebGLKernelValueDynamicMemoryOptimizedNumberTexture
};