bp-cloner
Version:
More info and explanations here - https://doc.babylonjs.com/communityExtensions/clonerSystem
190 lines (189 loc) • 7.02 kB
JavaScript
import { S as e } from "./index-7uRiSnMV.js";
const i = "decalVertexDeclaration", l = `
uniform vec4 vDecalInfos;uniform mat4 decalMatrix;
`;
e.IncludesShadersStore[i] || (e.IncludesShadersStore[i] = l);
const n = "uvAttributeDeclaration", E = `
attribute vec2 uv{X};
`;
e.IncludesShadersStore[n] || (e.IncludesShadersStore[n] = E);
const t = "prePassVertexDeclaration", h = `
varying vec3 vPosition;
varying vec3 vViewPos;
uniform mat4 previousViewProjection;varying vec4 vCurrentPosition;varying vec4 vPreviousPosition;
`;
e.IncludesShadersStore[t] || (e.IncludesShadersStore[t] = h);
const d = "samplerVertexDeclaration", u = `
varying vec2 v_VARYINGNAME_UV;
`;
e.IncludesShadersStore[d] || (e.IncludesShadersStore[d] = u);
const r = "bumpVertexDeclaration", I = `
varying mat3 vTBN;
`;
e.IncludesShadersStore[r] || (e.IncludesShadersStore[r] = I);
const f = "lightVxFragmentDeclaration", A = `
uniform vec4 vLightData{X};uniform vec4 vLightDiffuse{X};
uniform vec4 vLightSpecular{X};
vec4 vLightSpecular{X}=vec4(0.);
uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromCamera{X};
varying vec4 vPositionFromLight{X};varying float vDepthMetric{X};uniform mat4 lightMatrix{X};
uniform vec4 shadowsInfo{X};uniform vec2 depthValues{X};
uniform vec4 vLightDirection{X};uniform vec4 vLightFalloff{X};
uniform vec4 vLightFalloff{X};
uniform vec3 vLightGround{X};
uniform vec4 vLightWidth{X};uniform vec4 vLightHeight{X};
`;
e.IncludesShadersStore[f] || (e.IncludesShadersStore[f] = A);
const o = "lightVxUboDeclaration", N = `
uniform Light{X}
{vec4 vLightData;vec4 vLightDiffuse;vec4 vLightSpecular;
vec4 vLightDirection;vec4 vLightFalloff;
vec4 vLightFalloff;
vec3 vLightGround;
vec4 vLightWidth;vec4 vLightHeight;
vec4 shadowsInfo;vec2 depthValues;} light{X};
uniform mat4 lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];varying float vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];varying vec4 vPositionFromCamera{X};
varying vec4 vPositionFromLight{X};varying float vDepthMetric{X};uniform mat4 lightMatrix{X};
`;
e.IncludesShadersStore[o] || (e.IncludesShadersStore[o] = N);
const s = "prePassVertex", m = `
vViewPos=(view*worldPos).rgb;
vPosition=positionUpdated.xyz;
vCurrentPosition=viewProjection*worldPos;
mat4 previousInfluence;previousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];
previousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];
previousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];
previousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];
previousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];
previousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];
previousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];
previousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];
vPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);
vPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);
`;
e.IncludesShadersStore[s] || (e.IncludesShadersStore[s] = m);
const a = "uvVariableDeclaration", X = `
vec2 uv{X}=vec2(0.,0.);
vMainUV{X}=uv{X};
`;
e.IncludesShadersStore[a] || (e.IncludesShadersStore[a] = X);
const v = "samplerVertexImplementation", _ = `
if (v_INFONAME_==0.)
{v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uvUpdated,1.0,0.0));}
else if (v_INFONAME_==1.)
{v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv2Updated,1.0,0.0));}
else if (v_INFONAME_==2.)
{v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv3,1.0,0.0));}
else if (v_INFONAME_==3.)
{v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv4,1.0,0.0));}
else if (v_INFONAME_==4.)
{v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv5,1.0,0.0));}
else if (v_INFONAME_==5.)
{v_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv6,1.0,0.0));}
`;
e.IncludesShadersStore[v] || (e.IncludesShadersStore[v] = _);
const c = "bumpVertex", M = `
vec3 tbnNormal=normalize(normalUpdated);vec3 tbnTangent=normalize(tangentUpdated.xyz);vec3 tbnBitangent=cross(tbnNormal,tbnTangent)*tangentUpdated.w;vTBN=mat3(finalWorld)*mat3(tbnTangent,tbnBitangent,tbnNormal);
`;
e.IncludesShadersStore[c] || (e.IncludesShadersStore[c] = M);
const S = "shadowsVertex", P = `
vPositionFromCamera{X}=view*worldPos;for (int i=0; i<SHADOWCSMNUM_CASCADES{X}; i++) {vPositionFromLight{X}[i]=lightMatrix{X}[i]*worldPos;
vDepthMetric{X}[i]=(-vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;
vDepthMetric{X}[i]=(vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;
}
vPositionFromLight{X}=lightMatrix{X}*worldPos;
vDepthMetric{X}=(-vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;
vDepthMetric{X}=(vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;
`;
e.IncludesShadersStore[S] || (e.IncludesShadersStore[S] = P);