@babylonjs/viewer
Version:
The Babylon Viewer aims to simplify a specific but common Babylon.js use case: loading, viewing, and interacting with a 3D model.
160 lines (157 loc) • 3.72 kB
JavaScript
import { S as ShaderStore } from './index-MZPybX0H.esm.js';
// Do not edit.
const name = "textureProcessorPixelShader";
const shader = `
uniform sampler2D textureA;
uniform sampler2D textureB;
uniform sampler2D textureT;
uniform mat4 textureAMatrix;
uniform mat4 textureBMatrix;
uniform mat4 textureTMatrix;
uniform vec4 factorA;
uniform vec4 factorB;
uniform vec4 factorT;
varying vec2 vUV;void main() {vec2 uv=vUV;
vec4 a=texture2D(textureA,(textureAMatrix*vec4(uv,0.0,1.0)).xy);
vec4 a=texture2D(textureA,uv);
a.rgb=mix(a.rgb/12.92,pow((a.rgb+0.055)/1.055,vec3(2.4)),step(vec3(0.04045),a.rgb));
a=vec4(a.rrr,a.a);
a=vec4(a.ggg,a.a);
a=vec4(a.bbb,a.a);
a=a.aaaa;
a*=factorA;
vec4 a=factorA;
vec4 b=texture2D(textureB,(textureBMatrix*vec4(uv,0.0,1.0)).xy);
vec4 b=texture2D(textureB,uv);
b.rgb=mix(b.rgb/12.92,pow((b.rgb+0.055)/1.055,vec3(2.4)),step(vec3(0.04045),b.rgb));
b=vec4(b.rrr,b.a);
b=vec4(b.ggg,b.a);
b=vec4(b.bbb,b.a);
b=b.aaaa;
b*=factorB;
vec4 b=factorB;
float _cmax=max(max(a.r,a.g),a.b);
_cmax=max(_cmax,a.a);vec4 result=vec4(_cmax,_cmax,_cmax,_cmax);
vec4 result=vec4(_cmax,_cmax,_cmax,a.a);
float _ir=a.r; float _ig=a.g; float _ib=a.b; float _ia=a.a;
_ir=1.0-_ir;
_ig=1.0-_ig;
_ib=1.0-_ib;
_ia=1.0-_ia;
vec4 result=vec4(_ir,_ig,_ib,_ia);
vec4 t=texture2D(textureT,(textureTMatrix*vec4(uv,0.0,1.0)).xy);
vec4 t=texture2D(textureT,uv);
t.rgb=mix(t.rgb/12.92,pow((t.rgb+0.055)/1.055,vec3(2.4)),step(vec3(0.04045),t.rgb));
t=vec4(t.rrr,t.a);
t=vec4(t.ggg,t.a);
t=vec4(t.bbb,t.a);
t=t.aaaa;
t*=factorT;
vec4 t=factorT;
vec4 result=mix(a,b,t);
vec4 result=max(a,b);
vec4 result=a*b;
result.r=0.0;
result.g=0.0;
result.b=0.0;
result.a=1.0;
result.rgb=mix(result.rgb*12.92,pow(result.rgb,vec3(1.0/2.4))*1.055-0.055,step(vec3(0.0031308),result.rgb));
gl_FragColor=result;}
`;
// Sideeffect
if (!ShaderStore.ShadersStore[name]) {
ShaderStore.ShadersStore[name] = shader;
}
/** @internal */
const textureProcessorPixelShader = { name, shader };
export { textureProcessorPixelShader };
//# sourceMappingURL=textureProcessor.fragment-DGRVMIpA.esm.js.map