import { Material } from "../../assets/material"; import { MaterialDefines } from "../materialDefines"; import { Color3 } from "../../longan/gs.math.objects"; import { Mesh } from "../../rendering/renderContext"; import { Viewer } from "../../viewer"; import { SubMesh } from "../../propertyComponents/meshRenderer"; export declare class PBRMaterialDefines extends MaterialDefines { PBR: boolean; NUM_SAMPLES: string; REALTIME_FILTERING: boolean; MAINUV1: boolean; MAINUV2: boolean; MAINUV3: boolean; MAINUV4: boolean; MAINUV5: boolean; MAINUV6: boolean; UV1: boolean; UV2: boolean; UV3: boolean; UV4: boolean; UV5: boolean; UV6: boolean; ALBEDO: boolean; GAMMAALBEDO: boolean; ALBEDODIRECTUV: number; VERTEXCOLOR: boolean; BAKED_VERTEX_ANIMATION_TEXTURE: boolean; AMBIENT: boolean; AMBIENTDIRECTUV: number; AMBIENTINGRAYSCALE: boolean; OPACITY: boolean; VERTEXALPHA: boolean; OPACITYDIRECTUV: number; OPACITYRGB: boolean; ALPHATEST: boolean; DEPTHPREPASS: boolean; ALPHABLEND: boolean; ALPHAFROMALBEDO: boolean; ALPHATESTVALUE: string; SPECULAROVERALPHA: boolean; RADIANCEOVERALPHA: boolean; ALPHAFRESNEL: boolean; LINEARALPHAFRESNEL: boolean; PREMULTIPLYALPHA: boolean; EMISSIVE: boolean; EMISSIVEDIRECTUV: number; GAMMAEMISSIVE: boolean; REFLECTIVITY: boolean; REFLECTIVITY_GAMMA: boolean; REFLECTIVITYDIRECTUV: number; SPECULARTERM: boolean; MICROSURFACEFROMREFLECTIVITYMAP: boolean; MICROSURFACEAUTOMATIC: boolean; LODBASEDMICROSFURACE: boolean; MICROSURFACEMAP: boolean; MICROSURFACEMAPDIRECTUV: number; METALLICWORKFLOW: boolean; ROUGHNESSSTOREINMETALMAPALPHA: boolean; ROUGHNESSSTOREINMETALMAPGREEN: boolean; METALLNESSSTOREINMETALMAPBLUE: boolean; AOSTOREINMETALMAPRED: boolean; METALLIC_REFLECTANCE: boolean; METALLIC_REFLECTANCE_GAMMA: boolean; METALLIC_REFLECTANCEDIRECTUV: number; METALLIC_REFLECTANCE_USE_ALPHA_ONLY: boolean; REFLECTANCE: boolean; REFLECTANCE_GAMMA: boolean; REFLECTANCEDIRECTUV: number; ENVIRONMENTBRDF: boolean; ENVIRONMENTBRDF_RGBD: boolean; NORMAL: boolean; TANGENT: boolean; BUMP: boolean; BUMPDIRECTUV: number; OBJECTSPACE_NORMALMAP: boolean; PARALLAX: boolean; PARALLAX_RHS: boolean; PARALLAXOCCLUSION: boolean; NORMALXYSCALE: boolean; LIGHTMAP: boolean; LIGHTMAPDIRECTUV: number; USELIGHTMAPASSHADOWMAP: boolean; GAMMALIGHTMAP: boolean; RGBDLIGHTMAP: boolean; REFLECTION: boolean; REFLECTIONMAP_3D: boolean; REFLECTIONMAP_SPHERICAL: boolean; REFLECTIONMAP_PLANAR: boolean; REFLECTIONMAP_CUBIC: boolean; USE_LOCAL_REFLECTIONMAP_CUBIC: boolean; REFLECTIONMAP_PROJECTION: boolean; REFLECTIONMAP_SKYBOX: boolean; REFLECTIONMAP_EXPLICIT: boolean; REFLECTIONMAP_EQUIRECTANGULAR: boolean; REFLECTIONMAP_EQUIRECTANGULAR_FIXED: boolean; REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED: boolean; INVERTCUBICMAP: boolean; USESPHERICALFROMREFLECTIONMAP: boolean; USEIRRADIANCEMAP: boolean; USESPHERICALINVERTEX: boolean; REFLECTIONMAP_OPPOSITEZ: boolean; LODINREFLECTIONALPHA: boolean; GAMMAREFLECTION: boolean; RGBDREFLECTION: boolean; LINEARSPECULARREFLECTION: boolean; RADIANCEOCCLUSION: boolean; HORIZONOCCLUSION: boolean; INSTANCES: boolean; THIN_INSTANCES: boolean; INSTANCESCOLOR: boolean; PREPASS: boolean; PREPASS_IRRADIANCE: boolean; PREPASS_IRRADIANCE_INDEX: number; PREPASS_ALBEDO_SQRT: boolean; PREPASS_ALBEDO_SQRT_INDEX: number; PREPASS_DEPTH: boolean; PREPASS_DEPTH_INDEX: number; PREPASS_NORMAL: boolean; PREPASS_NORMAL_INDEX: number; PREPASS_NORMAL_WORLDSPACE: boolean; PREPASS_POSITION: boolean; PREPASS_POSITION_INDEX: number; PREPASS_VELOCITY: boolean; PREPASS_VELOCITY_INDEX: number; PREPASS_REFLECTIVITY: boolean; PREPASS_REFLECTIVITY_INDEX: number; SCENE_MRT_COUNT: number; NUM_BONE_INFLUENCERS: number; BonesPerMesh: number; BONETEXTURE: boolean; BONES_VELOCITY_ENABLED: boolean; NONUNIFORMSCALING: boolean; MORPHTARGETS: boolean; MORPHTARGETS_NORMAL: boolean; MORPHTARGETS_TANGENT: boolean; MORPHTARGETS_UV: boolean; NUM_MORPH_INFLUENCERS: number; MORPHTARGETS_TEXTURE: boolean; IMAGEPROCESSING: boolean; VIGNETTE: boolean; VIGNETTEBLENDMODEMULTIPLY: boolean; VIGNETTEBLENDMODEOPAQUE: boolean; TONEMAPPING: number; CONTRAST: boolean; COLORCURVES: boolean; COLORGRADING: boolean; COLORGRADING3D: boolean; SAMPLER3DGREENDEPTH: boolean; SAMPLER3DBGRMAP: boolean; DITHER: boolean; IMAGEPROCESSINGPOSTPROCESS: boolean; SKIPFINALCOLORCLAMP: boolean; EXPOSURE: boolean; MULTIVIEW: boolean; ORDER_INDEPENDENT_TRANSPARENCY: boolean; ORDER_INDEPENDENT_TRANSPARENCY_16BITS: boolean; USEPHYSICALLIGHTFALLOFF: boolean; USEGLTFLIGHTFALLOFF: boolean; TWOSIDEDLIGHTING: boolean; SHADOWFLOAT: boolean; CLIPPLANE: boolean; CLIPPLANE2: boolean; CLIPPLANE3: boolean; CLIPPLANE4: boolean; CLIPPLANE5: boolean; CLIPPLANE6: boolean; POINTSIZE: boolean; FOG: boolean; LOGARITHMICDEPTH: boolean; CAMERA_ORTHOGRAPHIC: boolean; CAMERA_PERSPECTIVE: boolean; FORCENORMALFORWARD: boolean; SPECULARAA: boolean; UNLIT: boolean; DECAL_AFTER_DETAIL: boolean; DEBUGMODE: number; /** * Initializes the PBR Material defines. * @param externalProperties The external properties */ constructor(externalProperties?: { [name: string]: { type: string; default: any; }; }); /** * Resets the PBR Material defines. */ reset(): void; } export declare class PBRBaseMaterial extends Material { /** * AKA Diffuse Color in other nomenclature. * @internal */ _albedoColor: Color3; get albedoColor(): Color3; set albedoColor(value: Color3); constructor(viewer?: Viewer); /** * @internal * Create the shader for material. */ protected createShader(): void; /** * @internal * Create the defines for material. */ protected createDefines(): void; /** * Binds the submesh data. * @param mesh - The BJS mesh. * @param subMesh - A submesh of the BJS mesh. */ bindForSubMesh(mesh: Mesh, submesh: SubMesh): void; }