Diligent Engine API Reference
Public Member Functions | List of all members
Diligent::IDeviceContextD3D11 Class Referenceabstract

Interface to the device context object implemented in D3D11. More...

Inheritance diagram for Diligent::IDeviceContextD3D11:
Diligent::IDeviceContext Diligent::IObject Diligent::RefCountedObject< IDeviceContextD3D11, IMemoryAllocator > Diligent::ObjectBase< IDeviceContextD3D11, IMemoryAllocator > Diligent::DeviceContextBase< IDeviceContextD3D11 > Diligent::DeviceContextD3D11Impl

Public Member Functions

virtual ID3D11DeviceContext * GetD3D11DeviceContext ()=0
 Returns a pointer to the ID3D11DeviceContext interface of the internal Direct3D11 object. More...
 
- Public Member Functions inherited from Diligent::IDeviceContext
virtual void QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface, see IObject::QueryInterface() for details.
 
virtual void SetPipelineState (IPipelineState *pPipelineState)=0
 Sets the pipeline state. More...
 
virtual void TransitionShaderResources (IPipelineState *pPipelineState, IShaderResourceBinding *pShaderResourceBinding)=0
 Transitions shader resources to the require states. More...
 
virtual void CommitShaderResources (IShaderResourceBinding *pShaderResourceBinding, Uint32 Flags)=0
 Commits shader resources to the device context. More...
 
virtual void SetStencilRef (Uint32 StencilRef)=0
 Sets the stencil reference value. More...
 
virtual void SetBlendFactors (const float *pBlendFactors=nullptr)=0
 
virtual void SetVertexBuffers (Uint32 StartSlot, Uint32 NumBuffersSet, IBuffer **ppBuffers, Uint32 *pStrides, Uint32 *pOffsets, Uint32 Flags)=0
 Binds vertex buffers to the pipeline. More...
 
virtual void ClearState ()=0
 Clears the context state.
 
virtual void SetIndexBuffer (IBuffer *pIndexBuffer, Uint32 ByteOffset)=0
 Binds an index buffer to the pipeline. More...
 
virtual void SetViewports (Uint32 NumViewports, const Viewport *pViewports, Uint32 RTWidth, Uint32 RTHeight)=0
 Sets an array of viewports. More...
 
virtual void SetScissorRects (Uint32 NumRects, const Rect *pRects, Uint32 RTWidth, Uint32 RTHeight)=0
 Sets active scissor rects. More...
 
virtual void SetRenderTargets (Uint32 NumRenderTargets, ITextureView *ppRenderTargets[], ITextureView *pDepthStencil)=0
 Binds one or more render targets and the depth-stencil buffer to the pipeline. It also sets the viewport to match the first non-null render target or depth-stencil buffer. More...
 
virtual void Draw (DrawAttribs &DrawAttribs)=0
 Executes a draw command. More...
 
virtual void DispatchCompute (const DispatchComputeAttribs &DispatchAttrs)=0
 Executes a dispatch compute command. More...
 
virtual void ClearDepthStencil (ITextureView *pView, Uint32 ClearFlags=CLEAR_DEPTH_FLAG, float fDepth=1.f, Uint8 Stencil=0)=0
 Clears a depth-stencil view. More...
 
virtual void ClearRenderTarget (ITextureView *pView, const float *RGBA=nullptr)=0
 Clears a render target view. More...
 
virtual void FinishCommandList (class ICommandList **ppCommandList)=0
 Finishes recording commands and generates a command list. More...
 
virtual void ExecuteCommandList (class ICommandList *pCommandList)=0
 Executes recorded commands in a command list. More...
 
virtual void Flush ()=0
 Flushes the command buffer.
 
- Public Member Functions inherited from Diligent::IObject
virtual Atomics::Long AddRef ()=0
 Increments the number of strong references by 1. More...
 
virtual Atomics::Long Release ()=0
 Decrements the number of strong references by 1 and destroys the object when the counter reaches zero. More...
 
virtual IReferenceCountersGetReferenceCounters () const =0
 Returns the pointer to IReferenceCounters interface of the associated reference counters object. The metod does NOT increment the number of strong references to the returned object.
 

Detailed Description

Interface to the device context object implemented in D3D11.

Member Function Documentation

virtual ID3D11DeviceContext* Diligent::IDeviceContextD3D11::GetD3D11DeviceContext ( )
pure virtual

Returns a pointer to the ID3D11DeviceContext interface of the internal Direct3D11 object.

The method does NOT call AddRef() on the returned interface, so Release() must not be called.

Implemented in Diligent::DeviceContextD3D11Impl.