Creates a geometry source from the specified data and options.
SDKs
- iOS 8.0+
- macOS 10.8+
- tvOS 9.0+
- watchOS 3.0+
Framework
- Scene
Kit
Declaration
+ (instancetype)geometrySourceWithData:(NSData *)data semantic:(SCNGeometry Source Semantic)semantic vectorCount:(NSInteger)vectorCount floatComponents:(BOOL)floatComponents componentsPerVector:(NSInteger)componentsPerVector bytesPerComponent:(NSInteger)bytesPerComponent dataOffset:(NSInteger)offset dataStride:(NSInteger)stride;
Parameters
dataThe data for the geometry source.
semanticThe semantic value (or attribute) that the geometry source describes for each vertex. See Geometry Semantic Identifiers for available values.
vectorCountThe number of geometry source vectors.
floatComponentsA Boolean value that indicates whether vector components are floating-point values. Specify
YESfor floating-point values, orNOfor integer values.componentsPerVectorThe number of scalar components in each vector.
bytesPerComponentThe size, in bytes, of each vector component.
offsetThe offset, in bytes, from the beginning of the data to the first vector component to be used in the geometry source.
strideThe number of bytes from each vector to the next in the data.
Return Value
A new geometry source object.
Discussion
A geometry source’s data is an array of vectors, each of which represents a particular attribute (or semantic) of a vertex in the geometry. The other parameters determine how SceneKit interprets this data. For example, an array of vertex positions may have three 32-bit floating-point components per vector, but an array of texture coordinates may have two 8-bit integer coponents per vector. You can use the offset and stride parameters together to interleave data for multiple geometry sources in the same array, improving rendering performance. See SCNGeometry for details.
To create a custom SCNGeometry object from the geometry source, use the geometry method.