<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/CustomMaterial/Specular-swift.struct/init(floatLiteral:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation14CustomMaterialV8SpecularV12floatLiteralAESf_tcfc"
  },
  "title" : "init(floatLiteral:)"
}
-->

# init(floatLiteral:)

Creates an object from a single value.

```
init(floatLiteral value: Float)
```

## Parameters

`value`

A value from `0.0` to `1.0` to use as the specular value
for the material.

## Discussion

RealityKit automatically draws *specular highlights* for physically
based materials using the values of various properties, primarily
[`roughness`](/documentation/RealityKit/PhysicallyBasedMaterial/roughness-swift.property) and
[`metallic`](/documentation/RealityKit/PhysicallyBasedMaterial/metallic-swift.property). Specular
highlights are bright spots of reflected light that appear on shiny
objects.

![An illustration showing a sphere and a cube with rounded corners.](images/com.apple.RealityKit/CustomMaterial-Specular-swift-struct-init(floatLiteral:)-1@2x.png)

While many real-world objects can be accurately and realistically
simulated with just the core physically based rendering (PBR)
properties, you can create additional realistic effects by
augmenting the specular highlights.

This initializer creates a
[`PhysicallyBasedMaterial.Specular`](/documentation/RealityKit/PhysicallyBasedMaterial/Specular-swift.struct) object from a
single value that applies to the entire material. The specular
[`scale`](/documentation/RealityKit/CustomMaterial/Specular-swift.struct/scale) value is available to
the material’s surface shader, but RealityKit doesn’t create
additional specular highlights unless the surface shader function
calls `params.surface().set_specular()`.

The following Metal code demonstrates using the specular `scale`
value in a surface shader function:

```other
    // Retrieve the opacity scale from the CustomMaterial and assign it.
    float specularScale = params.material_constants().specular_scale();
    params.surface().set_specular(specular);
```

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)