Scene Kit is a framework for 3D graphics, based on hierarchical scene-graphs.
The fundamental classes in Scene Kit are MonoTouch.SceneKit.SCNScene, which holds all content, and MonoTouch.CoreGraphics.SceneKit.SCNView, a MonoTouch.UIKit.UIView that renders an MonoTouch.SceneKit.SCNScene.
An MonoTouch.SceneKit.SCNScene has a MonoTouch.SceneKit.SCNScene.RootNode property of type MonoTouch.SceneKit.SCNNode. MonoTouch.SceneKit.SCNNode's have MonoTouch.SceneKit.SCNNode.ChildNodes and implement System.Collections.Generic.IEnumerable`1<class MonoTouch.SceneKit.SCNNode>. Properties of MonoTouch.SceneKit.SCNNode include MonoTouch.SceneKit.SCNNode.Camera, of type MonoTouch.SceneKit.SCNCamera, MonoTouch.SceneKit.SCNNode.Geometry, of type MonoTouch.SceneKit.SCNGeometry, and MonoTouch.SceneKit.SCNNode.Light, of type MonoTouch.SceneKit.SCNLight.
Additionally, every MonoTouch.SceneKit.SCNNode has a MonoTouch.SceneKit.SCNNode.Position property that defines a location in space relative to the MonoTouch.SceneKit.SCNNode's MonoTouch.SceneKit.SCNNode.ParentNode and MonoTouch.SceneKit.SCNNode.FirstMaterial and MonoTouch.SceneKit.SCNNode.Materials that create the MonoTouch.SceneKit.SCNNode's appearance.
The following example shows a minimal Scene Kit view:
C# Example
public MySceneView (RectangleF frame) : base(frame)
{
BackgroundColor = UIColor.Blue;
this.Scene = new SCNScene ();
var material = new SCNMaterial ();
material.Diffuse.Contents = UIImage.FromFile("textureX.png");
material.Specular.Contents = UIColor.Gray;
material.LocksAmbientWithDiffuse = true;
Scene.RootNode.Geometry = new SCNBox {
Width = 1,
Height = 1,
Length = 1,
ChamferRadius = 0.2f,
FirstMaterial = material
};
Scene.RootNode.Light = new SCNLight {
LightType = SCNLightType.Ambient,
Color = UIColor.Gray,
};
var camera = new SCNCamera ();
var cameraNode = new SCNNode () {
Camera = camera,
Position = new SCNVector3 (3, 3, 3),
Constraints = new SCNConstraint[] { SCNLookAtConstraint.Create(Scene.RootNode) }
};
Scene.RootNode.AddChildNode (cameraNode);
}

| Type | Reason |
|---|---|
| _SCNShaderModifiers | Documentation for this section has not yet been entered. |
| ISCNActionable | Interface representing the required methods (if any) of the protocol MonoTouch.SceneKit.SCNActionable. |
| ISCNAnimatable | Interface representing the required methods (if any) of the protocol MonoTouch.SceneKit.SCNAnimatable. |
| ISCNBoundingVolume | Interface representing the required methods (if any) of the protocol MonoTouch.SceneKit.SCNBoundingVolume. |
| ISCNNodeRendererDelegate | Interface representing the required methods (if any) of the protocol MonoTouch.SceneKit.SCNNodeRendererDelegate. |
| ISCNPhysicsContactDelegate | Interface representing the required methods (if any) of the protocol MonoTouch.SceneKit.SCNPhysicsContactDelegate. |
| ISCNProgramDelegate | Interface representing the required methods (if any) of the protocol MonoTouch.SceneKit.SCNProgramDelegate. |
| ISCNSceneRenderer | Interface representing the required methods (if any) of the protocol MonoTouch.SceneKit.SCNSceneRenderer. |
| ISCNSceneRendererDelegate | Interface representing the required methods (if any) of the protocol MonoTouch.SceneKit.SCNSceneRendererDelegate. |
| ISCNShadable | Interface representing the required methods (if any) of the protocol MonoTouch.SceneKit.SCNShadable. |
| ISCNTechniqueSupport | Interface representing the required methods (if any) of the protocol MonoTouch.SceneKit.SCNTechniqueSupport. |
| SCNAction | Performs actions on a MonoTouch.SceneKit.SCNNode, including changes to appearance, geometry, animations, or arbitrary functions. |
| SCNActionable | Allows actions to be applied. |
| SCNActionNodeWithElapsedTimeHandler | Completion handler used with MonoTouch.SceneKit.SCNAction.CustomAction. |
| SCNActionTimingMode | Enumerates rate curves for use with MonoTouch.SceneKit.SCNAction objects. |
| SCNAnimatable | Allows animations to be applied. |
| SCNAnimationEvent | Performs a function at a specific time during an animation. |
| SCNAnimationEventHandler | Completion handler for use with MonoTouch.SceneKit.SCNAnimationEvent.Create. |
| SCNAntialiasingMode | Enumerates values that control antialiasing behavior. |
| SCNBindingHandler | Completion handler used with MonoTouch.SceneKit.SCNShadable.HandleBinding. |
| SCNBoundingVolume | Functions that define a volume in 3D space. |
| SCNBox | An MonoTouch.SceneKit.SCNGeometry whose faces are all rectangles. |
| SCNCamera | Specifies a camera, with attributes such as field-of-view and depth-of-view. |
| SCNCapsule | An MonoTouch.SceneKit.SCNGeometry that is a cylinder with capped ends. |
| SCNChamferMode | Enumerates the ways a MonoTouch.SceneKit.SCNShape can be chamfered; on its front, back, or both sides. |
| SCNCone | An MonoTouch.SceneKit.SCNGeometry that is a circular frustum. Or, a party hat. |
| SCNConstraint | Automatically adjusts the transformation of a node. |
| SCNCullMode | Enumeration determining which faces of a surface MonoTouch.SceneKit.SCNMaterial are rendered. |
| SCNCylinder | An MonoTouch.SceneKit.SCNGeometry that is a right circular cylinder. |
| SCNFieldForceEvaluator | Delegate for the MonoTouch.SceneKit.SCNPhysicsField.CustomField method. |
| SCNFilterMode | Enumeration of texture filtering modes. |
| SCNFloor | An MonoTouch.SceneKit.SCNGeometry that is an infinite plane. |
| SCNGeometry | A 3D shape. |
| SCNGeometryElement | Combines information about vertices and a drawing primitive. Maps to a single drawing command sent to the GPU. |
| SCNGeometryPrimitiveType | Enumeration of 2D geometry primitives. |
| SCNGeometrySource | Provides vertex data that, in conjunction with SCNGeometryElements, define a 3D object. |
| SCNGeometrySourceSemantic | Enumerates vertex mode attributes. |
| SCNHitTest | Constants for use with the options argument in MonoTouch.SceneKit.SCNNode.HitTest. |
| SCNHitTestOptions | Configuration options for hit-testing in SCNNode and SCNSceneRenderer |
| SCNHitTestResult | Information about the SCNNode (if any) located at a specific point or along a ray. |
| SCNIKConstraint | An MonoTouch.SceneKit.SCNConstraint that applies inverse kinematics. |
| SCNJavaScript | Static class that contains a method to export JavaScript modules. |
| SCNLevelOfDetail | Controls alternate geometries rendered at thresholds in either world-space or screen-space. |
| SCNLight | A light source, used for all SCNLightTypes. |
| SCNLightingModel | Constants for use with the MonoTouch.SceneKit.SCHMaterial.LightingModel property, which defines the way lights and materials combine to produce a particular rendered color. |
| SCNLightType | Enumerates the types of MonoTouch.SceneKit.SCNLight. |
| SCNLookAtConstraint | An MonoTouch.SceneKit.SCNConstraint that orients a node to point towards another node. |
| SCNMaterial | Specifies the lighting and shading characteristics of the surface of an SCNGeometry. |
| SCNMaterialProperty | Configures the various properties (such as color and texture) of a MonoTouch.SceneKit.SCNMaterial. |
| SCNMatrix4 | A 4x4 matrix. |
| SCNMorpher | An animated transformation of an SCNGeometry into one or more target SCNGeometry objects. |
| SCNMorpherCalculationMode | Enumeration of valid interpolation formulae for MonoTouch.SceneKit.SCNMorpher.CalculationMode. |
| SCNNode | A node in the scene graph. |
| SCNNodePredicate | Delegate for use with MonoTouch.SceneKit.SCNNode.EnumerateChildNodes. |
| SCNNodeRendererDelegate | Interface defining delegate object functions for adding custom OpenGL drawing code. |
| SCNNodeRendererDelegate_Extensions | Extension methods to the MonoTouch.SceneKit.ISCNNodeRendererDelegate interface to support all the methods from the MonoTouch.SceneKit.SCNNodeRendererDelegate protocol. |
| SCNParticleBirthDirection | Enumerates the initial direction of particles emitted by a MonoTouch.SceneKit.SCNParticleSystem. |
| SCNParticleBirthLocation | Enumeration of the initial location of particles emitted by a MonoTouch.SceneKit.SCNParticleSystem. |
| SCNParticleBlendMode | Enumeration of the ways in which overlapping particles emitted by a MonoTouch.SceneKit.SCNParticleSystem will be rendered. |
| SCNParticleEvent | Enumeration of lifecycle events for particles emitted by a MonoTouch.SceneKit.SCNParticleSystem. Used with MonoTouch.SceneKit.SCNParticleSystem.HandleEvent. |
| SCNParticleEventHandler | Completion handler for use with MonoTouch.SceneKit.SCNParticleSystem.HandleEvent. |
| SCNParticleImageSequenceAnimationMode | Enumeration of playing modes for MonoTouch.SceneKit.SCNParticleSystem's whose particles are rendered as a sequence of images. |
| SCNParticleInputMode | Enumerates how a particle property is animated (over the lifetime of the particle, as the particle travels over a distance, or based on another property). Used with MonoTouch.SceneKit.SCNParticlePropertyController.InputMode. |
| SCNParticleModifierHandler | Delegate used as the handler in MonoTouch.SceneKit.SCNParticleSystem.AddModifier. |
| SCNParticleModifierStage | Enumerates moments when the modifier specified in MonoTouch.SceneKit.SCNParticleSystem.AddModifier should be applied. |
| SCNParticleOrientationMode | Enumerates the alignment of particles emitted by a MonoTouch.SceneKit.SCNParticleSystem. Used with MonoTouch.SceneKit.SCNParticleSystem.OrientationMode. |
| SCNParticlePropertyController | Animates a property of the particles emitted by a SCNParticleSystem. |
| SCNParticleSortingMode | Enumeration specifying the order in which particles emitted by a MonoTouch.SceneKit.SCNParticleScene are rendered. |
| SCNParticleSystem | Emits small sprites whose behaviors are developer-specified. |
| SCNPhysicsBallSocketJoint | An SCNPhysicsBehavior that allows two SCNPhysicsBody objects to pivot around each other. |
| SCNPhysicsBehavior | Controls the behavior of one or more SCNPhysicsBody objects. |
| SCNPhysicsBody | Adds physics simulation to an SCNNode. |
| SCNPhysicsBodyType | An enumeration specifying whether the MonoTouch.SceneKit.SCNPhysicsBody is dynamic, kinematic, or static. Used with MonoTouch.SceneKit.SCNPhysicsBody.CreateBody. |
| SCNPhysicsContact | How two SCNPhysicsBody objects are in contact with each other. |
| SCNPhysicsContactDelegate | Delegate object functions responding to touches between MonoTouch.SceneKit.SCNPhysicsBody objects.. |
| SCNPhysicsContactDelegate_Extensions | Extension methods to the MonoTouch.SceneKit.ISCNPhysicsContactDelegate interface to support all the methods from the MonoTouch.SceneKit.SCNPhysicsContactDelegate protocol. |
| SCNPhysicsContactEventArgs | Provides data for the MonoTouch.SceneKit.SCNPhysicsContactEventArgs.DidBeginContact, MonoTouch.SceneKit.SCNPhysicsContactEventArgs.DidEndContact and MonoTouch.SceneKit.SCNPhysicsContactEventArgs.DidUpdateContact events. |
| SCNPhysicsField | Applies forces to all SCNPhysicsBody objects in a given volume. |
| SCNPhysicsFieldScope | Enumerates values specifying whether an MonoTouch.SceneKit.SCNPhysicsField affects objects inside or outside its border. |
| SCNPhysicsHingeJoint | An SCNPhysicsBehavior that attaches two SCNPhysicsBody objects along a single axis. |
| SCNPhysicsSearchMode | Enumerates values that control which physics search results are returned. |
| SCNPhysicsShape | A solid volume for a SCNPhysicsBody. Used in collision detection. |
| SCNPhysicsShapeOptions | Valid keys for the options dictionary used with MonoTouch.SceneKit.SCNPhysicsShape.Create. |
| SCNPhysicsShapeOptionsKeys | Defines valid keys for use with the options dictionary passed to MonoTouch.SceneKit.SCNPhysicsShape.Create. |
| SCNPhysicsShapeOptionsTypes | Geometrical type associated with MonoTouch.SceneKit.SCNPhysicsShapes. |
| SCNPhysicsShapeType | Enumeration of categories for MonoTouch.SceneKit.SCNPhysicsShapes. |
| SCNPhysicsSliderJoint | An SCNPhysicsBehavior that connects two SCNPhysicsBody objects, allowing them to slide and rotate around their connecting points. |
| SCNPhysicsTest | Valid options for use with MonoTouch.SceneKit.SCNPhysicsWorld.ContactTest. |
| SCNPhysicsTestKeys | Contains values that control searching, backface culling, and collision testing. |
| SCNPhysicsTestSearchModeKeys | Enumerates values that control which collision search results are returned. |
| SCNPhysicsVehicle | An SCNPhysicsBehavior that simulates the physics of a wheeled vehicle. |
| SCNPhysicsVehicleWheel | The appearance and physical characteristics of a wheel on a SCNPhysicsVehicle. |
| SCNPhysicsWorld | A physics simulation that models collisions and other physics-related properties in an SCNScene. |
| SCNPlane | An MonoTouch.SceneKit.SCNGeometry that is a rectangular single-sided finite plane. |
| SCNProgram | Performs custom rendering using shaders written in OpenGL Shading Language. |
| SCNProgramDelegate | Delegate object for SCNProgram objects. |
| SCNProgramDelegate_Extensions | Extension methods to the MonoTouch.SceneKit.ISCNProgramDelegate interface to support all the methods from the MonoTouch.SceneKit.SCNProgramDelegate protocol. |
| SCNProgramSemanticOptions | Defines the MonoTouch.SceneKit.SCNProgramSemanticOptions.MappingChannel for use with MonoTouch.SceneKit.SCNProgram.SetSemantic. |
| SCNPyramid | An MonoTouch.SceneKit.SCNGeometry that is a right rectangular pyramid. |
| SCNQuaternion | Represents a quaternion and contains methods that operate on them. |
| SCNRenderer | Renders an SCNScene into an OpenGL context. |
| SCNRenderingArguments | Defines keys for use with MonoTouch.SceneKit.SCNNodeRendererDelegate.Render and MonoTouch.SceneKit.SCNProgram.SetSemantic. |
| SCNScene | The highest-level description of a 3D scene. |
| SCNSceneLoadingOptions | Options for scene loading. |
| SCNSceneRenderer | Implementation class of the MonoTouch.SceneKit.ISCNSceneRenderer interface. |
| SCNSceneRenderer_Extensions | Extension methods to the MonoTouch.SceneKit.ISCNSceneRenderer interface to support all the methods from the MonoTouch.SceneKit.SCNSceneRenderer protocol. |
| SCNSceneRendererDelegate | Delegate object for the SCNRenderer class, defines methods reflects rendering events. |
| SCNSceneRendererDelegate_Extensions | Extension methods to the MonoTouch.SceneKit.ISCNSceneRendererDelegate interface to support all the methods from the MonoTouch.SceneKit.SCNSceneRendererDelegate protocol. |
| SCNSceneSource | Reads scene-defining data from a file or NSData object. |
| SCNSceneSourceFilter | Delegate that tests objects in the scene for inclusion. |
| SCNSceneSourceLoadErrors | Enumerates error types that can occur while loading MonoTouch.SceneKit.SCNSceneSources. |
| SCNSceneSourceLoading | Options for creating and loading SCNScene objects. |
| SCNSceneSourceProperties | Metadata keys associated with a scene file. Used with MonoTouch.SceneKit.SCNSceneSource.GetProperty. |
| SCNSceneSourceStatus | Enumerates the states of an SCNSceneSource. |
| SCNSceneSourceStatusHandler | Callback used to reflect progress during execution of MonoTouch.SceneKit.SCNSceneSource.SceneFromOptions. |
| SCNShadable | Implementation of SceneKit.ISCNShadable. |
| SCNShadable_Extensions | Extension methods to the MonoTouch.SceneKit.ISCNShadable interface to support all the methods from the MonoTouch.SceneKit.SCNShadable protocol. |
| SCNShaderModifiers | A MonoTouch.Foundation.DictionaryContainer containing options for shaders. |
| SCNShadowMode | Enumeration controlling when shadows are calculated. |
| SCNShape | An MonoTouch.SceneKit.SCNGeometry created from a 2D path, optionally extruded into three dimensions. |
| SCNSkinner | Accesses the scene graph in support of skeletal animation. |
| SCNSphere | An MonoTouch.SceneKit.SCNGeometry that is a sphere. |
| SCNTechnique | Provides additional drawing passes, each of which applies a shader. |
| SCNTechniqueSupport | Implementation of MonoTouch.SceneKit.ISCNTechniqueSupport that simply holds a reference to the MonoTouch.SceneKit.SCNTechnique. |
| SCNText | An MonoTouch.SceneKit.SCNGeometry based on a string, optionally extruded into three dimensions. |
| SCNTorus | An MonoTouch.SceneKit.SCNGeometry that is a ring-shaped solid. |
| SCNTransaction | Allows a set of modifications to be applied atomically. |
| SCNTransformConstraint | An MonoTouch.SceneKit.SCNConstraint that executes a function specifying a change in transformation (position, rotation, and scale) to a node or nodes. |
| SCNTransformConstraintHandler | Delegate used in calls to MonoTouch.SceneKit.SCNTransformConstraint.Create. |
| SCNTransparencyMode | Enumerates techniques for calculating transparency. |
| SCNTube | An MonoTouch.SceneKit.SCNGeometry that is a cylinder with a hole along its central axis. |
| SCNVector3 | A 3-component vector. |
| SCNVector4 | A 4-component vector. |
| SCNView | A MonoTouch.UIKit.UIView that renders MonoTouch.SceneKit.SCNScenes. |
| SCNView+SCNViewAppearance | Appearance class for objects of type MonoTouch.SceneKit.SCNView. |
| SCNWrapMode | Enumerates texture-wrapping techniques. |