ARKitMaterial class

An ARKitMaterial determines how a geometry is rendered. It encapsulates the colors and textures that define the appearance of 3d geometries.

Annotations
  • @JsonSerializable()

Constructors

ARKitMaterial({ARKitMaterialProperty? diffuse, ARKitMaterialProperty? ambient, ARKitMaterialProperty? specular, ARKitMaterialProperty? emission, ARKitMaterialProperty? transparent, ARKitMaterialProperty? reflective, ARKitMaterialProperty? multiply, ARKitMaterialProperty? normal, ARKitMaterialProperty? displacement, ARKitMaterialProperty? ambientOcclusion, ARKitMaterialProperty? selfIllumination, ARKitMaterialProperty? metalness, ARKitMaterialProperty? roughness, double? shininess = 1.0, double? transparency = 1.0, ARKitLightingModel? lightingModelName = ARKitLightingModel.blinn, ARKitFillMode? fillMode = ARKitFillMode.fill, ARKitCullMode? cullMode = ARKitCullMode.back, ARKitTransparencyMode? transparencyMode = ARKitTransparencyMode.aOne, bool? locksAmbientWithDiffuse = true, bool? writesToDepthBuffer = true, ARKitColorMask? colorBufferWriteMask = ARKitColorMask.all, bool? doubleSided = false, ARKitBlendMode? blendMode = ARKitBlendMode.alpha})

Properties

ambient ARKitMaterialProperty?
Specifies the receiver's ambient property. The ambient property specifies the amount of ambient light to reflect. This property has no visual impact on scenes that have no ambient light. Setting the ambient has no effect if locksAmbientWithDiffuse is set to YES.
final
ambientOcclusion ARKitMaterialProperty?
The ambientOcclusion property specifies the ambient occlusion of the surface. The ambient occlusion is multiplied with the ambient light, then the result is added to the lighting contribution. This property has no visual impact on scenes that have no ambient light. When an ambient occlusion map is set, the ambient property is ignored.
final
blendMode ARKitBlendMode?
Specifies the receiver's blend mode. Defaults to ARKitBlendMode.alpha.
final
colorBufferWriteMask ARKitColorMask?
Determines whether the receiver writes to the color buffer when rendered. Defaults to ARKitColorMask.all.
final
cullMode ARKitCullMode?
Determines the culling mode of the receiver. Defaults to ARKitCullMode.back;
final
diffuse ARKitMaterialProperty?
Specifies the receiver's diffuse property. The diffuse property specifies the amount of light diffusely reflected from the surface. The diffuse light is reflected equally in all directions and is therefore independent of the point of view.
final
displacement ARKitMaterialProperty?
The displacement property specifies how vertex are translated in tangent space. Pass a grayscale image for a simple 'elevation' or rgb image for a vector displacement.
final
doubleSided bool?
Determines whether the receiver is double sided. Defaults to false.
final
emission ARKitMaterialProperty?
The emission property specifies the amount of light the material emits. This emission does not light up other surfaces in the scene.
final
fillMode ARKitFillMode?
Determines of to how to rasterize the receiver's primitives. Defaults to ARKitFillMode.fill.
final
hashCode int
The hash code for this object.
no setterinherited
lightingModelName ARKitLightingModel?
Determines the receiver's lighting model. Defaults to ARKitLightingModel.blinn.
final
locksAmbientWithDiffuse bool?
Makes the ambient property automatically match the diffuse property. Defaults to true.
final
metalness ARKitMaterialProperty?
The metalness property specifies how metallic the material's surface appears. Lower values (darker colors) cause the material to appear more like a dielectric surface. Higher values (brighter colors) cause the surface to appear more metallic. This property is only used when 'lightingModelName' is 'SCNLightingModelPhysicallyBased'.
final
multiply ARKitMaterialProperty?
The multiply property specifies a color or an image used to multiply the output fragments with. The computed fragments are multiplied with the multiply value to produce the final fragments. This property may be used for shadow maps, to fade out or tint 3d objects.
final
normal ARKitMaterialProperty?
The normal property specifies the surface orientation. When an image is set on the normal property the material is automatically lit per pixel. Setting a color has no effect.
final
reflective ARKitMaterialProperty?
The reflective property specifies the reflectivity of the surface. The surface will not actually reflect other objects in the scene. This property may be used as a sphere mapping to reflect a precomputed environment.
final
roughness ARKitMaterialProperty?
The roughness property specifies the apparent smoothness of the surface. Lower values (darker colors) cause the material to appear shiny, with well-defined specular highlights. Higher values (brighter colors) cause specular highlights to spread out and the diffuse property of the material to become more retroreflective. This property is only used when 'lightingModelName' is 'SCNLightingModelPhysicallyBased'.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selfIllumination ARKitMaterialProperty?
The selfIllumination property specifies a texture or a color that is added to the lighting contribution of the surface. When a selfIllumination is set, the emission property is ignored.
final
shininess double?
Specifies the receiver's shininess value. Defaults to 1.0.
final
specular ARKitMaterialProperty?
Specifies the receiver's specular property. The specular property specifies the amount of light to reflect in a mirror-like manner. The specular intensity increases when the point of view lines up with the direction of the reflected light.
final
transparency double?
Specifies the receiver's transparency value. Defaults to 1.0. The color of the transparent property is multiplied by this property. The result is then used to produce the final transparency according to the rule defined by the transparencyMode property.
final
transparencyMode ARKitTransparencyMode?
Determines the transparency mode of the receiver. Defaults to ARKitTransparencyMode.aOne.
final
transparent ARKitMaterialProperty?
The transparent property specifies the transparent areas of the material.
final
writesToDepthBuffer bool?
Determines whether the receiver writes to the depth buffer when rendered. Defaults to true.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Map<String, dynamic>
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

fromJson(Map json) ARKitMaterial