123456789101112131415161718192021222324252627282930313233343536373839 |
- import { PBRMaterial } from "@babylonjs/core/Materials/PBR/pbrMaterial.js";
- import { GLTFLoader } from "../glTFLoader.js";
- const NAME = "MSFT_minecraftMesh";
- /** @internal */
- // eslint-disable-next-line @typescript-eslint/naming-convention
- export class MSFT_minecraftMesh {
- /** @internal */
- constructor(loader) {
- /** @internal */
- this.name = NAME;
- this._loader = loader;
- this.enabled = this._loader.isExtensionUsed(NAME);
- }
- /** @internal */
- dispose() {
- this._loader = null;
- }
- /** @internal */
- loadMaterialPropertiesAsync(context, material, babylonMaterial) {
- return GLTFLoader.LoadExtraAsync(context, material, this.name, (extraContext, extra) => {
- if (extra) {
- if (!(babylonMaterial instanceof PBRMaterial)) {
- throw new Error(`${extraContext}: Material type not supported`);
- }
- const promise = this._loader.loadMaterialPropertiesAsync(context, material, babylonMaterial);
- if (babylonMaterial.needAlphaBlending()) {
- babylonMaterial.forceDepthWrite = true;
- babylonMaterial.separateCullingPass = true;
- }
- babylonMaterial.backFaceCulling = babylonMaterial.forceDepthWrite;
- babylonMaterial.twoSidedLighting = true;
- return promise;
- }
- return null;
- });
- }
- }
- GLTFLoader.RegisterExtension(NAME, (loader) => new MSFT_minecraftMesh(loader));
- //# sourceMappingURL=MSFT_minecraftMesh.js.map
|