IndexBuffer.IndexBuffer(IDirect3DIndexBuffer9,Device,Usage,Pool) Constructor (Microsoft.DirectX.Direct3D)
Creates a new instance of the IndexBuffer class.
Definition
Visual Basic Public Sub New( _
ByVal lp As IDirect3DIndexBuffer9, _
ByVal device As Device, _
ByVal usage As Usage, _
ByVal pool As Pool _
)C# public IndexBuffer(
IDirect3DIndexBuffer9 lp,
Device device,
Usage usage,
Pool pool
);C++ public:
IndexBuffer(
IDirect3DIndexBuffer9 lp,
Device^ device,
Usage usage,
Pool pool
);JScript public function IndexBuffer(
lp : IDirect3DIndexBuffer9,
device : Device,
usage : Usage,
pool : Pool
);
Parameters
lp Microsoft.DirectX.PrivateImplementationDetails.IDirect3DIndexBuffer9
Unmanaged Component Object Model (COM) IDirect3DIndexBuffer9 interface pointer.device Microsoft.DirectX.Direct3D.Device
The Device object to associate with the index buffer.usage Microsoft.DirectX.Direct3D.Usage
Usage can be 0, which indicates no usage value. However, if usage is desired, use a combination of one or more Usage flags. It is good practice to match the param_Usage_usage parameter in the IndexBuffer constructor with the behavior flags in the Device constructor. See Remarks.pool Microsoft.DirectX.Direct3D.Pool
Member of the Pool enumerated type that describes a valid memory class into which to place the resource.
Remarks
Index buffers are memory resources used to hold indices. They are similar to surfaces and vertex buffers. The use of index buffers enables Microsoft Direct3D to avoid unnecessary data copying and to place the buffer in the optimal memory type for the expected usage.
To use index buffers, create an index buffer, lock it, fill it with indices, unlock it, pass it to Device.Indices, set up the vertices, set up the vertex shader, and call Device.DrawIndexedPrimitives for rendering.
The Caps.MaxVertexIndex member indicates the types of index buffers that are valid for rendering.
Exceptions
The method call is invalid. For example, a method's parameter might contain an invalid value.
The data is invalid.
Direct3D does not have enough display memory to perform the operation.
Direct3D could not allocate sufficient memory to complete the call.
See Also