@babylonjs/core
Version:
Getting started? Play directly with the Babylon.js API using our [playground](https://playground.babylonjs.com/). It also contains a lot of samples to learn how to use it.
887 lines (886 loc) • 274 kB
JavaScript
/** This file must only contain pure code and pure imports */
import { __classPrivateFieldGet, __classPrivateFieldSet, __esDecorate, __runInitializers } from "../../tslib.es6.js";
/* eslint-disable @typescript-eslint/naming-convention */
import { serialize, expandToProperty, addAccessorsForMaterialProperty } from "../../Misc/decorators.js";
import { GetEnvironmentFuzzBRDFTexture, GetOpenPBREnvironmentBRDFTexture } from "../../Misc/brdfTextureTools.js";
import { Color3, Color4 } from "../../Maths/math.color.pure.js";
import { ImageProcessingConfiguration, RegisterImageProcessingConfiguration } from "../imageProcessingConfiguration.pure.js";
import { Texture } from "../Textures/texture.pure.js";
import { Material } from "../material.pure.js";
import { SerializationHelper } from "../../Misc/decorators.serialization.js";
import { MaterialDefines } from "../materialDefines.js";
import { ImageProcessingDefinesMixin } from "../imageProcessingConfiguration.defines.js";
import { EffectFallbacks } from "../effectFallbacks.js";
import { AddClipPlaneUniforms, BindClipPlane } from "../clipPlaneMaterialHelper.js";
import { PrepareVertexPullingUniforms, BindVertexPullingUniforms } from "../vertexPullingHelper.functions.js";
import { BindBonesParameters, BindFogParameters, BindLights, BindLogDepth, BindMorphTargetParameters, BindTextureMatrix, BindIBLParameters, BindIBLSamplers, HandleFallbacksForShadows, PrepareAttributesForBakedVertexAnimation, PrepareAttributesForBones, PrepareAttributesForInstances, PrepareAttributesForMorphTargets, PrepareDefinesForAttributes, PrepareDefinesForFrameBoundValues, PrepareDefinesForLights, PrepareDefinesForIBL, PrepareDefinesForMergedUV, PrepareDefinesForMisc, PrepareDefinesForMultiview, PrepareDefinesForOIT, PrepareDefinesForPrePass, PrepareUniformsAndSamplersList, PrepareUniformsAndSamplersForIBL, PrepareUniformLayoutForIBL, AreLightsTexturesReady, } from "../materialHelper.functions.js";
import { VertexBuffer } from "../../Buffers/buffer.pure.js";
import { MaterialHelperGeometryRendering } from "../materialHelper.geometryrendering.js";
import { PrePassConfiguration } from "../prePassConfiguration.js";
import { MaterialFlags } from "../materialFlags.js";
import { Logger } from "../../Misc/logger.js";
import { UVDefinesMixin } from "../uv.defines.js";
import { PrepassDefinesMixin } from "../prepass.defines.js";
import { EnvironmentLightingDefinesMixin } from "../environmentLighting.defines.js";
import { Vector2, Vector3, Vector4, TmpVectors } from "../../Maths/math.vector.pure.js";
import { ImageProcessingMixin } from "../imageProcessing.js";
import { PushMaterial } from "../pushMaterial.js";
import { SmartArray } from "../../Misc/smartArray.js";
import { Tools } from "../../Misc/tools.pure.js";
import { GeometryBufferRenderer } from "../../Rendering/geometryBufferRenderer.pure.js";
import { RegisterClass } from "../../Misc/typeStore.js";
const onCreatedEffectParameters = { effect: null, subMesh: null };
function _GetComponentCount(value) {
if (typeof value === "number") {
return 1;
}
if (value instanceof Vector2) {
return 2;
}
if (value instanceof Vector3 || value instanceof Color3) {
return 3;
}
if (value instanceof Vector4 || value instanceof Color4) {
return 4;
}
throw new Error("Unsupported OpenPBR property type.");
}
class Uniform {
populateVectorFromLinkedProperties(vector) {
const destinationSize = _GetComponentCount(vector);
for (const propKey in this.linkedProperties) {
const prop = this.linkedProperties[propKey];
const sourceSize = prop.numComponents;
if (destinationSize < sourceSize || prop.targetUniformComponentOffset > destinationSize - sourceSize) {
if (sourceSize == 1) {
Logger.Error(`Float property ${prop.name} has an offset that is too large.`);
}
else {
Logger.Error(`Vector${sourceSize} property ${prop.name} won't fit in Vector${destinationSize} or has an offset that is too large.`);
}
return;
}
if (typeof prop.value === "number") {
Uniform._tmpArray[prop.targetUniformComponentOffset] = prop.value;
}
else {
prop.value.toArray(Uniform._tmpArray, prop.targetUniformComponentOffset);
}
}
vector.fromArray(Uniform._tmpArray);
}
constructor(name, componentNum) {
this.linkedProperties = {};
/**
* Cached key of the first entry of `linkedProperties`, set when the first
* property is linked. Used by the per-frame bind loop to avoid an
* `Object.keys(linkedProperties)[0]` allocation when reading scalar
* uniforms.
*/
this.firstLinkedKey = "";
this.name = name;
this.numComponents = componentNum;
}
}
Uniform._tmpArray = [0, 0, 0, 0];
/**
* Defines a property for the OpenPBRMaterial.
*/
class Property {
/**
* Creates a new Property instance.
* @param name The name of the property in the shader
* @param defaultValue The default value of the property
* @param targetUniformName The name of the property in the shader uniform block
* @param targetUniformComponentNum The number of components in the target uniform. All properties that are
* packed into the same uniform must agree on the size of the target uniform.
* @param targetUniformComponentOffset The offset in the uniform where this property will be packed.
* @param requiredDefine Optional define name. When provided, the per-frame
* bind loop will skip pushing the owning uniform to the UBO unless
* `defines[requiredDefine]` is true.
*/
constructor(name, defaultValue, targetUniformName, targetUniformComponentNum, targetUniformComponentOffset = 0, requiredDefine) {
// public includeAlphaFromProp: string = "";
/**
* If not given a type, there will be no uniform defined for this property and
* it will be assumed that the value will be packed into the already existing "uniformName" uniform.
*/
this.targetUniformComponentNum = 4; // Default to vec4
this.targetUniformComponentOffset = 0;
this.name = name;
this.targetUniformName = targetUniformName;
this.defaultValue = defaultValue;
this.value = defaultValue;
this.targetUniformComponentNum = targetUniformComponentNum;
this.targetUniformComponentOffset = targetUniformComponentOffset;
this.requiredDefine = requiredDefine;
}
/**
* Returns the number of components of the property based on its default value type.
*/
get numComponents() {
if (typeof this.defaultValue === "number") {
return 1;
}
return _GetComponentCount(this.defaultValue);
}
}
class Sampler {
/**
* The name of the sampler used in the shader.
* If this naming changes, we'll also need to change:
* - samplerFragmentDeclaration.fx
* - openpbr.fragment.fx
*/
get samplerName() {
return this.samplerPrefix + "Sampler";
}
/**
* The name of the sampler info used in the shader.
* If this naming changes, we'll also need to change:
* - openpbr.vertex.fx
* - openpbr.fragment.fx
*/
get samplerInfoName() {
return "v" + this.samplerPrefix.charAt(0).toUpperCase() + this.samplerPrefix.slice(1) + "Infos";
}
/**
* The name of the matrix used for this sampler in the shader.
* If this naming changes, we'll also need to change:
* - materialHelper.functions.BindTextureMatrix
* - samplerVertexImplementation.fx
* - openpbr.fragment.fx
*/
get samplerMatrixName() {
return this.samplerPrefix + "Matrix";
}
/**
* Creates a new Sampler instance.
* @param name The name of the texture property
* @param samplerPrefix The prefix used for the name of the sampler in the shader
* @param textureDefine The define used in the shader for this sampler
*/
constructor(name, samplerPrefix, textureDefine) {
this.value = null; // Texture value, default to null
this.samplerPrefix = ""; // The name of the sampler in the shader
this.textureDefine = ""; // The define used in the shader for this sampler
this.name = name;
this.samplerPrefix = samplerPrefix;
this.textureDefine = textureDefine;
}
}
class OpenPBRMaterialDefinesBase extends PrepassDefinesMixin(UVDefinesMixin(MaterialDefines)) {
}
class OpenPBRMaterialDefinesWithEnvLighting extends EnvironmentLightingDefinesMixin(OpenPBRMaterialDefinesBase) {
}
/**
* Manages the defines for the PBR Material.
* @internal
*/
export class OpenPBRMaterialDefines extends ImageProcessingDefinesMixin(OpenPBRMaterialDefinesWithEnvLighting) {
/**
* Initializes the PBR Material defines.
* @param externalProperties The external properties
*/
constructor(externalProperties) {
super(externalProperties);
this.NUM_SAMPLES = "0";
this.REALTIME_FILTERING = false;
this.IBL_CDF_FILTERING = false;
this.LIGHTCOUNT = 0;
this.VERTEXCOLOR = false;
this.BAKED_VERTEX_ANIMATION_TEXTURE = false;
this.VERTEXALPHA = false;
this.ALPHATEST = false;
this.DEPTHPREPASS = false;
this.ALPHABLEND = false;
this.ALPHA_FROM_BASE_COLOR_TEXTURE = false;
this.ALPHATESTVALUE = "0.5";
this.PREMULTIPLYALPHA = false;
this.REFLECTIVITY_GAMMA = false;
this.REFLECTIVITYDIRECTUV = 0;
this.SPECULARTERM = false;
this.LODBASEDMICROSFURACE = true;
this.SPECULAR_ROUGHNESS_FROM_METALNESS_TEXTURE_GREEN = false;
this.BASE_METALNESS_FROM_METALNESS_TEXTURE_BLUE = false;
this.AOSTOREINMETALMAPRED = false;
this.SPECULAR_WEIGHT_IN_ALPHA = false;
this.SPECULAR_WEIGHT_FROM_SPECULAR_COLOR_TEXTURE = false;
this.SPECULAR_ROUGHNESS_ANISOTROPY_FROM_TANGENT_TEXTURE = false;
this.COAT_ROUGHNESS_FROM_GREEN_CHANNEL = false;
this.COAT_ROUGHNESS_ANISOTROPY_FROM_TANGENT_TEXTURE = false;
this.USE_GLTF_STYLE_ANISOTROPY = false;
this.THIN_FILM_THICKNESS_FROM_THIN_FILM_TEXTURE = false;
this.FUZZ_ROUGHNESS_FROM_TEXTURE_ALPHA = false;
this.SUBSURFACE_WEIGHT_FROM_TEXTURE_ALPHA = false;
this.GEOMETRY_THICKNESS_FROM_GREEN_CHANNEL = false;
this.ENVIRONMENTBRDF = false;
this.ENVIRONMENTBRDF_RGBD = false;
this.FUZZENVIRONMENTBRDF = false;
this.NORMAL = false;
this.TANGENT = false;
this.OBJECTSPACE_NORMALMAP = false;
this.PARALLAX = false;
this.PARALLAX_RHS = false;
this.PARALLAXOCCLUSION = false;
this.NORMALXYSCALE = true;
/**
* Enables anisotropic logic. Still needed because it's used in pbrHelperFunctions
*/
this.ANISOTROPIC = false;
/**
* Tells the shader to use OpenPBR's anisotropic roughness remapping
*/
this.ANISOTROPIC_OPENPBR = true;
/**
* Tells the shader to apply anisotropy to the base layer
*/
this.ANISOTROPIC_BASE = false;
/**
* Tells the shader to apply anisotropy to the coat layer
*/
this.ANISOTROPIC_COAT = false;
/**
* Number of samples to use for the fuzz IBL lighting calculations
*/
this.FUZZ_IBL_SAMPLES = 6;
/**
* Enables the 4-tap rotated-grid kernel for refractive background blur.
* When false, a single dithered sample is used instead.
*/
this.REFRACTION_HIGH_QUALITY_BLUR = false;
/**
* Tells the shader to enable the fuzz layer
*/
this.FUZZ = false;
/**
* Tells the shader to enable the thin film layer
*/
this.THIN_FILM = false;
/**
* Tells the shader to enable the legacy iridescence code
* Iridescence is the name of thin film interference in the PBR material.
*/
this.IRIDESCENCE = false;
/**
* Tells the shader to enable dispersion in refraction
*/
this.DISPERSION = false;
/**
* Enables subsurface scattering
*/
this.SCATTERING = false;
/**
* Enables the use of screen-space irradiance texture for scattering
*/
this.USE_IRRADIANCE_TEXTURE_FOR_SCATTERING = false;
/**
* Number of samples used by the screen-space SSS convolution kernel.
*/
this.SSS_SAMPLE_COUNT = 16;
/**
* Indicates that the irradiance texture is from the legacy GeometryBufferRenderer.
* We use this to handle direct lights which don't render in the legacy GBuffer irradiance.
*/
this.USE_IRRADIANCE_TEXTURE_FOR_SCATTERING_GBUFFER = false;
/**
* Enables transmission slab
*/
this.TRANSMISSION_SLAB = false;
/**
* Enables transmission slab with volume
*/
this.TRANSMISSION_SLAB_VOLUME = false;
/**
* Enables subsurface slab
*/
this.SUBSURFACE_SLAB = false;
/**
* Enables thin-walled geometry
*/
this.GEOMETRY_THIN_WALLED = false;
/**
* Refraction of the 2D background texture. Might include the rest of the scene or just the background.
*/
this.REFRACTED_BACKGROUND = false;
/**
* Refraction of direct lights.
*/
this.REFRACTED_LIGHTS = false;
/**
* Refraction of the environment texture (IBL).
*/
this.REFRACTED_ENVIRONMENT = false;
this.REFRACTED_ENVIRONMENT_OPPOSITEZ = false;
this.REFRACTED_ENVIRONMENT_LOCAL_CUBE = false;
this.RADIANCEOCCLUSION = false;
this.HORIZONOCCLUSION = false;
this.INSTANCES = false;
this.THIN_INSTANCES = false;
this.INSTANCESCOLOR = false;
this.NUM_BONE_INFLUENCERS = 0;
this.BonesPerMesh = 0;
this.BONETEXTURE = false;
this.BONES_VELOCITY_ENABLED = false;
this.NONUNIFORMSCALING = false;
this.MORPHTARGETS = false;
this.MORPHTARGETS_POSITION = false;
this.MORPHTARGETS_NORMAL = false;
this.MORPHTARGETS_TANGENT = false;
this.MORPHTARGETS_UV = false;
this.MORPHTARGETS_UV2 = false;
this.MORPHTARGETS_COLOR = false;
this.MORPHTARGETTEXTURE_HASPOSITIONS = false;
this.MORPHTARGETTEXTURE_HASNORMALS = false;
this.MORPHTARGETTEXTURE_HASTANGENTS = false;
this.MORPHTARGETTEXTURE_HASUVS = false;
this.MORPHTARGETTEXTURE_HASUV2S = false;
this.MORPHTARGETTEXTURE_HASCOLORS = false;
this.NUM_MORPH_INFLUENCERS = 0;
this.MORPHTARGETS_TEXTURE = false;
this.USEPHYSICALLIGHTFALLOFF = false;
this.USEGLTFLIGHTFALLOFF = false;
this.TWOSIDEDLIGHTING = false;
this.MIRRORED = false;
this.SHADOWFLOAT = false;
this.CLIPPLANE = false;
this.CLIPPLANE2 = false;
this.CLIPPLANE3 = false;
this.CLIPPLANE4 = false;
this.CLIPPLANE5 = false;
this.CLIPPLANE6 = false;
this.POINTSIZE = false;
this.FOG = false;
this.LOGARITHMICDEPTH = false;
this.CAMERA_ORTHOGRAPHIC = false;
this.CAMERA_PERSPECTIVE = false;
this.AREALIGHTSUPPORTED = true;
this.FORCENORMALFORWARD = false;
this.SPECULARAA = false;
this.UNLIT = false;
this.DECAL_AFTER_DETAIL = false;
this.TEXTURE_REPETITION_MODE = 0;
this.DEBUGMODE = 0;
this.USE_VERTEX_PULLING = false;
this.VERTEX_PULLING_USE_INDEX_BUFFER = false;
this.VERTEX_PULLING_INDEX_BUFFER_32BITS = false;
this.RIGHT_HANDED = false;
this.CLUSTLIGHT_SLICES = 0;
this.CLUSTLIGHT_BATCH = 0;
// BRDF defines
this.BRDF_V_HEIGHT_CORRELATED = true;
this.MS_BRDF_ENERGY_CONSERVATION = true;
this.SPHERICAL_HARMONICS = true;
this.SPECULAR_GLOSSINESS_ENERGY_CONSERVATION = true;
this.MIX_IBL_RADIANCE_WITH_IRRADIANCE = true;
this.LEGACY_SPECULAR_ENERGY_CONSERVATION = false;
this.BASE_DIFFUSE_MODEL = 0;
this.DIELECTRIC_SPECULAR_MODEL = 1;
this.CONDUCTOR_SPECULAR_MODEL = 1;
this.rebuild();
}
/**
* Resets the PBR Material defines.
*/
reset() {
super.reset();
this.ALPHATESTVALUE = "0.5";
this.NORMALXYSCALE = true;
}
}
class OpenPBRMaterialBase extends ImageProcessingMixin(PushMaterial) {
}
/**
* A Physically based material that follows the specification of OpenPBR.
*
* For more information, please refer to the documentation :
* https://academysoftwarefoundation.github.io/OpenPBR/index.html
*/
let OpenPBRMaterial = (() => {
var _a, _OpenPBRMaterial_baseWeight_accessor_storage, _OpenPBRMaterial_baseWeightTexture_accessor_storage, _OpenPBRMaterial_baseColor_accessor_storage, _OpenPBRMaterial_baseColorTexture_accessor_storage, _OpenPBRMaterial_baseDiffuseRoughness_accessor_storage, _OpenPBRMaterial_baseDiffuseRoughnessTexture_accessor_storage, _OpenPBRMaterial_baseMetalness_accessor_storage, _OpenPBRMaterial_baseMetalnessTexture_accessor_storage, _OpenPBRMaterial_specularWeight_accessor_storage, _OpenPBRMaterial_specularWeightTexture_accessor_storage, _OpenPBRMaterial_specularColor_accessor_storage, _OpenPBRMaterial_specularColorTexture_accessor_storage, _OpenPBRMaterial_specularRoughness_accessor_storage, _OpenPBRMaterial_specularRoughnessTexture_accessor_storage, _OpenPBRMaterial_specularRoughnessAnisotropy_accessor_storage, _OpenPBRMaterial_specularRoughnessAnisotropyTexture_accessor_storage, _OpenPBRMaterial_specularIor_accessor_storage, _OpenPBRMaterial_transmissionWeight_accessor_storage, _OpenPBRMaterial_transmissionWeightTexture_accessor_storage, _OpenPBRMaterial_transmissionColor_accessor_storage, _OpenPBRMaterial_transmissionColorTexture_accessor_storage, _OpenPBRMaterial_transmissionDepth_accessor_storage, _OpenPBRMaterial_transmissionDepthTexture_accessor_storage, _OpenPBRMaterial_transmissionScatter_accessor_storage, _OpenPBRMaterial_transmissionScatterTexture_accessor_storage, _OpenPBRMaterial_transmissionScatterAnisotropy_accessor_storage, _OpenPBRMaterial_transmissionDispersionScale_accessor_storage, _OpenPBRMaterial_transmissionDispersionScaleTexture_accessor_storage, _OpenPBRMaterial_transmissionDispersionAbbeNumber_accessor_storage, _OpenPBRMaterial_subsurfaceWeight_accessor_storage, _OpenPBRMaterial_subsurfaceWeightTexture_accessor_storage, _OpenPBRMaterial_subsurfaceColor_accessor_storage, _OpenPBRMaterial_subsurfaceColorTexture_accessor_storage, _OpenPBRMaterial_subsurfaceRadius_accessor_storage, _OpenPBRMaterial_subsurfaceRadiusScale_accessor_storage, _OpenPBRMaterial_subsurfaceRadiusScaleTexture_accessor_storage, _OpenPBRMaterial_subsurfaceScatterAnisotropy_accessor_storage, _OpenPBRMaterial_coatWeight_accessor_storage, _OpenPBRMaterial_coatWeightTexture_accessor_storage, _OpenPBRMaterial_coatColor_accessor_storage, _OpenPBRMaterial_coatColorTexture_accessor_storage, _OpenPBRMaterial_coatRoughness_accessor_storage, _OpenPBRMaterial_coatRoughnessTexture_accessor_storage, _OpenPBRMaterial_coatRoughnessAnisotropy_accessor_storage, _OpenPBRMaterial_coatRoughnessAnisotropyTexture_accessor_storage, _OpenPBRMaterial_coatIor_accessor_storage, _OpenPBRMaterial_coatDarkening_accessor_storage, _OpenPBRMaterial_coatDarkeningTexture_accessor_storage, _OpenPBRMaterial_fuzzWeight_accessor_storage, _OpenPBRMaterial_fuzzWeightTexture_accessor_storage, _OpenPBRMaterial_fuzzColor_accessor_storage, _OpenPBRMaterial_fuzzColorTexture_accessor_storage, _OpenPBRMaterial_fuzzRoughness_accessor_storage, _OpenPBRMaterial_fuzzRoughnessTexture_accessor_storage, _OpenPBRMaterial_geometryThinWalled_accessor_storage, _OpenPBRMaterial_geometryNormalTexture_accessor_storage, _OpenPBRMaterial_geometryTangent_accessor_storage, _OpenPBRMaterial_geometryTangentTexture_accessor_storage, _OpenPBRMaterial_geometryCoatNormalTexture_accessor_storage, _OpenPBRMaterial_geometryCoatTangent_accessor_storage, _OpenPBRMaterial_geometryCoatTangentTexture_accessor_storage, _OpenPBRMaterial_geometryOpacity_accessor_storage, _OpenPBRMaterial_geometryOpacityTexture_accessor_storage, _OpenPBRMaterial_geometryThickness_accessor_storage, _OpenPBRMaterial_geometryThicknessTexture_accessor_storage, _OpenPBRMaterial_emissionLuminance_accessor_storage, _OpenPBRMaterial_emissionColor_accessor_storage, _OpenPBRMaterial_emissionColorTexture_accessor_storage, _OpenPBRMaterial_thinFilmWeight_accessor_storage, _OpenPBRMaterial_thinFilmWeightTexture_accessor_storage, _OpenPBRMaterial_thinFilmThickness_accessor_storage, _OpenPBRMaterial_thinFilmThicknessMin_accessor_storage, _OpenPBRMaterial_thinFilmThicknessTexture_accessor_storage, _OpenPBRMaterial_thinFilmIor_accessor_storage, _OpenPBRMaterial_ambientOcclusionTexture_accessor_storage, _OpenPBRMaterial_directIntensity_accessor_storage, _OpenPBRMaterial_environmentIntensity_accessor_storage, _OpenPBRMaterial_useSpecularWeightFromTextureAlpha_accessor_storage, _OpenPBRMaterial_forceAlphaTest_accessor_storage, _OpenPBRMaterial_alphaCutOff_accessor_storage, _OpenPBRMaterial_useAmbientOcclusionFromMetallicTextureRed_accessor_storage, _OpenPBRMaterial_useAmbientInGrayScale_accessor_storage, _OpenPBRMaterial_useObjectSpaceNormalMap_accessor_storage, _OpenPBRMaterial_useParallax_accessor_storage, _OpenPBRMaterial_useParallaxOcclusion_accessor_storage, _OpenPBRMaterial_parallaxScaleBias_accessor_storage, _OpenPBRMaterial_disableLighting_accessor_storage, _OpenPBRMaterial_forceIrradianceInFragment_accessor_storage, _OpenPBRMaterial_maxSimultaneousLights_accessor_storage, _OpenPBRMaterial_invertNormalMapX_accessor_storage, _OpenPBRMaterial_invertNormalMapY_accessor_storage, _OpenPBRMaterial_twoSidedLighting_accessor_storage, _OpenPBRMaterial_useAlphaFresnel_accessor_storage, _OpenPBRMaterial_useLinearAlphaFresnel_accessor_storage, _OpenPBRMaterial_environmentBRDFTexture_accessor_storage, _OpenPBRMaterial_forceNormalForward_accessor_storage, _OpenPBRMaterial_enableSpecularAntiAliasing_accessor_storage, _OpenPBRMaterial_useHorizonOcclusion_accessor_storage, _OpenPBRMaterial_useRadianceOcclusion_accessor_storage, _OpenPBRMaterial_unlit_accessor_storage, _OpenPBRMaterial_applyDecalMapAfterDetailMap_accessor_storage, _OpenPBRMaterial_debugMode_accessor_storage;
let _classSuper = OpenPBRMaterialBase;
let _instanceExtraInitializers = [];
let _baseWeight_decorators;
let _baseWeight_initializers = [];
let _baseWeight_extraInitializers = [];
let _baseWeightTexture_decorators;
let _baseWeightTexture_initializers = [];
let _baseWeightTexture_extraInitializers = [];
let _baseColor_decorators;
let _baseColor_initializers = [];
let _baseColor_extraInitializers = [];
let _baseColorTexture_decorators;
let _baseColorTexture_initializers = [];
let _baseColorTexture_extraInitializers = [];
let _baseDiffuseRoughness_decorators;
let _baseDiffuseRoughness_initializers = [];
let _baseDiffuseRoughness_extraInitializers = [];
let _baseDiffuseRoughnessTexture_decorators;
let _baseDiffuseRoughnessTexture_initializers = [];
let _baseDiffuseRoughnessTexture_extraInitializers = [];
let _baseMetalness_decorators;
let _baseMetalness_initializers = [];
let _baseMetalness_extraInitializers = [];
let _baseMetalnessTexture_decorators;
let _baseMetalnessTexture_initializers = [];
let _baseMetalnessTexture_extraInitializers = [];
let _specularWeight_decorators;
let _specularWeight_initializers = [];
let _specularWeight_extraInitializers = [];
let _specularWeightTexture_decorators;
let _specularWeightTexture_initializers = [];
let _specularWeightTexture_extraInitializers = [];
let _specularColor_decorators;
let _specularColor_initializers = [];
let _specularColor_extraInitializers = [];
let _specularColorTexture_decorators;
let _specularColorTexture_initializers = [];
let _specularColorTexture_extraInitializers = [];
let _specularRoughness_decorators;
let _specularRoughness_initializers = [];
let _specularRoughness_extraInitializers = [];
let _specularRoughnessTexture_decorators;
let _specularRoughnessTexture_initializers = [];
let _specularRoughnessTexture_extraInitializers = [];
let _specularRoughnessAnisotropy_decorators;
let _specularRoughnessAnisotropy_initializers = [];
let _specularRoughnessAnisotropy_extraInitializers = [];
let _specularRoughnessAnisotropyTexture_decorators;
let _specularRoughnessAnisotropyTexture_initializers = [];
let _specularRoughnessAnisotropyTexture_extraInitializers = [];
let _specularIor_decorators;
let _specularIor_initializers = [];
let _specularIor_extraInitializers = [];
let _transmissionWeight_decorators;
let _transmissionWeight_initializers = [];
let _transmissionWeight_extraInitializers = [];
let _transmissionWeightTexture_decorators;
let _transmissionWeightTexture_initializers = [];
let _transmissionWeightTexture_extraInitializers = [];
let _transmissionColor_decorators;
let _transmissionColor_initializers = [];
let _transmissionColor_extraInitializers = [];
let _transmissionColorTexture_decorators;
let _transmissionColorTexture_initializers = [];
let _transmissionColorTexture_extraInitializers = [];
let _transmissionDepth_decorators;
let _transmissionDepth_initializers = [];
let _transmissionDepth_extraInitializers = [];
let _transmissionDepthTexture_decorators;
let _transmissionDepthTexture_initializers = [];
let _transmissionDepthTexture_extraInitializers = [];
let _transmissionScatter_decorators;
let _transmissionScatter_initializers = [];
let _transmissionScatter_extraInitializers = [];
let _transmissionScatterTexture_decorators;
let _transmissionScatterTexture_initializers = [];
let _transmissionScatterTexture_extraInitializers = [];
let _transmissionScatterAnisotropy_decorators;
let _transmissionScatterAnisotropy_initializers = [];
let _transmissionScatterAnisotropy_extraInitializers = [];
let _transmissionDispersionScale_decorators;
let _transmissionDispersionScale_initializers = [];
let _transmissionDispersionScale_extraInitializers = [];
let _transmissionDispersionScaleTexture_decorators;
let _transmissionDispersionScaleTexture_initializers = [];
let _transmissionDispersionScaleTexture_extraInitializers = [];
let _transmissionDispersionAbbeNumber_decorators;
let _transmissionDispersionAbbeNumber_initializers = [];
let _transmissionDispersionAbbeNumber_extraInitializers = [];
let _subsurfaceWeight_decorators;
let _subsurfaceWeight_initializers = [];
let _subsurfaceWeight_extraInitializers = [];
let _subsurfaceWeightTexture_decorators;
let _subsurfaceWeightTexture_initializers = [];
let _subsurfaceWeightTexture_extraInitializers = [];
let _subsurfaceColor_decorators;
let _subsurfaceColor_initializers = [];
let _subsurfaceColor_extraInitializers = [];
let _subsurfaceColorTexture_decorators;
let _subsurfaceColorTexture_initializers = [];
let _subsurfaceColorTexture_extraInitializers = [];
let _subsurfaceRadius_decorators;
let _subsurfaceRadius_initializers = [];
let _subsurfaceRadius_extraInitializers = [];
let _subsurfaceRadiusScale_decorators;
let _subsurfaceRadiusScale_initializers = [];
let _subsurfaceRadiusScale_extraInitializers = [];
let _subsurfaceRadiusScaleTexture_decorators;
let _subsurfaceRadiusScaleTexture_initializers = [];
let _subsurfaceRadiusScaleTexture_extraInitializers = [];
let _subsurfaceScatterAnisotropy_decorators;
let _subsurfaceScatterAnisotropy_initializers = [];
let _subsurfaceScatterAnisotropy_extraInitializers = [];
let _coatWeight_decorators;
let _coatWeight_initializers = [];
let _coatWeight_extraInitializers = [];
let _coatWeightTexture_decorators;
let _coatWeightTexture_initializers = [];
let _coatWeightTexture_extraInitializers = [];
let _coatColor_decorators;
let _coatColor_initializers = [];
let _coatColor_extraInitializers = [];
let _coatColorTexture_decorators;
let _coatColorTexture_initializers = [];
let _coatColorTexture_extraInitializers = [];
let _coatRoughness_decorators;
let _coatRoughness_initializers = [];
let _coatRoughness_extraInitializers = [];
let _coatRoughnessTexture_decorators;
let _coatRoughnessTexture_initializers = [];
let _coatRoughnessTexture_extraInitializers = [];
let _coatRoughnessAnisotropy_decorators;
let _coatRoughnessAnisotropy_initializers = [];
let _coatRoughnessAnisotropy_extraInitializers = [];
let _coatRoughnessAnisotropyTexture_decorators;
let _coatRoughnessAnisotropyTexture_initializers = [];
let _coatRoughnessAnisotropyTexture_extraInitializers = [];
let _coatIor_decorators;
let _coatIor_initializers = [];
let _coatIor_extraInitializers = [];
let _coatDarkening_decorators;
let _coatDarkening_initializers = [];
let _coatDarkening_extraInitializers = [];
let _coatDarkeningTexture_decorators;
let _coatDarkeningTexture_initializers = [];
let _coatDarkeningTexture_extraInitializers = [];
let _fuzzWeight_decorators;
let _fuzzWeight_initializers = [];
let _fuzzWeight_extraInitializers = [];
let _fuzzWeightTexture_decorators;
let _fuzzWeightTexture_initializers = [];
let _fuzzWeightTexture_extraInitializers = [];
let _fuzzColor_decorators;
let _fuzzColor_initializers = [];
let _fuzzColor_extraInitializers = [];
let _fuzzColorTexture_decorators;
let _fuzzColorTexture_initializers = [];
let _fuzzColorTexture_extraInitializers = [];
let _fuzzRoughness_decorators;
let _fuzzRoughness_initializers = [];
let _fuzzRoughness_extraInitializers = [];
let _fuzzRoughnessTexture_decorators;
let _fuzzRoughnessTexture_initializers = [];
let _fuzzRoughnessTexture_extraInitializers = [];
let _geometryThinWalled_decorators;
let _geometryThinWalled_initializers = [];
let _geometryThinWalled_extraInitializers = [];
let _geometryNormalTexture_decorators;
let _geometryNormalTexture_initializers = [];
let _geometryNormalTexture_extraInitializers = [];
let _geometryTangent_decorators;
let _geometryTangent_initializers = [];
let _geometryTangent_extraInitializers = [];
let _geometryTangentTexture_decorators;
let _geometryTangentTexture_initializers = [];
let _geometryTangentTexture_extraInitializers = [];
let _geometryCoatNormalTexture_decorators;
let _geometryCoatNormalTexture_initializers = [];
let _geometryCoatNormalTexture_extraInitializers = [];
let _geometryCoatTangent_decorators;
let _geometryCoatTangent_initializers = [];
let _geometryCoatTangent_extraInitializers = [];
let _geometryCoatTangentTexture_decorators;
let _geometryCoatTangentTexture_initializers = [];
let _geometryCoatTangentTexture_extraInitializers = [];
let _geometryOpacity_decorators;
let _geometryOpacity_initializers = [];
let _geometryOpacity_extraInitializers = [];
let _geometryOpacityTexture_decorators;
let _geometryOpacityTexture_initializers = [];
let _geometryOpacityTexture_extraInitializers = [];
let _geometryThickness_decorators;
let _geometryThickness_initializers = [];
let _geometryThickness_extraInitializers = [];
let _geometryThicknessTexture_decorators;
let _geometryThicknessTexture_initializers = [];
let _geometryThicknessTexture_extraInitializers = [];
let _emissionLuminance_decorators;
let _emissionLuminance_initializers = [];
let _emissionLuminance_extraInitializers = [];
let _emissionColor_decorators;
let _emissionColor_initializers = [];
let _emissionColor_extraInitializers = [];
let _emissionColorTexture_decorators;
let _emissionColorTexture_initializers = [];
let _emissionColorTexture_extraInitializers = [];
let _thinFilmWeight_decorators;
let _thinFilmWeight_initializers = [];
let _thinFilmWeight_extraInitializers = [];
let _thinFilmWeightTexture_decorators;
let _thinFilmWeightTexture_initializers = [];
let _thinFilmWeightTexture_extraInitializers = [];
let _thinFilmThickness_decorators;
let _thinFilmThickness_initializers = [];
let _thinFilmThickness_extraInitializers = [];
let _thinFilmThicknessMin_decorators;
let _thinFilmThicknessMin_initializers = [];
let _thinFilmThicknessMin_extraInitializers = [];
let _thinFilmThicknessTexture_decorators;
let _thinFilmThicknessTexture_initializers = [];
let _thinFilmThicknessTexture_extraInitializers = [];
let _thinFilmIor_decorators;
let _thinFilmIor_initializers = [];
let _thinFilmIor_extraInitializers = [];
let _ambientOcclusionTexture_decorators;
let _ambientOcclusionTexture_initializers = [];
let _ambientOcclusionTexture_extraInitializers = [];
let _directIntensity_decorators;
let _directIntensity_initializers = [];
let _directIntensity_extraInitializers = [];
let _environmentIntensity_decorators;
let _environmentIntensity_initializers = [];
let _environmentIntensity_extraInitializers = [];
let _useSpecularWeightFromTextureAlpha_decorators;
let _useSpecularWeightFromTextureAlpha_initializers = [];
let _useSpecularWeightFromTextureAlpha_extraInitializers = [];
let _forceAlphaTest_decorators;
let _forceAlphaTest_initializers = [];
let _forceAlphaTest_extraInitializers = [];
let _alphaCutOff_decorators;
let _alphaCutOff_initializers = [];
let _alphaCutOff_extraInitializers = [];
let _useAmbientOcclusionFromMetallicTextureRed_decorators;
let _useAmbientOcclusionFromMetallicTextureRed_initializers = [];
let _useAmbientOcclusionFromMetallicTextureRed_extraInitializers = [];
let _useAmbientInGrayScale_decorators;
let _useAmbientInGrayScale_initializers = [];
let _useAmbientInGrayScale_extraInitializers = [];
let _get_usePhysicalLightFalloff_decorators;
let _get_useGLTFLightFalloff_decorators;
let _useObjectSpaceNormalMap_decorators;
let _useObjectSpaceNormalMap_initializers = [];
let _useObjectSpaceNormalMap_extraInitializers = [];
let _useParallax_decorators;
let _useParallax_initializers = [];
let _useParallax_extraInitializers = [];
let _useParallaxOcclusion_decorators;
let _useParallaxOcclusion_initializers = [];
let _useParallaxOcclusion_extraInitializers = [];
let _parallaxScaleBias_decorators;
let _parallaxScaleBias_initializers = [];
let _parallaxScaleBias_extraInitializers = [];
let _disableLighting_decorators;
let _disableLighting_initializers = [];
let _disableLighting_extraInitializers = [];
let _forceIrradianceInFragment_decorators;
let _forceIrradianceInFragment_initializers = [];
let _forceIrradianceInFragment_extraInitializers = [];
let _maxSimultaneousLights_decorators;
let _maxSimultaneousLights_initializers = [];
let _maxSimultaneousLights_extraInitializers = [];
let _invertNormalMapX_decorators;
let _invertNormalMapX_initializers = [];
let _invertNormalMapX_extraInitializers = [];
let _invertNormalMapY_decorators;
let _invertNormalMapY_initializers = [];
let _invertNormalMapY_extraInitializers = [];
let _twoSidedLighting_decorators;
let _twoSidedLighting_initializers = [];
let _twoSidedLighting_extraInitializers = [];
let _useAlphaFresnel_decorators;
let _useAlphaFresnel_initializers = [];
let _useAlphaFresnel_extraInitializers = [];
let _useLinearAlphaFresnel_decorators;
let _useLinearAlphaFresnel_initializers = [];
let _useLinearAlphaFresnel_extraInitializers = [];
let _environmentBRDFTexture_decorators;
let _environmentBRDFTexture_initializers = [];
let _environmentBRDFTexture_extraInitializers = [];
let _forceNormalForward_decorators;
let _forceNormalForward_initializers = [];
let _forceNormalForward_extraInitializers = [];
let _enableSpecularAntiAliasing_decorators;
let _enableSpecularAntiAliasing_initializers = [];
let _enableSpecularAntiAliasing_extraInitializers = [];
let _useHorizonOcclusion_decorators;
let _useHorizonOcclusion_initializers = [];
let _useHorizonOcclusion_extraInitializers = [];
let _useRadianceOcclusion_decorators;
let _useRadianceOcclusion_initializers = [];
let _useRadianceOcclusion_extraInitializers = [];
let _unlit_decorators;
let _unlit_initializers = [];
let _unlit_extraInitializers = [];
let _applyDecalMapAfterDetailMap_decorators;
let _applyDecalMapAfterDetailMap_initializers = [];
let _applyDecalMapAfterDetailMap_extraInitializers = [];
let _debugMode_decorators;
let _debugMode_initializers = [];
let _debugMode_extraInitializers = [];
let _get_transparencyMode_decorators;
return _a = class OpenPBRMaterial extends _classSuper {
/**
* Base Weight is a multiplier on the diffuse and metal lobes.
* See OpenPBR's specs for base_weight
*/
get baseWeight() { return __classPrivateFieldGet(this, _OpenPBRMaterial_baseWeight_accessor_storage, "f"); }
set baseWeight(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_baseWeight_accessor_storage, value, "f"); }
/**
* Base Weight is a multiplier on the diffuse and metal lobes.
* See OpenPBR's specs for base_weight
*/
get baseWeightTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_baseWeightTexture_accessor_storage, "f"); }
set baseWeightTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_baseWeightTexture_accessor_storage, value, "f"); }
/**
* Color of the base diffuse lobe.
* See OpenPBR's specs for base_color
*/
get baseColor() { return __classPrivateFieldGet(this, _OpenPBRMaterial_baseColor_accessor_storage, "f"); }
set baseColor(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_baseColor_accessor_storage, value, "f"); }
/**
* Base Color Texture property.
* See OpenPBR's specs for base_color
*/
get baseColorTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_baseColorTexture_accessor_storage, "f"); }
set baseColorTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_baseColorTexture_accessor_storage, value, "f"); }
/**
* Roughness of the diffuse lobe.
* See OpenPBR's specs for base_diffuse_roughness
*/
get baseDiffuseRoughness() { return __classPrivateFieldGet(this, _OpenPBRMaterial_baseDiffuseRoughness_accessor_storage, "f"); }
set baseDiffuseRoughness(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_baseDiffuseRoughness_accessor_storage, value, "f"); }
/**
* Roughness texture of the diffuse lobe.
* See OpenPBR's specs for base_diffuse_roughness
*/
get baseDiffuseRoughnessTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_baseDiffuseRoughnessTexture_accessor_storage, "f"); }
set baseDiffuseRoughnessTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_baseDiffuseRoughnessTexture_accessor_storage, value, "f"); }
/**
* Metalness of the base lobe.
* See OpenPBR's specs for base_metalness
*/
get baseMetalness() { return __classPrivateFieldGet(this, _OpenPBRMaterial_baseMetalness_accessor_storage, "f"); }
set baseMetalness(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_baseMetalness_accessor_storage, value, "f"); }
/**
* Metalness texture.
* See OpenPBR's specs for base_metalness
*/
get baseMetalnessTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_baseMetalnessTexture_accessor_storage, "f"); }
set baseMetalnessTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_baseMetalnessTexture_accessor_storage, value, "f"); }
/**
* Weight of the specular lobe.
* See OpenPBR's specs for specular_weight
*/
get specularWeight() { return __classPrivateFieldGet(this, _OpenPBRMaterial_specularWeight_accessor_storage, "f"); }
set specularWeight(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_specularWeight_accessor_storage, value, "f"); }
/**
* Weight texture of the specular lobe.
* See OpenPBR's specs for specular_weight
*/
get specularWeightTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_specularWeightTexture_accessor_storage, "f"); }
set specularWeightTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_specularWeightTexture_accessor_storage, value, "f"); }
/**
* Color of the specular lobe.
* See OpenPBR's specs for specular_color
*/
get specularColor() { return __classPrivateFieldGet(this, _OpenPBRMaterial_specularColor_accessor_storage, "f"); }
set specularColor(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_specularColor_accessor_storage, value, "f"); }
/**
* Specular Color Texture property.
* See OpenPBR's specs for specular_color
*/
get specularColorTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_specularColorTexture_accessor_storage, "f"); }
set specularColorTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_specularColorTexture_accessor_storage, value, "f"); }
/**
* Roughness of the specular lobe.
* See OpenPBR's specs for specular_roughness
*/
get specularRoughness() { return __classPrivateFieldGet(this, _OpenPBRMaterial_specularRoughness_accessor_storage, "f"); }
set specularRoughness(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_specularRoughness_accessor_storage, value, "f"); }
/**
* Roughness texture of the specular lobe.
* See OpenPBR's specs for specular_roughness
*/
get specularRoughnessTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_specularRoughnessTexture_accessor_storage, "f"); }
set specularRoughnessTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_specularRoughnessTexture_accessor_storage, value, "f"); }
/**
* Anisotropic roughness of the specular lobe.
* See OpenPBR's specs for specular_roughness_anisotropy
*/
get specularRoughnessAnisotropy() { return __classPrivateFieldGet(this, _OpenPBRMaterial_specularRoughnessAnisotropy_accessor_storage, "f"); }
set specularRoughnessAnisotropy(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_specularRoughnessAnisotropy_accessor_storage, value, "f"); }
/**
* Anisotropic Roughness texture.
* See OpenPBR's specs for specular_roughness
*/
get specularRoughnessAnisotropyTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_specularRoughnessAnisotropyTexture_accessor_storage, "f"); }
set specularRoughnessAnisotropyTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_specularRoughnessAnisotropyTexture_accessor_storage, value, "f"); }
/**
* IOR of the specular lobe.
* See OpenPBR's specs for specular_ior
*/
get specularIor() { return __classPrivateFieldGet(this, _OpenPBRMaterial_specularIor_accessor_storage, "f"); }
set specularIor(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_specularIor_accessor_storage, value, "f"); }
/**
* Transmission weight of the surface.
* See OpenPBR's specs for transmission_weight
*/
get transmissionWeight() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionWeight_accessor_storage, "f"); }
set transmissionWeight(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionWeight_accessor_storage, value, "f"); }
/**
* Transmission weight texture.
* See OpenPBR's specs for transmission_weight
*/
get transmissionWeightTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionWeightTexture_accessor_storage, "f"); }
set transmissionWeightTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionWeightTexture_accessor_storage, value, "f"); }
/**
* Transmission color of the surface.
* See OpenPBR's specs for transmission_color
*/
get transmissionColor() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionColor_accessor_storage, "f"); }
set transmissionColor(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionColor_accessor_storage, value, "f"); }
/**
* Transmission color texture.
* See OpenPBR's specs for transmission_color
*/
get transmissionColorTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionColorTexture_accessor_storage, "f"); }
set transmissionColorTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionColorTexture_accessor_storage, value, "f"); }
/**
* Transmission depth of the volume
* See OpenPBR's specs for transmission_depth
*/
get transmissionDepth() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionDepth_accessor_storage, "f"); }
set transmissionDepth(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionDepth_accessor_storage, value, "f"); }
/**
* Transmission depth texture.
* See OpenPBR's specs for transmission_depth
*/
get transmissionDepthTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionDepthTexture_accessor_storage, "f"); }
set transmissionDepthTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionDepthTexture_accessor_storage, value, "f"); }
/**
* Transmission scatter of the surface.
* See OpenPBR's specs for transmission_scatter
*/
get transmissionScatter() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionScatter_accessor_storage, "f"); }
set transmissionScatter(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionScatter_accessor_storage, value, "f"); }
/**
* Transmission scatter texture.
* See OpenPBR's specs for transmission_scatter
*/
get transmissionScatterTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionScatterTexture_accessor_storage, "f"); }
set transmissionScatterTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionScatterTexture_accessor_storage, value, "f"); }
/**
* Transmission scatter anisotropy
* See OpenPBR's specs for transmission_scatter_anisotropy
*/
get transmissionScatterAnisotropy() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionScatterAnisotropy_accessor_storage, "f"); }
set transmissionScatterAnisotropy(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionScatterAnisotropy_accessor_storage, value, "f"); }
/**
* Transmission Dispersion Scale factor.
* See OpenPBR's specs for transmission_dispersion_scale
*/
get transmissionDispersionScale() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionDispersionScale_accessor_storage, "f"); }
set transmissionDispersionScale(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionDispersionScale_accessor_storage, value, "f"); }
/**
* Transmission Dispersion Scale texture.
* See OpenPBR's specs for transmission_dispersion_scale
*/
get transmissionDispersionScaleTexture() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionDispersionScaleTexture_accessor_storage, "f"); }
set transmissionDispersionScaleTexture(value) { __classPrivateFieldSet(this, _OpenPBRMaterial_transmissionDispersionScaleTexture_accessor_storage, value, "f"); }
/**
* Transmission Dispersion Abbe number.
* See OpenPBR's specs for transmission_dispersion_abbe_number
*/
get transmissionDispersionAbbeNumber() { return __classPrivateFieldGet(this, _OpenPBRMaterial_transmissionDispersionAbbeNumber_accessor_storage, "f"); }
set transmissionDispersionAbbeNumber(value) { __classPrivateFieldSet(this, _OpenP