/// <summary> /// Get a body index texture that can hold several kinects at once /// </summary> /// <param name="kinectCount">Kinect count</param> /// <returns>Texture descriptor</returns> public static Texture2DDescription BodyIndexTexture(int kinectCount) { if (kinectCount < 1) { throw new ArgumentOutOfRangeException("kinectCount", "Must be at least one"); } return(DescriptorUtils.GetRenderTargetTextureArray(new TextureSize(Consts.DepthWidth, Consts.DepthHeight), SharpDX.DXGI.Format.R8_Typeless, kinectCount)); }
/// <summary> /// Get a buffer description for a single kinect, number of elements = number of pixels in depth frame /// </summary> /// <param name="stride">Element stride, in bytes</param> /// <returns></returns> public static BufferDescription Buffer(int stride) { return(DescriptorUtils.WriteableStructuredBuffer(new BufferElementCount(Consts.DepthPixelCount), new BufferStride(stride))); }
/// <summary> /// Get a buffer description for a single kinect, number of elements = number of pixels in depth frame /// </summary> /// <param name="stride">Element stride, in bytes</param> /// <returns></returns> public static BufferDescription DynamicBuffer(BufferStride stride) { return(DescriptorUtils.DynamicStructuredBuffer(MaxBodyJoints, stride)); }
/// <summary> /// Get face indices structured buffer immutable description /// </summary> /// <param name="faceCount">Face count</param> /// <returns>Description for face structured buffer</returns> public static BufferDescription ImmutableIndexStructuredBuffer(int faceCount) { return(DescriptorUtils.ImmutableStructuredBuffer(new BufferElementCount((int)Microsoft.Kinect.Face.FaceModel.TriangleCount * 3 * faceCount), BufferStride.From <uint>())); }
/// <summary> /// Get face indices index buffer immutable description /// </summary> /// <param name="faceCount">Face count</param> /// <returns>Description to create index buffer</returns> public static BufferDescription ImmutableIndexBuffer(int faceCount) { return(DescriptorUtils.ImmutableIndexBufferUint(new BufferElementCount((int)Microsoft.Kinect.Face.FaceModel.TriangleCount * 3 * faceCount))); }