Skip to main content

Interface: MaterialBasic<MT, MMT>

Defines the fundamental appearance properties of a material.

The basic material parameters control the primary visual characteristics like color, reflectivity, smoothness, and transparency. These properties define the material's core appearance before specialized effects are added.

Business value:

  • Establishes the foundational appearance of every material
  • Controls essential visual properties like color, shininess, and transparency
  • Forms the base layer for more complex material effects
  • Dictates how materials respond to light in the virtual environment

Type Parameters​

MT​

MT = StaticMaterialTexture

MMT​

MMT = StaticMaterialMetallicTexture

Properties​

albedoColor​

albedoColor: Nullable<(string | number)[]>

Base color of the material in RGB format. This is the fundamental color visible under direct light.


albedoColorFromBlock​

albedoColorFromBlock: boolean

When true, the color is set from a specific configuration block.


albedoColorSourceBlock​

albedoColorSourceBlock: string

The ID of the block that provides the albedo color.


albedoTexture​

albedoTexture: Partial<MT>

Texture that provides the base color pattern.


allowShaderHotSwapping​

allowShaderHotSwapping: boolean

When true, allows material shader updates at runtime.


alpha​

alpha: string

Transparency level of the material (0=opaque, 1=transparent).


alphaCutOff​

alphaCutOff: string

Threshold for alpha-tested transparency.


alphaMode​

alphaMode: string

Method used for transparency calculations.


ambientColor​

ambientColor: string[]

Color visible in ambient/indirect lighting in RGB format.


ambientTexture​

ambientTexture: Partial<MT>

Texture that provides ambient lighting response.


ambientTextureImpactOnAnalyticalLights​

ambientTextureImpactOnAnalyticalLights: string

Controls how ambient texture affects analytical lights.


ambientTextureStrength​

ambientTextureStrength: string

Overall strength of the ambient texture effect.


backFaceCulling​

backFaceCulling: boolean

When true, back-facing polygons are not rendered.


cameraToneMappingEnabled​

cameraToneMappingEnabled: boolean

When true, applies camera tone mapping to this material.


directIntensity​

directIntensity: string

Response intensity to direct lighting.


disableLighting​

disableLighting: boolean

When true, material ignores scene lighting.


enableSpecularAntiAliasing​

enableSpecularAntiAliasing: boolean

When true, enables higher quality anti-aliasing for specular highlights.


environmentIntensity​

environmentIntensity: string

Response intensity to environmental lighting.


forceIrradianceInFragment​

forceIrradianceInFragment: boolean

When true, forces irradiance calculations in fragment shader.


indexOfRefraction​

indexOfRefraction: string

Material's index of refraction for light bending calculations.


lightmapTexture​

lightmapTexture: Partial<MT>


linkRefractionWithTransparency​

linkRefractionWithTransparency: boolean

When true, links transparency with refraction intensity.


metallic​

metallic: string

Metallic property intensity (0=dielectric, 1=metal).


metallicTexture​

metallicTexture: Partial<MMT>

Texture that controls metallic properties.


microSurface​

microSurface: string

Surface smoothness factor (inverse of roughness).


microSurfaceTexture​

microSurfaceTexture: Partial<MT>

Texture that controls surface smoothness.


needDepthPrePass​

needDepthPrePass: boolean

When true, renders a depth pre-pass for complex materials.


opacityTexture​

opacityTexture: Partial<MT>

Texture that controls transparency patterns.


realtimeFiltering​

realtimeFiltering: boolean

When true, enables real-time texture filtering.


realtimeFilteringQuality​

realtimeFilteringQuality: string

Quality level for real-time texture filtering.


reflectionColor​

reflectionColor: string[]

Color of reflections in RGB format.


reflectionTexture​

reflectionTexture: Partial<MT>

Texture that provides environmental reflections.


reflectivityColor​

reflectivityColor: string[]

Color that tints reflections in RGB format.


reflectivityTexture​

reflectivityTexture: Partial<MT>

Texture that controls reflection intensity.


refractionTexture​

refractionTexture: Partial<MT>

Texture that controls light refraction.


roughness​

roughness: string

Surface roughness factor (inverse of smoothness).


roughnessTexture​

roughnessTexture: Partial<MMT>

Texture that controls surface roughness.


separateCullingPass​

separateCullingPass: boolean

When true, renders a separate pass for back-face culling.


specularIntensity​

specularIntensity: string

Intensity of specular highlights.


transparencyMode​

transparencyMode: Nullable<string>

Method used for transparency blending.


twoSidedLighting​

twoSidedLighting: boolean

When true, enables lighting on both sides of surfaces.


unlit​

unlit: boolean

When true, material does not respond to lighting.


useAlphaFresnel​

useAlphaFresnel: boolean

When true, uses Fresnel effect for alpha blending.


useAlphaFromAlbedoTexture​

useAlphaFromAlbedoTexture: boolean

When true, uses albedo texture's alpha channel for transparency.


useAmbientInGrayScale​

useAmbientInGrayScale: boolean

When true, converts ambient texture to grayscale before using.


useAutoMicroSurfaceFromReflectivityMap​

useAutoMicroSurfaceFromReflectivityMap: boolean

When true, automatically calculates microsurface from reflectivity map.


useHorizonOcclusion​

useHorizonOcclusion: boolean

When true, enables horizon-based occlusion for improved reflections.


useLightmapAsShadowmap​

useLightmapAsShadowmap: boolean

When true, treats lightmap as shadowmap.


useLinearAlphaFresnel​

useLinearAlphaFresnel: boolean

When true, applies linear interpolation to alpha Fresnel.


useLogarithmicDepth​

useLogarithmicDepth: boolean

When true, uses logarithmic depth buffer for improved precision.


useMicroSurfaceFromReflectivityMapAlpha​

useMicroSurfaceFromReflectivityMapAlpha: boolean

When true, uses alpha channel of reflectivity map for microsurface.


useObjectSpaceNormalMap​

useObjectSpaceNormalMap: boolean

When true, uses object space normals for normal mapping.


useRadianceOcclusion​

useRadianceOcclusion: boolean

When true, applies ambient occlusion to radiosity calculations.


useRadianceOverAlpha​

useRadianceOverAlpha: boolean

When true, radiosity calculations take priority over alpha.


useSpecularOverAlpha​

useSpecularOverAlpha: boolean

When true, specular highlights take priority over alpha.