@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.
207 lines • 9.93 kB
JavaScript
// Do not edit.
import { ShaderStore } from "../Engines/shaderStore.js";
import { decalVertexDeclaration } from "./ShadersInclude/decalVertexDeclaration.js";
import { defaultVertexDeclaration } from "./ShadersInclude/defaultVertexDeclaration.js";
import { sceneUboDeclaration } from "./ShadersInclude/sceneUboDeclaration.js";
import { meshUboDeclaration } from "./ShadersInclude/meshUboDeclaration.js";
import { defaultUboDeclaration } from "./ShadersInclude/defaultUboDeclaration.js";
import { uvAttributeDeclaration } from "./ShadersInclude/uvAttributeDeclaration.js";
import { helperFunctions } from "./ShadersInclude/helperFunctions.js";
import { bonesDeclaration } from "./ShadersInclude/bonesDeclaration.js";
import { bakedVertexAnimationDeclaration } from "./ShadersInclude/bakedVertexAnimationDeclaration.js";
import { instancesDeclaration } from "./ShadersInclude/instancesDeclaration.js";
import { prePassVertexDeclaration } from "./ShadersInclude/prePassVertexDeclaration.js";
import { mainUVVaryingDeclaration } from "./ShadersInclude/mainUVVaryingDeclaration.js";
import { samplerVertexDeclaration } from "./ShadersInclude/samplerVertexDeclaration.js";
import { bumpVertexDeclaration } from "./ShadersInclude/bumpVertexDeclaration.js";
import { clipPlaneVertexDeclaration } from "./ShadersInclude/clipPlaneVertexDeclaration.js";
import { fogVertexDeclaration } from "./ShadersInclude/fogVertexDeclaration.js";
import { lightVxFragmentDeclaration } from "./ShadersInclude/lightVxFragmentDeclaration.js";
import { lightVxUboDeclaration } from "./ShadersInclude/lightVxUboDeclaration.js";
import { morphTargetsVertexGlobalDeclaration } from "./ShadersInclude/morphTargetsVertexGlobalDeclaration.js";
import { morphTargetsVertexDeclaration } from "./ShadersInclude/morphTargetsVertexDeclaration.js";
import { logDepthDeclaration } from "./ShadersInclude/logDepthDeclaration.js";
import { morphTargetsVertexGlobal } from "./ShadersInclude/morphTargetsVertexGlobal.js";
import { morphTargetsVertex } from "./ShadersInclude/morphTargetsVertex.js";
import { instancesVertex } from "./ShadersInclude/instancesVertex.js";
import { bonesVertex } from "./ShadersInclude/bonesVertex.js";
import { bakedVertexAnimation } from "./ShadersInclude/bakedVertexAnimation.js";
import { prePassVertex } from "./ShadersInclude/prePassVertex.js";
import { uvVariableDeclaration } from "./ShadersInclude/uvVariableDeclaration.js";
import { samplerVertexImplementation } from "./ShadersInclude/samplerVertexImplementation.js";
import { bumpVertex } from "./ShadersInclude/bumpVertex.js";
import { clipPlaneVertex } from "./ShadersInclude/clipPlaneVertex.js";
import { fogVertex } from "./ShadersInclude/fogVertex.js";
import { shadowsVertex } from "./ShadersInclude/shadowsVertex.js";
import { vertexColorMixing } from "./ShadersInclude/vertexColorMixing.js";
import { pointCloudVertex } from "./ShadersInclude/pointCloudVertex.js";
import { logDepthVertex } from "./ShadersInclude/logDepthVertex.js";
const name = "defaultVertexShader";
const shader = `
attribute vec3 position;
attribute vec3 normal;
attribute vec4 tangent;
attribute vec2 uv;
attribute vec4 color;
varying vec3 vPositionW;
varying vec3 vNormalW;
varying vec4 vColor;
varying vec3 vPositionUVW;
varying vec3 vDirectionW;
varying float vViewDepth;
void main(void) {
vec3 positionUpdated=position;
vec3 normalUpdated=normal;
vec4 tangentUpdated=tangent;
vec2 uvUpdated=uv;
vec2 uv2Updated=uv2;
vec4 colorUpdated=color;
vPositionUVW=positionUpdated;
vCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);vPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);
vec4 worldPos=finalWorld*vec4(positionUpdated,1.0);
mat3 normalWorld=mat3(finalWorld);
vNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));vNormalW=normalize(normalWorld*vNormalW);
normalWorld=transposeMat3(inverseMat3(normalWorld));
vNormalW=normalize(normalWorld*normalUpdated);
if (gl_ViewID_OVR==0u) {gl_Position=viewProjection*worldPos;} else {gl_Position=viewProjectionR*worldPos;}
gl_Position=viewProjection*worldPos;
vPositionW=vec3(worldPos);
vDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));
vViewDepth=-(view*worldPos).z;
vViewDepth=(view*worldPos).z;
vec2 uvUpdated=vec2(0.,0.);
vec2 uv2Updated=vec2(0.,0.);
vMainUV1=uvUpdated;
vMainUV2=uv2Updated;
}
`;
// Sideeffect
if (!ShaderStore.ShadersStore[name]) {
ShaderStore.ShadersStore[name] = shader;
}
const includes = [decalVertexDeclaration, defaultVertexDeclaration, sceneUboDeclaration, meshUboDeclaration, defaultUboDeclaration, uvAttributeDeclaration, helperFunctions, bonesDeclaration, bakedVertexAnimationDeclaration, instancesDeclaration, prePassVertexDeclaration, mainUVVaryingDeclaration, samplerVertexDeclaration, bumpVertexDeclaration, clipPlaneVertexDeclaration, fogVertexDeclaration, lightVxFragmentDeclaration, lightVxUboDeclaration, morphTargetsVertexGlobalDeclaration, morphTargetsVertexDeclaration, logDepthDeclaration, morphTargetsVertexGlobal, morphTargetsVertex, instancesVertex, bonesVertex, bakedVertexAnimation, prePassVertex, uvVariableDeclaration, samplerVertexImplementation, bumpVertex, clipPlaneVertex, fogVertex, shadowsVertex, vertexColorMixing, pointCloudVertex, logDepthVertex];
for (const inc of includes) {
if (!ShaderStore.IncludesShadersStore[inc.name]) {
ShaderStore.IncludesShadersStore[inc.name] = inc.shader;
}
}
/** @internal */
export const defaultVertexShader = { name, shader };
//# sourceMappingURL=default.vertex.js.map