/// <summary> /// /// </summary> internal unsafe void MarshalTo(SharpVk.Interop.NVidia.GeometryTriangles *pointer) { pointer->SType = StructureType.GeometryTriangles; pointer->Next = null; pointer->VertexData = this.VertexData?.handle ?? default(SharpVk.Interop.Buffer); pointer->VertexOffset = this.VertexOffset; pointer->VertexCount = this.VertexCount; pointer->VertexStride = this.VertexStride; pointer->VertexFormat = this.VertexFormat; pointer->IndexData = this.IndexData?.handle ?? default(SharpVk.Interop.Buffer); pointer->IndexOffset = this.IndexOffset; pointer->IndexCount = this.IndexCount; pointer->IndexType = this.IndexType; pointer->TransformData = this.TransformData?.handle ?? default(SharpVk.Interop.Buffer); pointer->TransformOffset = this.TransformOffset; }
/// <summary> /// /// </summary> internal static unsafe GeometryTriangles MarshalFrom(SharpVk.Interop.NVidia.GeometryTriangles *pointer) { GeometryTriangles result = default(GeometryTriangles); result.VertexData = new SharpVk.Buffer(default(SharpVk.Device), pointer->VertexData); result.VertexOffset = pointer->VertexOffset; result.VertexCount = pointer->VertexCount; result.VertexStride = pointer->VertexStride; result.VertexFormat = pointer->VertexFormat; result.IndexData = new SharpVk.Buffer(default(SharpVk.Device), pointer->IndexData); result.IndexOffset = pointer->IndexOffset; result.IndexCount = pointer->IndexCount; result.IndexType = pointer->IndexType; result.TransformData = new SharpVk.Buffer(default(SharpVk.Device), pointer->TransformData); result.TransformOffset = pointer->TransformOffset; return(result); }