import type { Texture } from '@luma.gl/core'; import type { Vector2, Vector3, Vector4 } from '@math.gl/core'; import type { NumberArray2, NumberArray3, NumberArray4 } from "../../../lib/utils/uniform-types.js"; import { ShaderModule } from "../../../lib/shader-module/shader-module.js"; export type PBRMaterialProps = PBRMaterialBindings & { unlit: boolean; baseColorMapEnabled: boolean; baseColorFactor: Readonly; normalMapEnabled: boolean; normalScale: number; emissiveMapEnabled: boolean; emissiveFactor: Readonly; metallicRoughnessValues: Readonly; metallicRoughnessMapEnabled: boolean; occlusionMapEnabled: boolean; occlusionStrength: number; alphaCutoffEnabled: boolean; alphaCutoff: number; IBLenabled: boolean; scaleIBLAmbient: Readonly; scaleDiffBaseMR: Readonly; scaleFGDSpec: Readonly; }; /** Non-uniform block bindings for pbr module */ type PBRMaterialBindings = { baseColorSampler?: Texture | null; normalSampler?: Texture | null; emissiveSampler?: Texture | null; metallicRoughnessSampler?: Texture | null; occlusionSampler?: Texture | null; diffuseEnvSampler: Texture | null; specularEnvSampler: Texture | null; brdfLUT?: Texture | null; }; export type PBRMaterialUniforms = { unlit: boolean; baseColorMapEnabled: boolean; baseColorFactor: Readonly; normalMapEnabled: boolean; normalScale: number; emissiveMapEnabled: boolean; emissiveFactor: Readonly; metallicRoughnessValues: Readonly; metallicRoughnessMapEnabled: boolean; occlusionMapEnabled: boolean; occlusionStrength: number; alphaCutoffEnabled: boolean; alphaCutoff: number; IBLenabled: boolean; scaleIBLAmbient: Readonly; scaleDiffBaseMR: Readonly; scaleFGDSpec: Readonly; }; /** * An implementation of PBR (Physically-Based Rendering). * Physically Based Shading of a microfacet surface defined by a glTF material. */ export declare const pbrMaterial: ShaderModule; export {}; //# sourceMappingURL=pbr-material.d.ts.map