@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.
31 lines (27 loc) • 889 B
JavaScript
import { aJ as PBR_HAS_ALPHA_TEST, a8 as _registerPbrExt } from './index-DMbDahsc.esm.js';
const pbrExt = {
id: "alpha-test",
phase: "fragment",
detect(mat) {
return (mat._alphaCutOff ?? 0) > 0 ? { f: PBR_HAS_ALPHA_TEST, f2: 0 } : { f: 0, f2: 0 };
},
frag(ctx) {
return ctx._features & PBR_HAS_ALPHA_TEST ? {
_id: "alpha-test",
_uboFields: [{ _name: "alphaCutOff", _type: "f32" }],
_fragmentSlots: { AT: `if(alpha*material.materialAlpha<material.alphaCutOff){discard;}` }
} : null;
},
writeUbo(data, mat, offsets) {
const off = offsets.get("alphaCutOff");
if (off !== void 0) {
data[off / 4] = mat._alphaCutOff ?? 0;
}
}
};
function setPbrAlphaCutoff(mat, alphaCutOff) {
mat._alphaCutOff = alphaCutOff;
_registerPbrExt(pbrExt);
}
export { setPbrAlphaCutoff };
//# sourceMappingURL=set-alpha-cutoff-CHkekqDI.esm.js.map