Extensions

Source: filters/BaseKernelFilter.js

import { BaseFilter } from "./BaseFilter";

/**
 * Base kernel filter
 * @extends {BaseFilter}
 */
export class BaseKernelFilter extends BaseFilter {
  get GLSL() {
    // prettier-ignore
    return "mat3 " + 
        "kr=uK*v;" +
      "oCl.rgb=(" +
        "texelFetch(uB,f-ivec2(1),0)*kr[0].x+" +
        "texelFetch(uB,f+ivec2(0,-1),0)*kr[0].y+" +
        "texelFetch(uB,f+ivec2(1,-1),0)*kr[0].z+" +
        "texelFetch(uB,f+ivec2(-1,0),0)*kr[1].x+" +
        "oCl*kr[1].y+" +
        "texelFetch(uB,f+ivec2(1,0),0)*kr[1].z+" +
        "texelFetch(uB,f+ivec2(-1,1),0)*kr[2].x+" +
        "texelFetch(uB,f+ivec2(0,1),0)*kr[2].y+" +
        "texelFetch(uB,f+ivec2(1),0)*kr[2].z" +
      ").rgb;";
  }
}