@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.
95 lines • 2.7 kB
JavaScript
// Do not edit.
import { ShaderStore } from "../Engines/shaderStore.js";
import "./ShadersInclude/bonesDeclaration.js";
import "./ShadersInclude/bakedVertexAnimationDeclaration.js";
import "./ShadersInclude/morphTargetsVertexGlobalDeclaration.js";
import "./ShadersInclude/morphTargetsVertexDeclaration.js";
import "./ShadersInclude/clipPlaneVertexDeclaration.js";
import "./ShadersInclude/instancesDeclaration.js";
import "./ShadersInclude/morphTargetsVertexGlobal.js";
import "./ShadersInclude/morphTargetsVertex.js";
import "./ShadersInclude/instancesVertex.js";
import "./ShadersInclude/bonesVertex.js";
import "./ShadersInclude/bakedVertexAnimation.js";
import "./ShadersInclude/clipPlaneVertex.js";
const name = "selectionVertexShader";
const shader = `attribute vec3 position;
attribute float instanceSelectionId;
uniform mat4 viewProjection;
uniform mat4 view;
uniform vec2 depthValues;
flat varying float vSelectionId;
varying float vViewPosZ;
varying float vDepthMetric;
varying vec2 vUV;uniform mat4 diffuseMatrix;
attribute vec2 uv;
attribute vec2 uv2;
void main(void) {
vec3 positionUpdated=position;
vec2 uvUpdated=uv;
vec2 uv2Updated=uv2;
vec4 worldPos=finalWorld*vec4(positionUpdated,1.0);gl_Position=viewProjection*worldPos;
vUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));
vUV=vec2(diffuseMatrix*vec4(uv2Updated,1.0,0.0));
vViewPosZ=(view*worldPos).z;
vDepthMetric=((-gl_Position.z+depthValues.x)/(depthValues.y));
vDepthMetric=((gl_Position.z+depthValues.x)/(depthValues.y));
vSelectionId=instanceSelectionId;
}
`;
// Sideeffect
if (!ShaderStore.ShadersStore[name]) {
ShaderStore.ShadersStore[name] = shader;
}
/** @internal */
export const selectionVertexShader = { name, shader };
//# sourceMappingURL=selection.vertex.js.map