@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.
3 lines (2 loc) • 5.02 kB
JavaScript
import{S as e}from"./index-BPURObVq.esm.min.js";import{b as n,a as i,i as a,c as o,d as r}from"./bakedVertexAnimation-BgafuxOk.esm.min.js";import{m as d,a as t,b as s,c as l}from"./morphTargetsVertex-CEQ4CFPy.esm.min.js";import{h as S}from"./helperFunctions-Sht42MtG.esm.min.js";import{s as c}from"./sceneVertexDeclaration-C_AejeA6.esm.min.js";import{s as f}from"./sceneUboDeclaration-De4jS-Et.esm.min.js";import{m}from"./meshUboDeclaration-7dyMOx3r.esm.min.js";import{c as M,a as u}from"./clipPlaneVertex-DrbRp_6Q.esm.min.js";const h="meshVertexDeclaration",v="uniform mat4 world;uniform float visibility;\n";e.IncludesShadersStore[h]||(e.IncludesShadersStore[h]=v);const p={name:h,shader:v},x="shadowMapVertexDeclaration",A="#include<sceneVertexDeclaration>\n#include<meshVertexDeclaration>\n";e.IncludesShadersStore[x]||(e.IncludesShadersStore[x]=A);const V={name:x,shader:A},D="shadowMapUboDeclaration",E="layout(std140,column_major) uniform;\n#include<sceneUboDeclaration>\n#include<meshUboDeclaration>\n";e.IncludesShadersStore[D]||(e.IncludesShadersStore[D]=E);const T={name:D,shader:E},I="shadowMapVertexExtraDeclaration",N="#if SM_NORMALBIAS==1\nuniform vec3 lightDataSM;\n#endif\nuniform vec3 biasAndScaleSM;uniform vec2 depthValuesSM;varying float vDepthMetricSM;\n#if SM_USEDISTANCE==1\nvarying vec3 vPositionWSM;\n#endif\n#if defined(SM_DEPTHCLAMP) && SM_DEPTHCLAMP==1\nvarying float zSM;\n#endif\n";e.IncludesShadersStore[I]||(e.IncludesShadersStore[I]=N);const U={name:I,shader:N},_="shadowMapVertexNormalBias",P="#if SM_NORMALBIAS==1\n#if SM_DIRECTIONINLIGHTDATA==1\nvec3 worldLightDirSM=normalize(-lightDataSM.xyz);\n#else\nvec3 directionToLightSM=lightDataSM.xyz-worldPos.xyz;vec3 worldLightDirSM=normalize(directionToLightSM);\n#endif\nfloat ndlSM=dot(vNormalW,worldLightDirSM);float sinNLSM=sqrt(1.0-ndlSM*ndlSM);float normalBiasSM=biasAndScaleSM.y*sinNLSM;worldPos.xyz-=vNormalW*normalBiasSM;\n#endif\n";e.IncludesShadersStore[_]||(e.IncludesShadersStore[_]=P);const b={name:_,shader:P},g="shadowMapVertexMetric",w="#if SM_USEDISTANCE==1\nvPositionWSM=worldPos.xyz;\n#endif\n#if SM_DEPTHTEXTURE==1\n#ifdef IS_NDC_HALF_ZRANGE\n#define BIASFACTOR 0.5\n#else\n#define BIASFACTOR 1.0\n#endif\n#ifdef USE_REVERSE_DEPTHBUFFER\ngl_Position.z-=biasAndScaleSM.x*gl_Position.w*BIASFACTOR;\n#else\ngl_Position.z+=biasAndScaleSM.x*gl_Position.w*BIASFACTOR;\n#endif\n#endif\n#if defined(SM_DEPTHCLAMP) && SM_DEPTHCLAMP==1\nzSM=gl_Position.z;gl_Position.z=0.0;\n#elif SM_USEDISTANCE==0\n#ifdef USE_REVERSE_DEPTHBUFFER\nvDepthMetricSM=(-gl_Position.z+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\n#else\nvDepthMetricSM=(gl_Position.z+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\n#endif\n#endif\n";e.IncludesShadersStore[g]||(e.IncludesShadersStore[g]=w);const R={name:g,shader:w},L="shadowMapVertexShader",W="attribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#include<bonesDeclaration>\n#include<bakedVertexAnimationDeclaration>\n#include<morphTargetsVertexGlobalDeclaration>\n#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\n#ifdef INSTANCES\nattribute vec4 world0;attribute vec4 world1;attribute vec4 world2;attribute vec4 world3;\n#endif\n#include<helperFunctions>\n#include<__decl__shadowMapVertex>\n#ifdef ALPHATEXTURE\nvarying vec2 vUV;uniform mat4 diffuseMatrix;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#endif\n#include<shadowMapVertexExtraDeclaration>\n#include<clipPlaneVertexDeclaration>\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void)\n{vec3 positionUpdated=position;\n#ifdef UV1\nvec2 uvUpdated=uv;\n#endif\n#ifdef UV2\nvec2 uv2Updated=uv2;\n#endif\n#ifdef NORMAL\nvec3 normalUpdated=normal;\n#endif\n#include<morphTargetsVertexGlobal>\n#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\n#include<instancesVertex>\n#include<bonesVertex>\n#include<bakedVertexAnimation>\nvec4 worldPos=finalWorld*vec4(positionUpdated,1.0);\n#ifdef NORMAL\nmat3 normWorldSM=mat3(finalWorld);\n#if defined(INSTANCES) && defined(THIN_INSTANCES)\nvec3 vNormalW=normalUpdated/vec3(dot(normWorldSM[0],normWorldSM[0]),dot(normWorldSM[1],normWorldSM[1]),dot(normWorldSM[2],normWorldSM[2]));vNormalW=normalize(normWorldSM*vNormalW);\n#else\n#ifdef NONUNIFORMSCALING\nnormWorldSM=transposeMat3(inverseMat3(normWorldSM));\n#endif\nvec3 vNormalW=normalize(normWorldSM*normalUpdated);\n#endif\n#endif\n#include<shadowMapVertexNormalBias>\ngl_Position=viewProjection*worldPos;\n#include<shadowMapVertexMetric>\n#ifdef ALPHATEXTURE\n#ifdef UV1\nvUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\n#endif\n#ifdef UV2\nvUV=vec2(diffuseMatrix*vec4(uv2Updated,1.0,0.0));\n#endif\n#endif\n#include<clipPlaneVertex>\n}";e.ShadersStore[L]||(e.ShadersStore[L]=W);const C=[n,i,d,t,S,c,p,V,f,m,T,U,M,s,l,a,o,r,b,R,u];for(const n of C)e.IncludesShadersStore[n.name]||(e.IncludesShadersStore[n.name]=n.shader);const z={name:L,shader:W};export{z as shadowMapVertexShader};
//# sourceMappingURL=shadowMap.vertex-Bz5mhxJC.esm.min.js.map