Пример #1
0
        internal unsafe void MarshalTo(Interop.FramebufferCreateInfo *pointer)
        {
            pointer->SType = StructureType.FramebufferCreateInfo;
            pointer->Next  = null;
            this.RenderPass?.MarshalTo(&pointer->RenderPass);

            //Attachments
            if (this.Attachments != null)
            {
                var fieldPointer = (Interop.ImageView *)Interop.HeapUtil.AllocateAndClear <Interop.ImageView>(this.Attachments.Length);
                for (int index = 0; index < this.Attachments.Length; index++)
                {
                    this.Attachments[index].MarshalTo(&fieldPointer[index]);
                }
                pointer->Attachments = fieldPointer;
            }
            else
            {
                pointer->Attachments = null;
            }
            pointer->AttachmentCount = (uint)(this.Attachments?.Length ?? 0);
            pointer->Flags           = this.Flags;
            pointer->Width           = this.Width;
            pointer->Height          = this.Height;
            pointer->Layers          = this.Layers;
        }
Пример #2
0
 internal FramebufferCreateInfo(Interop.FramebufferCreateInfo* ptr)
 {
     m = ptr;
     Initialize ();
 }
Пример #3
0
 public FramebufferCreateInfo()
 {
     m = (Interop.FramebufferCreateInfo*) Interop.Structure.Allocate (typeof (Interop.FramebufferCreateInfo));
     Initialize ();
 }