---
title: SCNShaderModifierEntryPoint
framework: scenekit
role: symbol
role_heading: Structure
path: scenekit/scnshadermodifierentrypoint
---

# SCNShaderModifierEntryPoint

Keys for the shaderModifiers dictionary, each corresponding to an entry point in SceneKit’s shader programs where you can attach a custom GPU shader code snippet.

## Declaration

```swift
struct SCNShaderModifierEntryPoint
```

## Discussion

Discussion For details on shader modifiers, see Use Shader Modifiers to Extend SceneKit Shading in the protocol overview. SceneKit inserts your shader modifiers into its shader program in the order shown here, so you can use the structures defined by earlier entry points in later entry points. For example, a snippet associated with the fragment entry point can read from the _surface structure defined by the surface entry point.

## Topics

### Type Properties

- [fragment](scenekit/scnshadermodifierentrypoint/fragment.md)
- [geometry](scenekit/scnshadermodifierentrypoint/geometry.md)
- [lightingModel](scenekit/scnshadermodifierentrypoint/lightingmodel.md)
- [surface](scenekit/scnshadermodifierentrypoint/surface.md)

### Initializers

- [init(rawValue:)](scenekit/scnshadermodifierentrypoint/init(rawvalue:).md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Constants

- [SCNBindingBlock](scenekit/scnbindingblock.md)
