shaders/projectorsPass/projectorsPass.tstypescript
import { ShaderProgram } from "../../webgl/ShaderProgram";
import { projectorShaderParams, projectorUniforms } from "../common/uniforms";
import { stringTemplate2 } from "../../utils/shared";
import vert from "./projectorsPass.vert.glsl";
import frag from "./projectorsPass.frag.glsl";
export function projectorsPass(): ShaderProgram {
return new ShaderProgram("projectorsPass", {
uniforms: {
u_normalMatrix: "mat3",
u_baseTexture: "sampler2d",
u_materialsTexture: "sampler2d",
u_normalTexture: "sampler2d",
u_viewPositionTexture: "sampler2d",
frameOpacity: "float",
...projectorUniforms
},
attributes: {
a_corners: "vec3"
},
vertexShader: vert,
fragmentShader: stringTemplate2(frag, projectorShaderParams)
});
}