import { type Nullable } from "@onerjs/core/types.js"; import { type Matrix } from "@onerjs/core/Maths/math.vector.js"; import { Color3 } from "@onerjs/core/Maths/math.color.js"; import { type IAnimatable } from "@onerjs/core/Animations/animatable.interface.js"; import { type BaseTexture } from "@onerjs/core/Materials/Textures/baseTexture.js"; import { PushMaterial } from "@onerjs/core/Materials/pushMaterial.js"; import { type AbstractMesh } from "@onerjs/core/Meshes/abstractMesh.js"; import { type SubMesh } from "@onerjs/core/Meshes/subMesh.js"; import { type Mesh } from "@onerjs/core/Meshes/mesh.js"; import { Scene } from "@onerjs/core/scene.js"; export declare class TriPlanarMaterial extends PushMaterial { mixTexture: BaseTexture; private _diffuseTextureX; accessor diffuseTextureX: BaseTexture; private _diffuseTextureY; accessor diffuseTextureY: BaseTexture; private _diffuseTextureZ; accessor diffuseTextureZ: BaseTexture; private _normalTextureX; accessor normalTextureX: BaseTexture; private _normalTextureY; accessor normalTextureY: BaseTexture; private _normalTextureZ; accessor normalTextureZ: BaseTexture; tileSize: number; diffuseColor: Color3; specularColor: Color3; specularPower: number; private _disableLighting; accessor disableLighting: boolean; private _maxSimultaneousLights; accessor maxSimultaneousLights: number; private static readonly _ShaderLoader; /** * Instantiates a TriPlanar Material in the given scene * @param name The friendly name of the material * @param scene The scene to add the material to * @param forceGLSL Use the GLSL code generation for the shader (even on WebGPU). Default is false */ constructor(name: string, scene?: Scene, forceGLSL?: boolean); needAlphaBlending(): boolean; needAlphaTesting(): boolean; getAlphaTestTexture(): Nullable; isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean; bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void; getAnimatables(): IAnimatable[]; getActiveTextures(): BaseTexture[]; hasTexture(texture: BaseTexture): boolean; dispose(forceDisposeEffect?: boolean): void; clone(name: string): TriPlanarMaterial; serialize(): any; getClassName(): string; static Parse(source: any, scene: Scene, rootUrl: string): TriPlanarMaterial; }