@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.
253 lines (248 loc) • 10.5 kB
JavaScript
import { S as ShaderStore } from './index-MZPybX0H.esm.js';
import { d as decalVertexDeclaration, u as uvAttributeDeclaration, p as prePassVertexDeclaration, s as samplerVertexDeclaration, a as prePassVertex, b as uvVariableDeclaration, c as samplerVertexImplementation } from './samplerVertexImplementation-SyjrTaCQ.esm.js';
import { s as sceneUboDeclaration } from './sceneUboDeclaration-D-TsHbOr.esm.js';
import { m as meshUboDeclaration } from './meshUboDeclaration-Bv_BtoSy.esm.js';
import { d as defaultUboDeclaration } from './defaultUboDeclaration-CtwsKbM_.esm.js';
import { h as helperFunctions } from './helperFunctions-BVaVsPjM.esm.js';
import { b as bonesDeclaration, a as bakedVertexAnimationDeclaration, i as instancesVertex, c as bonesVertex, d as bakedVertexAnimation } from './bakedVertexAnimation-wpiWOSwD.esm.js';
import { i as instancesDeclaration } from './instancesDeclaration-BsiN991H.esm.js';
import { m as mainUVVaryingDeclaration } from './mainUVVaryingDeclaration-Bm0UsfVq.esm.js';
import { b as bumpVertexDeclaration } from './bumpVertexDeclaration-BskwVZKJ.esm.js';
import { c as clipPlaneVertexDeclaration, a as clipPlaneVertex } from './clipPlaneVertex-DpLNqQi1.esm.js';
import { f as fogVertexDeclaration, a as fogVertex } from './fogVertex-DcP6EK01.esm.js';
import { l as lightVxFragmentDeclaration, a as lightVxUboDeclaration, s as shadowsVertex } from './shadowsVertex-BA-1OlXD.esm.js';
import { m as morphTargetsVertexGlobalDeclaration, a as morphTargetsVertexDeclaration, b as morphTargetsVertexGlobal, c as morphTargetsVertex } from './morphTargetsVertex-BRsti3ha.esm.js';
import { l as logDepthDeclaration } from './logDepthDeclaration-BdXvBJD5.esm.js';
import { b as bumpVertex } from './bumpVertex-eKH8yilz.esm.js';
import { v as vertexColorMixing } from './vertexColorMixing-CuklZfs4.esm.js';
import { l as logDepthVertex } from './logDepthVertex-Bf89Lbuy.esm.js';
// Do not edit.
const name$2 = "defaultVertexDeclaration";
const shader$2 = `uniform mat4 viewProjection;
mat4 viewProjectionR;
uniform mat4 view;
uniform mat4 diffuseMatrix;uniform vec2 vDiffuseInfos;
uniform mat4 ambientMatrix;uniform vec2 vAmbientInfos;
uniform mat4 opacityMatrix;uniform vec2 vOpacityInfos;
uniform vec2 vEmissiveInfos;uniform mat4 emissiveMatrix;
uniform vec2 vLightmapInfos;uniform mat4 lightmapMatrix;
uniform vec2 vSpecularInfos;uniform mat4 specularMatrix;
uniform vec3 vBumpInfos;uniform mat4 bumpMatrix;
uniform mat4 reflectionMatrix;
uniform float pointSize;
uniform vec4 vDetailInfos;uniform mat4 detailMatrix;
uniform vec4 cameraInfo;uniform vec4 vTextureRepetitionHexTilingParams;
`;
// Sideeffect
if (!ShaderStore.IncludesShadersStore[name$2]) {
ShaderStore.IncludesShadersStore[name$2] = shader$2;
}
/** @internal */
const defaultVertexDeclaration = { name: name$2, shader: shader$2 };
// Do not edit.
const name$1 = "pointCloudVertex";
const shader$1 = `
gl_PointSize=pointSize;
`;
// Sideeffect
if (!ShaderStore.IncludesShadersStore[name$1]) {
ShaderStore.IncludesShadersStore[name$1] = shader$1;
}
/** @internal */
const pointCloudVertex = { name: name$1, shader: shader$1 };
// Do not edit.
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 */
const defaultVertexShader = { name, shader };
export { defaultVertexShader };
//# sourceMappingURL=default.vertex-S7PQYSXP.esm.js.map