@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.
3 lines (2 loc) • 975 B
JavaScript
import{y as e,a8 as o}from"./index-B8IgtevW.esm.min.js";function s(e,o,s,t){const r=o.get(`${s}UVm`),n=o.get(`${s}UVt`);if(void 0===r||void 0===n)return;const c=r/4,i=n/4,u=t?.uScale??1,a=t?.vScale??1,f=t?.uAng??0,l=t?.uOffset??0,m=t?.vOffset??0;if(0===f)e[c]=u,e[c+1]=0,e[c+2]=0,e[c+3]=a;else{const o=Math.cos(f),s=Math.sin(f);e[c]=o*u,e[c+1]=s*a,e[c+2]=-s*u,e[c+3]=o*a}e[i]=l,e[i+1]=m,e[i+2]=0,e[i+3]=0}const t={id:"uv-transform",phase:"fragment",detect(o){const s=o,t=!!s.occlusionTexture&&!s.occlusionTexCoord;return{f:0,f2:(s._hasUvTx?e:0)|(t?268435456:0)}},writeUbo(e,o,t){const r=o;s(e,t,"baseColor",r.baseColorTexture),s(e,t,"normal",r.normalTexture),s(e,t,"orm",r.ormTexture),s(e,t,"emissive",r.emissiveTexture),s(e,t,"specGloss",r.specGlossTexture),s(e,t,"occl",r.occlusionTexture)}};function r(e){return e._hasUvTx=!0,o(t),void 0===e._renderFeatures}export{r as enableMaterialUvTransform};
//# sourceMappingURL=enable-material-uv-transform-ClNrLp0e.esm.min.js.map