Пример #1
0
 /// <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;
 }
Пример #2
0
        /// <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);
        }