babylon.convolutionPostProcess.js 1.6 KB

123456789101112131415161718192021222324252627282930313233
  1. var __extends = this.__extends || function (d, b) {
  2. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  3. function __() { this.constructor = d; }
  4. __.prototype = b.prototype;
  5. d.prototype = new __();
  6. };
  7. var BABYLON;
  8. (function (BABYLON) {
  9. var ConvolutionPostProcess = (function (_super) {
  10. __extends(ConvolutionPostProcess, _super);
  11. function ConvolutionPostProcess(name, kernel, ratio, camera, samplingMode, engine, reusable) {
  12. var _this = this;
  13. _super.call(this, name, "convolution", ["kernel", "screenSize"], null, ratio, camera, samplingMode, engine, reusable);
  14. this.kernel = kernel;
  15. this.onApply = function (effect) {
  16. effect.setFloat2("screenSize", _this.width, _this.height);
  17. effect.setArray("kernel", _this.kernel);
  18. };
  19. }
  20. // Statics
  21. // Based on http://en.wikipedia.org/wiki/Kernel_(image_processing)
  22. ConvolutionPostProcess.EdgeDetect0Kernel = [1, 0, -1, 0, 0, 0, -1, 0, 1];
  23. ConvolutionPostProcess.EdgeDetect1Kernel = [0, 1, 0, 1, -4, 1, 0, 1, 0];
  24. ConvolutionPostProcess.EdgeDetect2Kernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1];
  25. ConvolutionPostProcess.SharpenKernel = [0, -1, 0, -1, 5, -1, 0, -1, 0];
  26. ConvolutionPostProcess.EmbossKernel = [-2, -1, 0, -1, 1, 1, 0, 1, 2];
  27. ConvolutionPostProcess.GaussianKernel = [0, 1, 0, 1, 1, 1, 0, 1, 0];
  28. return ConvolutionPostProcess;
  29. })(BABYLON.PostProcess);
  30. BABYLON.ConvolutionPostProcess = ConvolutionPostProcess;
  31. })(BABYLON || (BABYLON = {}));
  32. //# sourceMappingURL=../PostProcess/babylon.convolutionPostProcess.js.map