123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- // Do not edit.
- import { ShaderStore } from "../Engines/shaderStore.js";
- import "./ShadersInclude/pbrVertexDeclaration.js";
- import "./ShadersInclude/pbrUboDeclaration.js";
- import "./ShadersInclude/uvAttributeDeclaration.js";
- import "./ShadersInclude/mainUVVaryingDeclaration.js";
- import "./ShadersInclude/helperFunctions.js";
- import "./ShadersInclude/bonesDeclaration.js";
- import "./ShadersInclude/bakedVertexAnimationDeclaration.js";
- import "./ShadersInclude/instancesDeclaration.js";
- import "./ShadersInclude/prePassVertexDeclaration.js";
- import "./ShadersInclude/samplerVertexDeclaration.js";
- import "./ShadersInclude/harmonicsFunctions.js";
- import "./ShadersInclude/bumpVertexDeclaration.js";
- import "./ShadersInclude/clipPlaneVertexDeclaration.js";
- import "./ShadersInclude/fogVertexDeclaration.js";
- import "./ShadersInclude/lightVxFragmentDeclaration.js";
- import "./ShadersInclude/lightVxUboDeclaration.js";
- import "./ShadersInclude/morphTargetsVertexGlobalDeclaration.js";
- import "./ShadersInclude/morphTargetsVertexDeclaration.js";
- import "./ShadersInclude/logDepthDeclaration.js";
- import "./ShadersInclude/morphTargetsVertexGlobal.js";
- import "./ShadersInclude/morphTargetsVertex.js";
- import "./ShadersInclude/instancesVertex.js";
- import "./ShadersInclude/bonesVertex.js";
- import "./ShadersInclude/bakedVertexAnimation.js";
- import "./ShadersInclude/prePassVertex.js";
- import "./ShadersInclude/uvVariableDeclaration.js";
- import "./ShadersInclude/samplerVertexImplementation.js";
- import "./ShadersInclude/bumpVertex.js";
- import "./ShadersInclude/clipPlaneVertex.js";
- import "./ShadersInclude/fogVertex.js";
- import "./ShadersInclude/shadowsVertex.js";
- import "./ShadersInclude/vertexColorMixing.js";
- import "./ShadersInclude/logDepthVertex.js";
- const name = "pbrVertexShader";
- const shader = `precision highp float;
- #include<__decl__pbrVertex>
- #define CUSTOM_VERTEX_BEGIN
- attribute vec3 position;
- #ifdef NORMAL
- attribute vec3 normal;
- #endif
- #ifdef TANGENT
- attribute vec4 tangent;
- #endif
- #ifdef UV1
- attribute vec2 uv;
- #endif
- #include<uvAttributeDeclaration>[2..7]
- #include<mainUVVaryingDeclaration>[1..7]
- #ifdef VERTEXCOLOR
- attribute vec4 color;
- #endif
- #include<helperFunctions>
- #include<bonesDeclaration>
- #include<bakedVertexAnimationDeclaration>
- #include<instancesDeclaration>
- #include<prePassVertexDeclaration>
- #include<samplerVertexDeclaration>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo)
- #include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)
- #include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)
- #include<samplerVertexDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)
- #include<samplerVertexDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)
- #include<samplerVertexDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)
- #include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity)
- #include<samplerVertexDeclaration>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler)
- #include<samplerVertexDeclaration>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance)
- #include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance)
- #include<samplerVertexDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)
- #include<samplerVertexDeclaration>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal)
- #ifdef CLEARCOAT
- #include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat)
- #include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)
- #include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump)
- #include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint)
- #endif
- #ifdef IRIDESCENCE
- #include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence)
- #include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness)
- #endif
- #ifdef SHEEN
- #include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen)
- #include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)
- #endif
- #ifdef ANISOTROPIC
- #include<samplerVertexDeclaration>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy)
- #endif
- #ifdef SUBSURFACE
- #include<samplerVertexDeclaration>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness)
- #include<samplerVertexDeclaration>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity)
- #include<samplerVertexDeclaration>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity)
- #endif
- varying vec3 vPositionW;
- #if DEBUGMODE>0
- varying vec4 vClipSpacePosition;
- #endif
- #ifdef NORMAL
- varying vec3 vNormalW;
- #if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)
- varying vec3 vEnvironmentIrradiance;
- #include<harmonicsFunctions>
- #endif
- #endif
- #if defined(VERTEXCOLOR) || defined(INSTANCESCOLOR) && defined(INSTANCES)
- varying vec4 vColor;
- #endif
- #include<bumpVertexDeclaration>
- #include<clipPlaneVertexDeclaration>
- #include<fogVertexDeclaration>
- #include<__decl__lightVxFragment>[0..maxSimultaneousLights]
- #include<morphTargetsVertexGlobalDeclaration>
- #include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]
- #ifdef REFLECTIONMAP_SKYBOX
- varying vec3 vPositionUVW;
- #endif
- #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
- varying vec3 vDirectionW;
- #endif
- #include<logDepthDeclaration>
- #define CUSTOM_VERTEX_DEFINITIONS
- void main(void) {
- #define CUSTOM_VERTEX_MAIN_BEGIN
- vec3 positionUpdated=position;
- #ifdef NORMAL
- vec3 normalUpdated=normal;
- #endif
- #ifdef TANGENT
- vec4 tangentUpdated=tangent;
- #endif
- #ifdef UV1
- vec2 uvUpdated=uv;
- #endif
- #include<morphTargetsVertexGlobal>
- #include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]
- #ifdef REFLECTIONMAP_SKYBOX
- vPositionUVW=positionUpdated;
- #endif
- #define CUSTOM_VERTEX_UPDATE_POSITION
- #define CUSTOM_VERTEX_UPDATE_NORMAL
- #include<instancesVertex>
- #if defined(PREPASS) && defined(PREPASS_VELOCITY) && !defined(BONES_VELOCITY_ENABLED)
- vCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);vPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);
- #endif
- #include<bonesVertex>
- #include<bakedVertexAnimation>
- vec4 worldPos=finalWorld*vec4(positionUpdated,1.0);vPositionW=vec3(worldPos);
- #include<prePassVertex>
- #ifdef NORMAL
- mat3 normalWorld=mat3(finalWorld);
- #if defined(INSTANCES) && defined(THIN_INSTANCES)
- vNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));vNormalW=normalize(normalWorld*vNormalW);
- #else
- #ifdef NONUNIFORMSCALING
- normalWorld=transposeMat3(inverseMat3(normalWorld));
- #endif
- vNormalW=normalize(normalWorld*normalUpdated);
- #endif
- #if defined(USESPHERICALFROMREFLECTIONMAP) && defined(USESPHERICALINVERTEX)
- vec3 reflectionVector=vec3(reflectionMatrix*vec4(vNormalW,0)).xyz;
- #ifdef REFLECTIONMAP_OPPOSITEZ
- reflectionVector.z*=-1.0;
- #endif
- vEnvironmentIrradiance=computeEnvironmentIrradiance(reflectionVector);
- #endif
- #endif
- #define CUSTOM_VERTEX_UPDATE_WORLDPOS
- #ifdef MULTIVIEW
- if (gl_ViewID_OVR==0u) {gl_Position=viewProjection*worldPos;} else {gl_Position=viewProjectionR*worldPos;}
- #else
- gl_Position=viewProjection*worldPos;
- #endif
- #if DEBUGMODE>0
- vClipSpacePosition=gl_Position;
- #endif
- #if defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED) || defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)
- vDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));
- #endif
- #ifndef UV1
- vec2 uvUpdated=vec2(0.,0.);
- #endif
- #ifdef MAINUV1
- vMainUV1=uvUpdated;
- #endif
- #include<uvVariableDeclaration>[2..7]
- #include<samplerVertexImplementation>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_MATRIXNAME_,albedo,_INFONAME_,AlbedoInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_MATRIXNAME_,reflectivity,_INFONAME_,ReflectivityInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_MATRIXNAME_,microSurfaceSampler,_INFONAME_,MicroSurfaceSamplerInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_MATRIXNAME_,metallicReflectance,_INFONAME_,MetallicReflectanceInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_MATRIXNAME_,reflectance,_INFONAME_,ReflectanceInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,DECAL,_VARYINGNAME_,Decal,_MATRIXNAME_,decal,_INFONAME_,DecalInfos.x)
- #ifdef CLEARCOAT
- #include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_MATRIXNAME_,clearCoat,_INFONAME_,ClearCoatInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness,_MATRIXNAME_,clearCoatRoughness,_INFONAME_,ClearCoatInfos.z)
- #include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_MATRIXNAME_,clearCoatBump,_INFONAME_,ClearCoatBumpInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_MATRIXNAME_,clearCoatTint,_INFONAME_,ClearCoatTintInfos.x)
- #endif
- #ifdef IRIDESCENCE
- #include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_MATRIXNAME_,iridescence,_INFONAME_,IridescenceInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_MATRIXNAME_,iridescenceThickness,_INFONAME_,IridescenceInfos.z)
- #endif
- #ifdef SHEEN
- #include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness,_MATRIXNAME_,sheenRoughness,_INFONAME_,SheenInfos.z)
- #endif
- #ifdef ANISOTROPIC
- #include<samplerVertexImplementation>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_MATRIXNAME_,anisotropy,_INFONAME_,AnisotropyInfos.x)
- #endif
- #ifdef SUBSURFACE
- #include<samplerVertexImplementation>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_MATRIXNAME_,thickness,_INFONAME_,ThicknessInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_MATRIXNAME_,refractionIntensity,_INFONAME_,RefractionIntensityInfos.x)
- #include<samplerVertexImplementation>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_MATRIXNAME_,translucencyIntensity,_INFONAME_,TranslucencyIntensityInfos.x)
- #endif
- #include<bumpVertex>
- #include<clipPlaneVertex>
- #include<fogVertex>
- #include<shadowsVertex>[0..maxSimultaneousLights]
- #include<vertexColorMixing>
- #if defined(POINTSIZE) && !defined(WEBGPU)
- gl_PointSize=pointSize;
- #endif
- #include<logDepthVertex>
- #define CUSTOM_VERTEX_MAIN_END
- }`;
- // Sideeffect
- ShaderStore.ShadersStore[name] = shader;
- /** @internal */
- export const pbrVertexShader = { name, shader };
- //# sourceMappingURL=pbr.vertex.js.map
|