Home Reference Source Repository

Typedef

Static Public Summary
public

Compositing operations for images.

public

Styles for rendering the endpoint of a stroked line.

public

Junction types for stroked lines.

public

Rules for determining which regions are interior to a path, used by the fillPath(using:) and clip(using:) methods.

public

DispatchTimeInterval represents a number of seconds, millisconds, microseconds, or nanoseconds.

public

The partitioning mode used by the tessellator to derive the number and spacing of segments used to subdivide a corresponding edge.

public

The type of the color-space mode constants listed in Color Space Models.

public

Constants affecting the animation curve of an action, used by the timingMode property.

public

Modes for antialiased rendering of the view’s scene, used by the SCNView property.

public

Modes that describe how SceneKit blends source colors rendered using a material with destination colors already in a rendering target, used by the blendMode property.

public

Options for how often SceneKit should execute the binding handler you provide with the handleBinding(ofBufferNamed:frequency:handler:) method.

public
public

Options for which edges of an extruded shape are chamfered, used by the chamferMode property.

public
public

The modes SceneKit uses to determine which polygons to render in a surface, used by the cullMode property.

public
public

Texture filtering modes, used by the the minificationFilter, magnificationFilter, and mipFilter properties.

public

The drawing primitive that connects vertices when rendering a geometry element, used by the primitiveType property to specify how SceneKit interprets the geometry element’s data.

public
public

The interpolation formulas for blending between target geometries.

public

Values that inform SceneKit’s rendering for movement-related effects, used by the movabilityHint property.

public

Options for the initial direction of each emitted particle, used by the birthDirection property.

public

Options for the initial location of each emitted particle, used by the birthLocation property.

public

Options for combining source and destination pixel colors when compositing particles during rendering, used by the blendMode property.

public

Significant events in the life spans of simulate particles, used by the handle(_:forProperties:handler:) method.

public

Options for animating each particle with a sequence of images, used by the imageSequenceAnimationMode property.

public

Options for the input value of the property controller’s animation, used by the inputMode property.

public

Stages of SceneKit’s particle simulation process into which you can insert modifier blocks, used by the addModifier(forProperties:at:modifier:) method.

public

Options for restricting the orientation of particles, used by the orientationMode property.

public

Options for the rendering order of particles, used by the sortingMode property.

public

Constants that determine how a physics body interacts with forces and other bodies, used by the type property and when creating a physics body.

public

Options for defining the region of space affected by a physics field, used by the scope property.

public

Options for when to load the reference node’s content, used by the loadingPolicy property.

public

Options for choosing the graphics technology for an SCNView object (or other SceneKit renderer) to use for drawing its contents.

public

Constants identifying phases of SceneKit’s scene loading process, used in a SCNSceneSourceStatusHandler block.

public
public

Options for SceneKit’s rendering of shadows cast by a light, used by the shadowMode property.

public
public

The modes SceneKit uses to calculate the opacity of pixels rendered with a material, used by the transparencyMode property.

public

Modes to apply to texture wrapping, used by the wrapT and wrapS properties.

public

The modes that an action can use to adjust the apparent timing of the action.

public

The modes that describe how the source and destination pixel colors are used to calculate the new destination color.

public

Options for aligning text horizontally.

public

Options for aligning text vertically.

public

The modes that determine how the scene’s area is mapped to the view that presents it.

public

Texture filtering modes to use when the texture is drawn in a size other than its native size.

Static Public

public CGBlendMode: Object source

Compositing operations for images.

Properties:

NameTypeAttributeDescription
normal number

Paints the source image samples over the background image samples.

multiply number

Multiplies the source image samples with the background image samples. This results in colors that are at least as dark as either of the two contributing sample colors.

screen number

Multiplies the inverse of the source image samples with the inverse of the background image samples. This results in colors that are at least as light as either of the two contributing sample colors.

overlay number
darken number
lighten number
colorDodge number

Brightens the background image samples to reflect the source image samples. Source image sample values that specify black do not produce a change.

colorBurn number

Darkens the background image samples to reflect the source image samples. Source image sample values that specify white do not produce a change.

softLight number
hardLight number
difference number
exclusion number

Produces an effect similar to that produced by difference, but with lower contrast. Source image sample values that are black don’t produce a change; white inverts the background color values.

hue number

Uses the luminance and saturation values of the background with the hue of the source image.

saturation number

Uses the luminance and hue values of the background with the saturation of the source image. Areas of the background that have no saturation (that is, pure gray areas) don’t produce a change.

color number

Uses the luminance values of the background with the hue and saturation values of the source image. This mode preserves the gray levels in the image. You can use this mode to color monochrome images or to tint color images.

luminosity number

Uses the hue and saturation of the background with the luminance of the source image. This mode creates an effect that is inverse to the effect created by color.

clear number

R = 0

copy number

R = S

sourceIn number

R = S*Da

sourceOut number

R = S*(1 - Da)

sourceAtop number

R = SDa + D(1 - Sa)

destinationOver number

R = S*(1 - Da) + D

destinationIn number

R = D*Sa

destinationOut number

R = D*(1 - Sa)

destinationAtop number

R = S(1 - Da) + DSa

xor number

R = S(1 - Da) + D(1 - Sa). This XOR mode is only nominally related to the classical bitmap XOR operation, which is not supported by Core Graphics

plusDarker number

R = MAX(0, 1 - ((1 - D) + (1 - S)))

plusLighter number

R = MIN(1, S + D)

See:

public CGLineCap: Object source

Styles for rendering the endpoint of a stroked line.

Properties:

NameTypeAttributeDescription
butt number

A line with a squared-off end. Core Graphics draws the line to extend only to the exact endpoint of the path. This is the default.

round number

A line with a rounded end. Core Graphics draws the line to extend beyond the endpoint of the path. The line ends with a semicircular arc with a radius of 1/2 the line’s width, centered on the endpoint.

square number

A line with a squared-off end. Core Graphics extends the line beyond the endpoint of the path for a distance equal to half the line width.

See:

public CGLineJoin: Object source

Junction types for stroked lines.

Properties:

NameTypeAttributeDescription
miter number
round number

A join with a rounded end. Core Graphics draws the line to extend beyond the endpoint of the path. The line ends with a semicircular arc with a radius of 1/2 the line’s width, centered on the endpoint.

bevel number

A join with a squared-off end. Core Graphics draws the line to extend beyond the endpoint of the path, for a distance of 1/2 the line’s width.

See:

public CGPathFillRule: Object source

Rules for determining which regions are interior to a path, used by the fillPath(using:) and clip(using:) methods.

Properties:

NameTypeAttributeDescription
evenOdd number

A rule that considers a region to be interior to a path based on the number of times it is enclosed by path elements.

winding number

A rule that considers a region to be interior to a path if the winding number for that region is nonzero.

See:

public DispatchTimeInterval: Object source

DispatchTimeInterval represents a number of seconds, millisconds, microseconds, or nanoseconds. You use DispatchTimeInterval values to specify the interval at which a DispatchSourceTimer fires or I/O handlers are invoked for a DispatchIO channel, as well as to increment and decrement DispatchTime values.

Properties:

NameTypeAttributeDescription
seconds function

A number of seconds.

milliseconds function

A number of milliseconds.

microseconds function

A number of microseconds.

nanoseconds function

A number of nanoseconds.

See:

public MTLTessellationPartitionMode: Object source

The partitioning mode used by the tessellator to derive the number and spacing of segments used to subdivide a corresponding edge.

Properties:

NameTypeAttributeDescription
pow2 number
integer number
fractionalOdd number
fractionalEven number

See:

public NSColorSpaceModel: Object source

The type of the color-space mode constants listed in Color Space Models.

Properties:

NameTypeAttributeDescription
CMYK number
LAB number
RGB number
deviceN number
gray number
indexed number
patterned number
unknown number

See:

public SCNActionTimingMode: Object source

Constants affecting the animation curve of an action, used by the timingMode property.

Properties:

NameTypeAttributeDescription
linear number

Linear pacing. The animation progresses evenly throughout its duration.

easeIn number

Ease-in pacing. The animation begins slowly, and then speeds up as it progresses.

easeOut number

Ease-out pacing. The animation begins quickly, and then slows as it completes.

easeInEaseOut number

Ease-in ease-out pacing. The animation begins slowly, accelerates through the middle of its duration, and then slows again before completing.

See:

public SCNAntialiasingMode: Object source

Modes for antialiased rendering of the view’s scene, used by the SCNView property.

Properties:

NameTypeAttributeDescription
none number

Disables antialiased rendering.

multisampling2X number

Enables multisample antialiasing, with two samples per screen pixel.

multisampling4X number

Enables multisample antialiasing, with four samples per screen pixel.

multisampling8X number

Enables multisample antialiasing, with eight samples per screen pixel.

multisampling16X number

Enables multisample antialiasing, with sixteen samples per screen pixel.

See:

public SCNBlendMode: Object source

Modes that describe how SceneKit blends source colors rendered using a material with destination colors already in a rendering target, used by the blendMode property.

Properties:

NameTypeAttributeDescription
alpha number

Blend by multiplying source and destination color values by their corresponding alpha values.

add number

Blend by adding the source color to the destination color.

subtract number

Blend by subtracting the source color from the destination color.

multiply number

Blend by multiplying the source color with the background color.

screen number

Blend by multiplying the inverse of the source color with the inverse of the destination color.

replace number

Blend by replacing the destination color with the source color, ignoring alpha.

See:

public SCNBufferFrequency: Object source

Options for how often SceneKit should execute the binding handler you provide with the handleBinding(ofBufferNamed:frequency:handler:) method.

Properties:

NameTypeAttributeDescription
perFrame number

Execute the binding handler once for each frame to be rendered using the shader.

perNode number

Execute the binding handler once for each frame, for each node to be rendered using the shader.

perShadable number

Execute the binding handler once for each frame, for each node, for each material or geometry to be rendered using the shader.

See:

public SCNCameraProjectionDirection: Object source

Properties:

NameTypeAttributeDescription
horizontal number
vertical number

See:

public SCNChamferMode: Object source

Options for which edges of an extruded shape are chamfered, used by the chamferMode property.

Properties:

NameTypeAttributeDescription
both number

Apply a chamfer to both front and back edges of the extruded shape.

front number

Apply a chamfer to only the front edge of the extruded shape.

back number

Apply a chamfer to only the back edge of the extruded shape.

See:

public SCNColorMask: Object source

Properties:

NameTypeAttributeDescription
red number
blue number
green number
alpha number
all number

See:

public SCNCullMode: Object source

The modes SceneKit uses to determine which polygons to render in a surface, used by the cullMode property.

Properties:

NameTypeAttributeDescription
back number
front number

See:

public SCNFillMode: Object source

Properties:

NameTypeAttributeDescription
fill Symbol
lines Symbol

See:

public SCNFilterMode: Object source

Texture filtering modes, used by the the minificationFilter, magnificationFilter, and mipFilter properties.

Properties:

NameTypeAttributeDescription
none number

No texture filtering is applied.

nearest number

Texture filtering returns the color from only one texel, whose location is nearest to the coordinates being sampled.

linear number

Texture filtering sample texels from the neighborhood of the coordinates being sampled and linearly interpolates their colors.

See:

public SCNGeometryPrimitiveType: Object source

The drawing primitive that connects vertices when rendering a geometry element, used by the primitiveType property to specify how SceneKit interprets the geometry element’s data.

Properties:

NameTypeAttributeDescription
triangles number

The geometry element’s data is a sequence of triangles, with each triangle described by three new vertices.

triangleStrip number

The geometry element’s data is a sequence of triangles, with each triangle described by one new vertex and two vertices from the previous triangle.

line number

The geometry element’s data is a sequence of line segments, with each line segment described by two new vertices.

point number

The geometry element’s data is a sequence of unconnected points.

polygon number

See:

public SCNHitTestOption: Object source

Properties:

NameTypeAttributeDescription
backFaceCulling string

An option to ignore faces not oriented toward the camera.

boundingBoxOnly string

An option to search for objects by bounding box only.

categoryBitMask string
clipToZRange string

An option to search for objects only within the depth range of the current point of view.

firstFoundOnly string

An option to return only the first object found.

ignoreChildNodes string

An option to ignore child nodes when searching.

ignoreHiddenNodes string

An option to ignore hidden nodes when searching.

rootNode string

The root of the node hierarchy to be searched.

sortResults string

An option to sort the results of a hit-test.

See:

public SCNMorpherCalculationMode: Object source

The interpolation formulas for blending between target geometries.

Properties:

NameTypeAttributeDescription
normalized number

Target weights must be in the range between 0.0 and 1.0, and the contribution of the base geometry to the morphed surface is related to the sum of target weights. This is the default mode.

additive number

Target weights may take on any value, and weighted contributions for each target are added to the base geometry,

See:

public SCNMovabilityHint: Object source

Values that inform SceneKit’s rendering for movement-related effects, used by the movabilityHint property.

Properties:

NameTypeAttributeDescription
fixed number

The node is not expected to move over time.

movable number

The node is expected to move over time.

See:

public SCNParticleBirthDirection: Object source

Options for the initial direction of each emitted particle, used by the birthDirection property.

Properties:

NameTypeAttributeDescription
constant number

The emitting direction is the same for all particles.

surfaceNormal number

The emitting direction for each particle is along the surface normal vector at the point where the particle is emitted.

random number

SceneKit randomizes the emitting direction for each particle.

See:

public SCNParticleBirthLocation: Object source

Options for the initial location of each emitted particle, used by the birthLocation property.

Properties:

NameTypeAttributeDescription
surface number

New particles can be created at any location on the surface of the emitter shape.

volume number

New particles can be created at any location within the volume of the emitter shape.

vertex number

New particles can be created at only at the locations of the vertices in the emitter shape.

See:

public SCNParticleBlendMode: Object source

Options for combining source and destination pixel colors when compositing particles during rendering, used by the blendMode property.

Properties:

NameTypeAttributeDescription
additive number

The source and destination colors are added together.

subtract number

The source color is subtracted from the destination color.

multiply number

The source color is multiplied by the destination color.

screen number

The source color is added to the destination color times the inverted source color.

alpha number

The source and destination colors are blended by multiplying the source alpha value.

replace number

The source color replaces the destination color.

See:

public SCNParticleEvent: Object source

Significant events in the life spans of simulate particles, used by the handle(_:forProperties:handler:) method.

Properties:

NameTypeAttributeDescription
birth number

Occurs when new particles spawn.

death number

Occurs when particles reach the end of their life span.

collision number

Occurs when particles collide with scene geometry.

See:

public SCNParticleImageSequenceAnimationMode: Object source

Options for animating each particle with a sequence of images, used by the imageSequenceAnimationMode property.

Properties:

NameTypeAttributeDescription
repeat number

The animation loops after displaying all of its images.

clamp number

The animation stops after displaying all of its images.

autoReverse number

After the animation displays all of its images, it plays again in reverse order.

See:

public SCNParticleInputMode: Object source

Options for the input value of the property controller’s animation, used by the inputMode property.

Properties:

NameTypeAttributeDescription
overLife number

The controller’s effect on a particle property is a function of the time since the particle’s birth.

overDistance number

The controller’s effect on a particle property is a function of the particle’s distance from the position of a specified node.

overOtherProperty number

The controller’s effect on a particle property is a function of another of the particle’s properties.

See:

public SCNParticleModifierStage: Object source

Stages of SceneKit’s particle simulation process into which you can insert modifier blocks, used by the addModifier(forProperties:at:modifier:) method.

Properties:

NameTypeAttributeDescription
preDynamics number

The stage before SceneKit simulates the motion of particles.

postDynamics number

The stage after SceneKit simulates the motion of particles.

preCollision number

The stage before SceneKit simulates the results of collisions between particles and scene geometry.

postCollision number

The stage after SceneKit simulates the results of collisions between particles and scene geometry.

See:

public SCNParticleOrientationMode: Object source

Options for restricting the orientation of particles, used by the orientationMode property.

Properties:

NameTypeAttributeDescription
billboardScreenAligned number

Each particle’s orientation is always fixed with respect to the point of view camera.

billboardViewAligned number

Each particle always faces the point of view camera (but may rotate about an axis parallel to the view direction).

free number

Particle orientations are not restricted; they may rotate freely in all axes.

billboardYAligned number

The y-axis direction of each particle is always fixed with respect to the point of view camera.

See:

public SCNParticleSortingMode: Object source

Options for the rendering order of particles, used by the sortingMode property.

Properties:

NameTypeAttributeDescription
none number

Particles are not sorted; they may be rendered in any order.

projectedDepth number

Particles farther from the point of view (as measured using projected depth) are rendered before closer particles.

distance number

Particles farther from the point of view (as measured using distance from the camera in scene space) are rendered before closer particles.

oldestFirst number

Particles emitted earlier are rendered before particles emitted more recently.

youngestFirst number

Particles emitted more recently are rendered before particles emitted earlier.

See:

public SCNPhysicsBodyType: Object source

Constants that determine how a physics body interacts with forces and other bodies, used by the type property and when creating a physics body.

Properties:

NameTypeAttributeDescription
static number

A physics body that is unaffected by forces or collisions and cannot move.

dynamic number

A physics body that can be affected by forces and collisions.

kinematic number

A physics body that is unaffected by forces or collisions but that can cause collisions affecting other bodies when moved.

See:

public SCNPhysicsFieldScope: Object source

Options for defining the region of space affected by a physics field, used by the scope property.

Properties:

NameTypeAttributeDescription
insideExtent number

The field’s effect applies only to objects within the region of space defined by its position and extent.

outsideExtent number

The field’s effect applies only to objects outside the region of space defined by its position and extent.

See:

public SCNReferenceLoadingPolicy: Object source

Options for when to load the reference node’s content, used by the loadingPolicy property.

Properties:

NameTypeAttributeDescription
immediate number

Load the node’s external content immediately when the reference node is unarchived.

onDemand number

Load the node’s external comment only when the load() method is called.

See:

public SCNRenderingAPI: Object source

Options for choosing the graphics technology for an SCNView object (or other SceneKit renderer) to use for drawing its contents. Used by the renderingAPI property and the preferredRenderingAPI option when initializing an SCNView object.

Properties:

NameTypeAttributeDescription
metal number

Use the Metal framework for SceneKit rendering.

openGLES2 number

Use the OpenGL ES 2.0 API for SceneKit rendering in iOS.

openGLLegacy number

Use the Legacy OpenGL API for SceneKit rendering in macOS.

openGLCore32 number

Use the OpenGL 3.2 Core Profile API for SceneKit rendering in macOS.

openGLCore41 number

Use the OpenGL 4.1 Core Profile API for SceneKit rendering in macOS.

webGL number

Use the OpenGL 4.1 Core Profile API for SceneKit rendering in macOS.

See:

public SCNSceneSourceStatus: Object source

Constants identifying phases of SceneKit’s scene loading process, used in a SCNSceneSourceStatusHandler block.

Properties:

NameTypeAttributeDescription
error number

An error occurred when SceneKit attempted to load the scene.

parsing number

SceneKit has begun deserializing the source file.

validating number

SceneKit has begun validating the scene file’s format.

processing number

SceneKit has begun generating scene graph objects from the scene file’s contents.

complete number

SceneKit has successfully finished loading the scene file’s contents.

See:

public SCNShaderModifierEntryPoint: Object source

Properties:

NameTypeAttributeDescription
fragment string

Use this entry point to change the color of a fragment after all other shading has been performed.

geometry string

Use this entry point to deform a geometry’s surface or alter its vertex attributes.

lightingModel string

Use this entry point to provide a custom lighting equation.

surface string

Use this entry point to modify the surface properties of a material before lighting is computed.

See:

public SCNShadowMode: Object source

Options for SceneKit’s rendering of shadows cast by a light, used by the shadowMode property.

Properties:

NameTypeAttributeDescription
forward number

SceneKit renders shadows during lighting computations.

deferred number

SceneKit renders shadows in a postprocessing pass.

modulated number

SceneKit renders shadows by projecting the light’s gobo image. The light does not illuminate the scene.

See:

public SCNTessellationSmoothingMode: Object source

Properties:

NameTypeAttributeDescription
none number
phong number
pnTriangles number

See:

public SCNTransparencyMode: Object source

The modes SceneKit uses to calculate the opacity of pixels rendered with a material, used by the transparencyMode property.

Properties:

NameTypeAttributeDescription
aOne number

SceneKit derives transparency information from the alpha channel of colors. The value 1.0 is opaque.

rgbZero number

SceneKit derives transparency information from the luminance of colors. The value 0.0 is opaque.

See:

public SCNWrapMode: Object source

Modes to apply to texture wrapping, used by the wrapT and wrapS properties.

Properties:

NameTypeAttributeDescription
clamp number

Texture coordinates are clamped to the range from 0.0 to 1.0, inclusive.

repeat number

Texture sampling uses only the fractional part of texture coordinates, passing through the range from 0.0 to (but not including) 1.0.

clampToBorder number

Texture sampling uses texture colors for coordinates in the range from 0.0 to 1.0 (inclusive) and the material property’s borderColor value otherwise.

mirror number

Texture sampling of texture coordinates outside range from 0.0 to 1.0 should behave as if the range reverses before repeating.

See:

public SKActionTimingMode: Object source

The modes that an action can use to adjust the apparent timing of the action.

Properties:

NameTypeAttributeDescription
linear number

Specifies linear pacing. Linear pacing causes an animation to occur evenly over its duration.

easeIn number

Specifies ease-in pacing. Ease-in pacing causes the animation to begin slowly and then speed up as it progresses.

easeOut number

Specifies ease-out pacing. Ease-out pacing causes the animation to begin quickly and then slow as it completes.

easeInEaseOut number

Specifies ease-in ease-out pacing. An ease-in ease-out animation begins slowly, accelerates through the middle of its duration, and then slows again before completing.

See:

public SKBlendMode: Object source

The modes that describe how the source and destination pixel colors are used to calculate the new destination color.

Properties:

NameTypeAttributeDescription
alpha number

The source and destination colors are blended by multiplying the source alpha value.

add number

The source and destination colors are added together.

subtract number

The source color is subtracted from the destination color.

multiply number

The source color is multiplied by the destination color.

multiplyX2 number

The source color is multiplied by the destination color and then doubled.

screen number

The source color is added to the destination color times the inverted source color.

replace number

The source color replaces the destination color.

See:

public SKLabelHorizontalAlignmentMode: Object source

Options for aligning text horizontally.

Properties:

NameTypeAttributeDescription
center number

Centers the text horizontally on the node’s origin.

left number

Positions the text so that the left side of the text is on the node’s origin.

right number

Positions the text so that the right side of the text is on the node’s origin.

See:

public SKLabelVerticalAlignmentMode: Object source

Options for aligning text vertically.

Properties:

NameTypeAttributeDescription
baseline number

Positions the text so that the font’s baseline lies on the node’s origin.

center number

Centers the text vertically on the node’s origin.

top number

Positions the text so that the top of the text is on the node’s origin.

bottom number

Positions the text so that the bottom of the text is on the node’s origin.

See:

public SKSceneScaleMode: Object source

The modes that determine how the scene’s area is mapped to the view that presents it.

Properties:

NameTypeAttributeDescription
fill number

Each axis of the scene is scaled independently so that each axis in the scene exactly maps to the length of that axis in the view.

aspectFill number

The scaling factor of each dimension is calculated and the larger of the two is chosen. Each axis of the scene is scaled by the same scaling factor. This guarantees that the entire area of the view is filled but may cause parts of the scene to be cropped.

aspectFit number

The scaling factor of each dimension is calculated and the smaller of the two is chosen. Each axis of the scene is scaled by the same scaling factor. This guarantees that the entire scene is visible but may require letterboxing in the view.

resizeFill number

The scene is not scaled to match the view. Instead, the scene is automatically resized so that its dimensions always match those of the view.

See:

public SKTextureFilteringMode: Object source

Texture filtering modes to use when the texture is drawn in a size other than its native size.

Properties:

NameTypeAttributeDescription
nearest number

Each pixel is drawn using the nearest point in the texture. This mode is faster, but the results are often pixelated.

linear number

Each pixel is drawn by using a linear filter of multiple texels in the texture. This mode produces higher quality results but may be slower.

See: