Scene Kit is a framework for 3D graphics, based on hierarchical scene-graphs.
The fundamental classes in Scene Kit are SceneKit.SCNScene, which holds all content, and CoreGraphics.SceneKit.SCNView, a UIKit.UIView that renders an SceneKit.SCNScene.
An SceneKit.SCNScene has a SceneKit.SCNScene.RootNode property of type SceneKit.SCNNode. SceneKit.SCNNode's have SceneKit.SCNNode.ChildNodes and implement System.Collections.Generic.IEnumerable`1<class MonoTouch.SceneKit.SCNNode>. Properties of SceneKit.SCNNode include SceneKit.SCNNode.Camera, of type SceneKit.SCNCamera, SceneKit.SCNNode.Geometry, of type SceneKit.SCNGeometry, and SceneKit.SCNNode.Light, of type SceneKit.SCNLight.
Additionally, every SceneKit.SCNNode has a SceneKit.SCNNode.Position property that defines a location in space relative to the SceneKit.SCNNode's SceneKit.SCNNode.ParentNode and SceneKit.SCNNode.FirstMaterial and SceneKit.SCNNode.Materials that create the 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 SceneKit.SCNActionable. |
ISCNAnimatable | Interface representing the required methods (if any) of the protocol SceneKit.SCNAnimatable. |
ISCNBoundingVolume | Interface representing the required methods (if any) of the protocol SceneKit.SCNBoundingVolume. |
ISCNNodeRendererDelegate | Interface representing the required methods (if any) of the protocol SceneKit.SCNNodeRendererDelegate. |
ISCNPhysicsContactDelegate | Interface representing the required methods (if any) of the protocol SceneKit.SCNPhysicsContactDelegate. |
ISCNProgramDelegate | Interface representing the required methods (if any) of the protocol SceneKit.SCNProgramDelegate. |
ISCNSceneRenderer | Interface representing the required methods (if any) of the protocol SceneKit.SCNSceneRenderer. |
ISCNSceneRendererDelegate | Interface representing the required methods (if any) of the protocol SceneKit.SCNSceneRendererDelegate. |
ISCNShadable | Interface representing the required methods (if any) of the protocol SceneKit.SCNShadable. |
ISCNTechniqueSupport | Interface representing the required methods (if any) of the protocol SceneKit.SCNTechniqueSupport. |
SCNAction | Performs actions on a SceneKit.SCNNode, including changes to appearance, geometry, animations, or arbitrary functions. |
SCNActionable | Allows actions to be applied. |
SCNActionNodeWithElapsedTimeHandler | Completion handler used with SceneKit.SCNAction.CustomAction. |
SCNActionTimingMode | Enumerates rate curves for use with 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 SceneKit.SCNAnimationEvent.Create. |
SCNAntialiasingMode | Enumerates values that control antialiasing behavior. |
SCNBindingHandler | Completion handler used with SceneKit.SCNShadable.HandleBinding. |
SCNBoundingVolume | Functions that define a volume in 3D space. |
SCNBox | An SceneKit.SCNGeometry whose faces are all rectangles. |
SCNCamera | Specifies a camera, with attributes such as field-of-view and depth-of-view. |
SCNCapsule | An SceneKit.SCNGeometry that is a cylinder with capped ends. |
SCNChamferMode | Enumerates the ways a SceneKit.SCNShape can be chamfered; on its front, back, or both sides. |
SCNCone | An 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 SceneKit.SCNMaterial are rendered. |
SCNCylinder | An SceneKit.SCNGeometry that is a right circular cylinder. |
SCNFieldForceEvaluator | Delegate for the SceneKit.SCNPhysicsField.CustomField method. |
SCNFilterMode | Enumeration of texture filtering modes. |
SCNFloor | An 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 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 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 SceneKit.SCHMaterial.LightingModel property, which defines the way lights and materials combine to produce a particular rendered color. |
SCNLightType | Enumerates the types of SceneKit.SCNLight. |
SCNLookAtConstraint | An 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 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 SceneKit.SCNMorpher.CalculationMode. |
SCNNode | A node in the scene graph. |
SCNNodePredicate | Delegate for use with SceneKit.SCNNode.EnumerateChildNodes. |
SCNNodeRendererDelegate | Interface defining delegate object functions for adding custom OpenGL drawing code. |
SCNNodeRendererDelegate_Extensions | Extension methods to the SceneKit.ISCNNodeRendererDelegate interface to support all the methods from the SceneKit.SCNNodeRendererDelegate protocol. |
SCNParticleBirthDirection | Enumerates the initial direction of particles emitted by a SceneKit.SCNParticleSystem. |
SCNParticleBirthLocation | Enumeration of the initial location of particles emitted by a SceneKit.SCNParticleSystem. |
SCNParticleBlendMode | Enumeration of the ways in which overlapping particles emitted by a SceneKit.SCNParticleSystem will be rendered. |
SCNParticleEvent | Enumeration of lifecycle events for particles emitted by a SceneKit.SCNParticleSystem. Used with SceneKit.SCNParticleSystem.HandleEvent. |
SCNParticleEventHandler | Completion handler for use with SceneKit.SCNParticleSystem.HandleEvent. |
SCNParticleImageSequenceAnimationMode | Enumeration of playing modes for 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 SceneKit.SCNParticlePropertyController.InputMode. |
SCNParticleModifierHandler | Delegate used as the handler in SceneKit.SCNParticleSystem.AddModifier. |
SCNParticleModifierStage | Enumerates moments when the modifier specified in SceneKit.SCNParticleSystem.AddModifier should be applied. |
SCNParticleOrientationMode | Enumerates the alignment of particles emitted by a SceneKit.SCNParticleSystem. Used with 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 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 SceneKit.SCNPhysicsBody is dynamic, kinematic, or static. Used with SceneKit.SCNPhysicsBody.CreateBody. |
SCNPhysicsContact | How two SCNPhysicsBody objects are in contact with each other. |
SCNPhysicsContactDelegate | Delegate object functions responding to touches between SceneKit.SCNPhysicsBody objects.. |
SCNPhysicsContactDelegate_Extensions | Extension methods to the SceneKit.ISCNPhysicsContactDelegate interface to support all the methods from the SceneKit.SCNPhysicsContactDelegate protocol. |
SCNPhysicsContactEventArgs | Provides data for the SceneKit.SCNPhysicsContactEventArgs.DidBeginContact, SceneKit.SCNPhysicsContactEventArgs.DidEndContact and SceneKit.SCNPhysicsContactEventArgs.DidUpdateContact events. |
SCNPhysicsField | Applies forces to all SCNPhysicsBody objects in a given volume. |
SCNPhysicsFieldScope | Enumerates values specifying whether an 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 SceneKit.SCNPhysicsShape.Create. |
SCNPhysicsShapeOptionsKeys | Defines valid keys for use with the options dictionary passed to SceneKit.SCNPhysicsShape.Create. |
SCNPhysicsShapeOptionsTypes | Geometrical type associated with SceneKit.SCNPhysicsShapes. |
SCNPhysicsShapeType | Enumeration of categories for 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 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 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 SceneKit.ISCNProgramDelegate interface to support all the methods from the SceneKit.SCNProgramDelegate protocol. |
SCNProgramSemanticOptions | Defines the SceneKit.SCNProgramSemanticOptions.MappingChannel for use with SceneKit.SCNProgram.SetSemantic. |
SCNPyramid | An 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 SceneKit.SCNNodeRendererDelegate.Render and SceneKit.SCNProgram.SetSemantic. |
SCNScene | The highest-level description of a 3D scene. |
SCNSceneLoadingOptions | Options for scene loading. |
SCNSceneRenderer | Implementation class of the SceneKit.ISCNSceneRenderer interface. |
SCNSceneRenderer_Extensions | Extension methods to the SceneKit.ISCNSceneRenderer interface to support all the methods from the SceneKit.SCNSceneRenderer protocol. |
SCNSceneRendererDelegate | Delegate object for the SCNRenderer class, defines methods reflects rendering events. |
SCNSceneRendererDelegate_Extensions | Extension methods to the SceneKit.ISCNSceneRendererDelegate interface to support all the methods from the 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 SceneKit.SCNSceneSources. |
SCNSceneSourceLoading | Options for creating and loading SCNScene objects. |
SCNSceneSourceProperties | Metadata keys associated with a scene file. Used with SceneKit.SCNSceneSource.GetProperty. |
SCNSceneSourceStatus | Enumerates the states of an SCNSceneSource. |
SCNSceneSourceStatusHandler | Callback used to reflect progress during execution of SceneKit.SCNSceneSource.SceneFromOptions. |
SCNShadable | Implementation of SceneKit.ISCNShadable. |
SCNShadable_Extensions | Extension methods to the SceneKit.ISCNShadable interface to support all the methods from the SceneKit.SCNShadable protocol. |
SCNShaderModifiers | A Foundation.DictionaryContainer containing options for shaders. |
SCNShadowMode | Enumeration controlling when shadows are calculated. |
SCNShape | An SceneKit.SCNGeometry created from a 2D path, optionally extruded into three dimensions. |
SCNSkinner | Accesses the scene graph in support of skeletal animation. |
SCNSphere | An SceneKit.SCNGeometry that is a sphere. |
SCNTechnique | Provides additional drawing passes, each of which applies a shader. |
SCNTechniqueSupport | Implementation of SceneKit.ISCNTechniqueSupport that simply holds a reference to the SceneKit.SCNTechnique. |
SCNText | An SceneKit.SCNGeometry based on a string, optionally extruded into three dimensions. |
SCNTorus | An SceneKit.SCNGeometry that is a ring-shaped solid. |
SCNTransaction | Allows a set of modifications to be applied atomically. |
SCNTransformConstraint | An 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 SceneKit.SCNTransformConstraint.Create. |
SCNTransparencyMode | Enumerates techniques for calculating transparency. |
SCNTube | An 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 UIKit.UIView that renders SceneKit.SCNScenes. |
SCNView+SCNViewAppearance | Appearance class for objects of type SceneKit.SCNView. |
SCNWrapMode | Enumerates texture-wrapping techniques. |