/// <summary> /// Initializes a new instance of the <see cref="DynamicVertexBuffer"/> struct. /// </summary> /// <param name="memory">The initial vertex data with which to populate the buffer.</param> /// <param name="layout">The layout of the vertex data.</param> /// <param name="flags">Flags used to control buffer behavior.</param> public DynamicVertexBuffer(MemoryBlock memory, VertexLayout layout, BufferFlags flags = BufferFlags.None) { handle = NativeMethods.bgfx_create_dynamic_vertex_buffer_mem(memory.ptr, ref layout.data, flags); }
/// <summary> /// Gets the available space in the global transient vertex buffer. /// </summary> /// <param name="count">The number of vertices required.</param> /// <param name="layout">The layout of each vertex.</param> /// <returns>The number of available vertices.</returns> public static int GetAvailableSpace(int count, VertexLayout layout) { return(NativeMethods.bgfx_get_avail_transient_vertex_buffer(count, ref layout.data)); }
/// <summary> /// Initializes a new instance of the <see cref="DynamicVertexBuffer"/> struct. /// </summary> /// <param name="vertexCount">The number of vertices that fit in the buffer.</param> /// <param name="layout">The layout of the vertex data.</param> /// <param name="flags">Flags used to control buffer behavior.</param> public DynamicVertexBuffer(int vertexCount, VertexLayout layout, BufferFlags flags = BufferFlags.None) { handle = NativeMethods.bgfx_create_dynamic_vertex_buffer(vertexCount, ref layout.data, flags); }
/// <summary> /// Initializes a new instance of the <see cref="TransientVertexBuffer"/> struct. /// </summary> /// <param name="vertexCount">The number of vertices that fit in the buffer.</param> /// <param name="layout">The layout of the vertex data.</param> public TransientVertexBuffer(int vertexCount, VertexLayout layout) { NativeMethods.bgfx_alloc_transient_vertex_buffer(out this, vertexCount, ref layout.data); }