@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
161 lines • 4.55 kB
JavaScript
// Do not edit.
import { ShaderStore } from "../Engines/shaderStore.js";
const name = "textureProcessorPixelShader";
const shader = `
var textureASampler: sampler;var textureA: texture_2d<f32>;
var textureBSampler: sampler;var textureB: texture_2d<f32>;
var textureTSampler: sampler;var textureT: texture_2d<f32>;
uniform textureAMatrix: mat4x4f;
uniform textureBMatrix: mat4x4f;
uniform textureTMatrix: mat4x4f;
uniform factorA: vec4f;
uniform factorB: vec4f;
uniform factorT: vec4f;
varying vUV: vec2f;@fragment
fn main(input: FragmentInputs)->FragmentOutputs {let uv: vec2f=input.vUV;
var a: vec4f=textureSample(textureA,textureASampler,(uniforms.textureAMatrix*vec4f(uv,0.0,1.0)).xy);
var a: vec4f=textureSample(textureA,textureASampler,uv);
a=vec4f(mix(a.rgb/vec3f(12.92),pow((a.rgb+vec3f(0.055))/vec3f(1.055),vec3f(2.4)),step(vec3f(0.04045),a.rgb)),a.a);
a=vec4f(a.rrr,a.a);
a=vec4f(a.ggg,a.a);
a=vec4f(a.bbb,a.a);
a=a.aaaa;
a*=uniforms.factorA;
let a: vec4f=uniforms.factorA;
var b: vec4f=textureSample(textureB,textureBSampler,(uniforms.textureBMatrix*vec4f(uv,0.0,1.0)).xy);
var b: vec4f=textureSample(textureB,textureBSampler,uv);
b=vec4f(mix(b.rgb/vec3f(12.92),pow((b.rgb+vec3f(0.055))/vec3f(1.055),vec3f(2.4)),step(vec3f(0.04045),b.rgb)),b.a);
b=vec4f(b.rrr,b.a);
b=vec4f(b.ggg,b.a);
b=vec4f(b.bbb,b.a);
b=b.aaaa;
b*=uniforms.factorB;
let b: vec4f=uniforms.factorB;
var _cmax: f32=max(max(a.r,a.g),a.b);
_cmax=max(_cmax,a.a);var result: vec4f=vec4f(_cmax,_cmax,_cmax,_cmax);
var result: vec4f=vec4f(_cmax,_cmax,_cmax,a.a);
var _ir: f32=a.r; var _ig: f32=a.g; var _ib: f32=a.b; var _ia: f32=a.a;
_ir=1.0-_ir;
_ig=1.0-_ig;
_ib=1.0-_ib;
_ia=1.0-_ia;
var result: vec4f=vec4f(_ir,_ig,_ib,_ia);
var t: vec4f=textureSample(textureT,textureTSampler,(uniforms.textureTMatrix*vec4f(uv,0.0,1.0)).xy);
var t: vec4f=textureSample(textureT,textureTSampler,uv);
t=vec4f(mix(t.rgb/vec3f(12.92),pow((t.rgb+vec3f(0.055))/vec3f(1.055),vec3f(2.4)),step(vec3f(0.04045),t.rgb)),t.a);
t=vec4f(t.rrr,t.a);
t=vec4f(t.ggg,t.a);
t=vec4f(t.bbb,t.a);
t=t.aaaa;
t*=uniforms.factorT;
let t: vec4f=uniforms.factorT;
var result: vec4f=mix(a,b,t);
var result: vec4f=max(a,b);
var result: vec4f=a*b;
var _omr: f32=result.r; var _omg: f32=result.g; var _omb: f32=result.b; var _oma: f32=result.a;
_omr=0.0;
_omg=0.0;
_omb=0.0;
_oma=1.0;
result=vec4f(_omr,_omg,_omb,_oma);
result=vec4f(mix(result.rgb*vec3f(12.92),pow(result.rgb,vec3f(1.0/2.4))*vec3f(1.055)-vec3f(0.055),step(vec3f(0.0031308),result.rgb)),result.a);
fragmentOutputs.color=result;}
`;
// Sideeffect
if (!ShaderStore.ShadersStoreWGSL[name]) {
ShaderStore.ShadersStoreWGSL[name] = shader;
}
/** @internal */
export const textureProcessorPixelShaderWGSL = { name, shader };
//# sourceMappingURL=textureProcessor.fragment.js.map