@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.
75 lines • 1.88 kB
JavaScript
// Do not edit.
import { ShaderStore } from "../Engines/shaderStore.js";
import { packingFunctions } from "./ShadersInclude/packingFunctions.js";
const name = "pickingPixelShader";
const shader = `
precision highp int;
layout(location=0) out highp vec4 glFragData[2];
flat varying float vMeshID;
uniform float meshID;
void main(void) {float id;
id=vMeshID;
id=meshID;
int castedId=int(id);vec3 color=vec3(
float((castedId>>16) & 0xFF),
float((castedId>>8) & 0xFF),
float(castedId & 0xFF)
)/255.0;
glFragData[0]=vec4(color,1.0);
glFragData[1]=pack(gl_FragCoord.z);
glFragData[1]=vec4(gl_FragCoord.z,0.0,0.0,1.0);
gl_FragColor=vec4(color,1.0);
float castedId=floor(id+0.5);vec3 color=vec3(
floor(mod(castedId,16777216.0)/65536.0),
floor(mod(castedId,65536.0)/256.0),
mod(castedId,256.0)
)/255.0;
glFragData[0]=vec4(color,1.0);
glFragData[1]=pack(gl_FragCoord.z);
glFragData[1]=vec4(gl_FragCoord.z,0.0,0.0,1.0);
gl_FragColor=vec4(color,1.0);
}
`;
// Sideeffect
if (!ShaderStore.ShadersStore[name]) {
ShaderStore.ShadersStore[name] = shader;
}
const includes = [packingFunctions];
for (const inc of includes) {
if (!ShaderStore.IncludesShadersStore[inc.name]) {
ShaderStore.IncludesShadersStore[inc.name] = inc.shader;
}
}
/** @internal */
export const pickingPixelShader = { name, shader };
//# sourceMappingURL=picking.fragment.js.map