@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.
208 lines (204 loc) • 8.17 kB
JavaScript
import { S as ShaderStore } from './index-FzOfPXLV.esm.js';
import './defaultUboDeclaration-COBykoWX.esm.js';
import './vertexColorMixing-DiAAfHEs.esm.js';
import './helperFunctions-4InRZPbu.esm.js';
import './bonesVertex-lAGOY5tc.esm.js';
import './bakedVertexAnimation-B-j7AgLw.esm.js';
import './instancesDeclaration-CGcPa0tb.esm.js';
import './mainUVVaryingDeclaration-tsiMrUj2.esm.js';
import './clipPlaneVertex-D_rrr4Jo.esm.js';
import './logDepthVertex-CnFPHy8Z.esm.js';
import './shadowsVertex-BlhnvSDD.esm.js';
import './morphTargetsVertex-C_o673bp.esm.js';
import './logDepthDeclaration-LUOezDoj.esm.js';
import './bumpVertex-D64hZNL5.esm.js';
import './sceneUboDeclaration-81FvQqbq.esm.js';
import './meshUboDeclaration-CjMfZXLK.esm.js';
// Do not edit.
const name$1 = "lightVxFragmentDeclaration";
const shader$1 = `
uniform vLightData{X}: vec4f;uniform vLightDiffuse{X}: vec4f;
uniform vLightSpecular{X}: vec4f;
var vLightSpecular{X}: vec4f= vec4f(0.);
uniform lightMatrix{X}: mat4x4f[SHADOWCSMNUM_CASCADES{X}];varying var vPositionFromLight{X}: vec4f[SHADOWCSMNUM_CASCADES{X}];varying var vDepthMetric{X}: f32[SHADOWCSMNUM_CASCADES{X}];varying var vPositionFromCamera{X}: vec4f;
varying var vPositionFromLight{X}: vec4f;varying var vDepthMetric{X}: f32;uniform lightMatrix{X}: mat4x4f;
uniform shadowsInfo{X}: vec4f;uniform depthValues{X}: vec2f;
uniform vLightDirection{X}: vec4f;uniform vLightFalloff{X}: vec4f;
uniform vLightFalloff{X}: vec4f;
uniform vLightGround{X}: vec3f;
uniform vLightWidth{X}: vec4f;uniform vLightHeight{X}: vec4f;
`;
// Sideeffect
if (!ShaderStore.IncludesShadersStoreWGSL[name$1]) {
ShaderStore.IncludesShadersStoreWGSL[name$1] = shader$1;
}
// Do not edit.
const name = "defaultVertexShader";
const shader = `
attribute position: vec3f;
attribute normal: vec3f;
attribute tangent: vec4f;
attribute uv: vec2f;
attribute color: vec4f;
varying vPositionW: vec3f;
varying vNormalW: vec3f;
varying vColor: vec4f;
varying vPositionUVW: vec3f;
varying vDirectionW: vec3f;
@vertex
fn main(input : VertexInputs)->FragmentInputs {
var positionUpdated: vec3f=vertexInputs.position;
var normalUpdated: vec3f=vertexInputs.normal;
var tangentUpdated: vec4f=vertexInputs.tangent;
var uvUpdated: vec2f=vertexInputs.uv;
var uv2Updated: vec2f=vertexInputs.uv2;
var colorUpdated: vec4f=vertexInputs.color;
vertexOutputs.vPositionUVW=positionUpdated;
vertexOutputs.vCurrentPosition=scene.viewProjection*finalWorld*vec4f(positionUpdated,1.0);vertexOutputs.vPreviousPosition=uniforms.previousViewProjection*finalPreviousWorld*vec4f(positionUpdated,1.0);
var worldPos: vec4f=finalWorld*vec4f(positionUpdated,1.0);
var normalWorld: mat3x3f= mat3x3f(finalWorld[0].xyz,finalWorld[1].xyz,finalWorld[2].xyz);
vertexOutputs.vNormalW=normalUpdated/ vec3f(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));vertexOutputs.vNormalW=normalize(normalWorld*vertexOutputs.vNormalW);
normalWorld=transposeMat3(inverseMat3(normalWorld));
vertexOutputs.vNormalW=normalize(normalWorld*normalUpdated);
if (gl_ViewID_OVR==0u) {vertexOutputs.position=scene.viewProjection*worldPos;} else {vertexOutputs.position=scene.viewProjectionR*worldPos;}
vertexOutputs.position=scene.viewProjection*worldPos;
vertexOutputs.vPositionW= worldPos.xyz;
vertexOutputs.vDirectionW=normalize((finalWorld* vec4f(positionUpdated,0.0)).xyz);
var uvUpdated: vec2f=vec2f(0.,0.);
vertexOutputs.vMainUV1=uvUpdated;
var uv2Updated: vec2f=vec2f(0.,0.);
vertexOutputs.vMainUV2=uv2Updated;
}
`;
// Sideeffect
if (!ShaderStore.ShadersStoreWGSL[name]) {
ShaderStore.ShadersStoreWGSL[name] = shader;
}
/** @internal */
const defaultVertexShaderWGSL = { name, shader };
export { defaultVertexShaderWGSL };
//# sourceMappingURL=default.vertex-BAwBcp8V.esm.js.map