/** * A texture of a standard material, which is one slot of its bind group and one sampler of its * shader. */ export type MaterialTextureDescriptor = { /** * - The name of the texture uniform, `texture_Map`. */ name: string; /** * - The name of the sampler which goes with it, as the WGSL chunks * declare it. */ samplerName: string; /** * - The property of the material holding the texture, `Map`. */ mapName: string; }; /** * The textures of a material, one per texture its assigned maps point at, in the order of the maps * which claimed them. See {@link getTextureIdentifiers}. * * @param {StandardMaterial} material - The material. * @returns {MaterialTextureDescriptor[]} The textures. * @ignore */ export function getTextureDescriptors(material: StandardMaterial): MaterialTextureDescriptor[]; /** * @import { StandardMaterial } from './standard-material.js' */ /** * A texture of a standard material, which is one slot of its bind group and one sampler of its * shader. * * @typedef {object} MaterialTextureDescriptor * @property {string} name - The name of the texture uniform, `texture_Map`. * @property {string} samplerName - The name of the sampler which goes with it, as the WGSL chunks * declare it. * @property {string} mapName - The property of the material holding the texture, `Map`. * @ignore */ /** * The map property which claims the sampler of each assigned map of a material. Maps pointing at * the same texture share one sampler, named after whichever of them comes first, which keeps an * imported material that packs several maps into one texture down to a single slot. Both the bind * group layout of the material and the generation of its shader follow this, so the slots of the * layout are the samplers the shader declares. * * @param {StandardMaterial} material - The material. * @returns {Map} The claiming map property for each assigned map property. * @ignore */ export function getTextureIdentifiers(material: StandardMaterial): Map; /** * Describes which of the assigned maps of a material use the sampler of another map, as a string * which is empty when no two maps point at the same texture. The shader of the material samples * its maps from other samplers when this changes. See {@link getTextureIdentifiers}. * * @param {StandardMaterial} material - The material. * @returns {string} The sharing of the maps of the material. * @ignore */ export function getTextureSharing(material: StandardMaterial): string; import type { StandardMaterial } from './standard-material.js';