-
public class MaterialBuilder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public enumMaterialBuilder.Shadingpublic enumMaterialBuilder.Interpolationpublic enumMaterialBuilder.UniformTypepublic enumMaterialBuilder.SamplerTypepublic enumMaterialBuilder.SamplerFormatpublic enumMaterialBuilder.ParameterPrecisionpublic enumMaterialBuilder.Variablepublic enumMaterialBuilder.VertexAttributepublic enumMaterialBuilder.BlendingModepublic enumMaterialBuilder.VertexDomainpublic enumMaterialBuilder.CullingModepublic enumMaterialBuilder.TransparencyModepublic enumMaterialBuilder.MaterialDomainpublic enumMaterialBuilder.SpecularAmbientOcclusionpublic enumMaterialBuilder.RefractionModepublic enumMaterialBuilder.RefractionTypepublic enumMaterialBuilder.Platformpublic enumMaterialBuilder.TargetApipublic enumMaterialBuilder.Optimization
-
Constructor Summary
Constructors Constructor Description MaterialBuilder()
-
Method Summary
-
-
Method Detail
-
init
static void init()
-
shutdown
static void shutdown()
-
name
@NonNull() MaterialBuilder name(@NonNull() String name)
-
materialDomain
@NonNull() MaterialBuilder materialDomain(MaterialBuilder.MaterialDomain domain)
-
shading
@NonNull() MaterialBuilder shading(@NonNull() MaterialBuilder.Shading shading)
-
interpolation
@NonNull() MaterialBuilder interpolation(@NonNull() MaterialBuilder.Interpolation interpolation)
-
uniformParameter
@NonNull() MaterialBuilder uniformParameter(@NonNull() MaterialBuilder.UniformType type, String name)
-
uniformParameter
@NonNull() MaterialBuilder uniformParameter(@NonNull() MaterialBuilder.UniformType type, MaterialBuilder.ParameterPrecision precision, String name)
-
uniformParameterArray
@NonNull() MaterialBuilder uniformParameterArray(@NonNull() MaterialBuilder.UniformType type, int size, String name)
-
uniformParameterArray
@NonNull() MaterialBuilder uniformParameterArray(@NonNull() MaterialBuilder.UniformType type, int size, MaterialBuilder.ParameterPrecision precision, String name)
-
samplerParameter
@NonNull() MaterialBuilder samplerParameter(@NonNull() MaterialBuilder.SamplerType type, MaterialBuilder.SamplerFormat format, MaterialBuilder.ParameterPrecision precision, String name)
-
variable
@NonNull() MaterialBuilder variable(@NonNull() MaterialBuilder.Variable variable, String name)
-
require
@NonNull() MaterialBuilder require(@NonNull() MaterialBuilder.VertexAttribute attribute)
-
material
@NonNull() MaterialBuilder material(@NonNull() String code)
-
materialVertex
@NonNull() MaterialBuilder materialVertex(@NonNull() String code)
-
blending
@NonNull() MaterialBuilder blending(@NonNull() MaterialBuilder.BlendingMode mode)
-
postLightingBlending
@NonNull() MaterialBuilder postLightingBlending(@NonNull() MaterialBuilder.BlendingMode mode)
-
vertexDomain
@NonNull() MaterialBuilder vertexDomain(@NonNull() MaterialBuilder.VertexDomain vertexDomain)
-
culling
@NonNull() MaterialBuilder culling(@NonNull() MaterialBuilder.CullingMode mode)
-
colorWrite
@NonNull() MaterialBuilder colorWrite(boolean enable)
-
depthWrite
@NonNull() MaterialBuilder depthWrite(boolean enable)
-
depthCulling
@NonNull() MaterialBuilder depthCulling(boolean enable)
-
doubleSided
@NonNull() MaterialBuilder doubleSided(boolean doubleSided)
-
maskThreshold
@NonNull() MaterialBuilder maskThreshold(float threshold)
-
alphaToCoverage
@NonNull() MaterialBuilder alphaToCoverage(boolean enable)
-
shadowMultiplier
@NonNull() MaterialBuilder shadowMultiplier(boolean shadowMultiplier)
-
transparentShadow
@NonNull() MaterialBuilder transparentShadow(boolean transparentShadow)
-
specularAntiAliasing
@NonNull() MaterialBuilder specularAntiAliasing(boolean specularAntiAliasing)
-
specularAntiAliasingVariance
@NonNull() MaterialBuilder specularAntiAliasingVariance(float variance)
-
specularAntiAliasingThreshold
@NonNull() MaterialBuilder specularAntiAliasingThreshold(float threshold)
-
refractionMode
@NonNull() MaterialBuilder refractionMode(MaterialBuilder.RefractionMode mode)
-
refractionType
@NonNull() MaterialBuilder refractionType(MaterialBuilder.RefractionType type)
-
clearCoatIorChange
@NonNull() MaterialBuilder clearCoatIorChange(boolean clearCoatIorChange)
-
flipUV
@NonNull() MaterialBuilder flipUV(boolean flipUV)
-
customSurfaceShading
@NonNull() MaterialBuilder customSurfaceShading(boolean customSurfaceShading)
-
multiBounceAmbientOcclusion
@NonNull() MaterialBuilder multiBounceAmbientOcclusion(boolean multiBounceAO)
-
specularAmbientOcclusion
@NonNull() MaterialBuilder specularAmbientOcclusion(MaterialBuilder.SpecularAmbientOcclusion specularAO)
-
transparencyMode
@NonNull() MaterialBuilder transparencyMode(@NonNull() MaterialBuilder.TransparencyMode mode)
-
platform
@NonNull() MaterialBuilder platform(@NonNull() MaterialBuilder.Platform platform)
-
targetApi
@NonNull() MaterialBuilder targetApi(@NonNull() MaterialBuilder.TargetApi api)
-
optimization
@NonNull() MaterialBuilder optimization(@NonNull() MaterialBuilder.Optimization optimization)
-
variantFilter
@NonNull() MaterialBuilder variantFilter(int variantFilter)
-
useLegacyMorphing
@NonNull() MaterialBuilder useLegacyMorphing()
Legacy morphing uses the data in the VertexBuffer.VertexAttribute slots(
MORPH_POSITION_0, etc) and is limited to 4 morph targets.
-
build
@NonNull() MaterialPackage build()
Validates, builds, and returns the compiled material. While this method neverreturns null, the returned MaterialPackage may be invalid. Call isValid before using it.Calling this method is equivalent to calling build and passing
nullas the job system provider.
-
build
@NonNull() MaterialPackage build(@Nullable() Object jobSystemProvider)
Validates, builds, and returns the compiled material. While this method neverreturns null, the returned MaterialPackage may be invalid. Call isValid before using it.You can pass a job system provider to this method, or null. When passing nullor an invalid job system provider, a temporary job system will be created whichis less efficient than reusing an existing job system.Currently the only valid type of job system provider is an
Engineinstance from the main Filament library (com.google.android.filament.Engine).If you are using Filament and the filamat library together you must pass anEngineas the job system provider, or invokeMaterialBuilderfrom a thread other than the thread used to invoke FilamentAPIs.- Parameters:
jobSystemProvider- AnEngineinstance or null
-
-
-
-