three.js에서 post processing을 사용하면 하나의 pass를 통해서 효과가 부여된 이미지가 전달된다.
위와 같이 pass를 통해 다음 pass로 전달이 되는데 이때 사용되는 이름이 'tDiffuse'이다.
uniforms: {
tDiffuse: { value: null }
}
tDiffuse의 값을 null로 한다는 것은 이전 단계의 효과가 적용된 데이터를 사용하지 않겠다는 것이다. 즉, fragmentShader에서 null로 된 tDiffuse를 사용하면 renderPass에서 넘어오는 원본 데이터를 사용하는것이다.
uniform sampler2D tDiffuse;
void main() {
vec4 texture = texture2D(tDiffuse, vUv); //첫번째 인자로 텍스쳐, 두번째 인자로 uv좌표를 넘겨줌
}