Diligent Engine API Reference: Diligent::IRenderDeviceD3D11 Class Reference

Diligent Engine API Reference

Public Member Functions | List of all members
Diligent::IRenderDeviceD3D11 Class Referenceabstract

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

Inheritance diagram for Diligent::IRenderDeviceD3D11:

## Public Member Functions
virtual ID3D11Device * | GetD3D11Device ()=0
| Returns a pointer to the ID3D11Device interface of the internal Direct3D11 object. More...
virtual void | CreateBufferFromD3DResource (ID3D11Buffer *pd3d11Buffer, const BufferDesc &BuffDesc, IBuffer **ppBuffer)=0
| Creates a buffer object from native d3d11 buffer. More...
virtual void | CreateTextureFromD3DResource (ID3D11Texture1D *pd3d11Texture, ITexture **ppTexture)=0
| Creates a texture object from native d3d11 1D texture. More...
virtual void | CreateTextureFromD3DResource (ID3D11Texture2D *pd3d11Texture, ITexture **ppTexture)=0
| Creates a texture object from native d3d11 2D texture. More...
virtual void | CreateTextureFromD3DResource (ID3D11Texture3D *pd3d11Texture, ITexture **ppTexture)=0
| Creates a texture object from native d3d11 3D texture. More...
Public Member Functions inherited from Diligent::IRenderDevice
virtual void | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
| Queries the specific interface, see IObject::QueryInterface() for details.
virtual void | CreateBuffer (const BufferDesc &BuffDesc, const BufferData &BuffData, IBuffer **ppBuffer)=0
| Creates a new buffer object. More...
virtual void | CreateShader (const ShaderCreationAttribs &CreationAttribs, IShader **ppShader)=0
| Creates a new shader object. More...
virtual void | CreateTexture (const TextureDesc &TexDesc, const TextureData &Data, ITexture **ppTexture)=0
| Creates a new texture object. More...
virtual void | CreateSampler (const SamplerDesc &SamDesc, ISampler **ppSampler)=0
| Creates a new sampler object. More...
virtual void | CreateResourceMapping (const ResourceMappingDesc &MappingDesc, IResourceMapping **ppMapping)=0
| Creates a new resource mapping. More...
virtual void | CreatePipelineState (const PipelineStateDesc &PipelineDesc, IPipelineState **ppPipelineState)=0
| Creates a new pipeline state object. More...
virtual const DeviceCaps & | GetDeviceCaps () const =0
| Gets the device capabilities, see Diligent::DeviceCaps for details.
virtual const TextureFormatInfo & | GetTextureFormatInfo (TEXTURE_FORMAT TexFormat)=0
| Returns the basic texture format information. More...
virtual const TextureFormatInfoExt & | GetTextureFormatInfoExt (TEXTURE_FORMAT TexFormat)=0
| Returns the extended texture format information. More...

## Detailed Description

Interface to the render device object implemented in D3D11.

## Member Function Documentation

## ◆ CreateBufferFromD3DResource()

virtual void Diligent::IRenderDeviceD3D11::CreateBufferFromD3DResource | ( | ID3D11Buffer * | pd3d11Buffer,
|  | const BufferDesc & | BuffDesc,
|  | IBuffer ** | ppBuffer
| ) |  |
| pure virtual

Creates a buffer object from native d3d11 buffer.

Parameters

  [in] | pd3d11Buffer | - Pointer to the native buffer
  [in] | BuffDesc | - Buffer description. Most of the fields will be populated automatically if left in default values. The only field that must be populated is BufferDesc::Format, when initializing a formatted buffer.
  [out] | ppBuffer | - Address of the memory location where the pointer to the buffer interface will be stored. The function calls AddRef(), so that the new object will contain one reference.

## ◆ CreateTextureFromD3DResource() [1/3]

virtual void Diligent::IRenderDeviceD3D11::CreateTextureFromD3DResource | ( | ID3D11Texture1D * | pd3d11Texture,
|  | ITexture ** | ppTexture
| ) |  |
| pure virtual

Creates a texture object from native d3d11 1D texture.

Parameters

  [in] | pd3d11Texture | - pointer to the native 1D texture
  [out] | ppTexture | - Address of the memory location where the pointer to the texture interface will be stored. The function calls AddRef(), so that the new object will contain one reference.

## ◆ CreateTextureFromD3DResource() [2/3]

virtual void Diligent::IRenderDeviceD3D11::CreateTextureFromD3DResource | ( | ID3D11Texture2D * | pd3d11Texture,
|  | ITexture ** | ppTexture
| ) |  |
| pure virtual

Creates a texture object from native d3d11 2D texture.

Parameters

  [in] | pd3d11Texture | - pointer to the native 2D texture
  [out] | ppTexture | - Address of the memory location where the pointer to the texture interface will be stored. The function calls AddRef(), so that the new object will contain one reference.

## ◆ CreateTextureFromD3DResource() [3/3]

virtual void Diligent::IRenderDeviceD3D11::CreateTextureFromD3DResource | ( | ID3D11Texture3D * | pd3d11Texture,
|  | ITexture ** | ppTexture
| ) |  |
| pure virtual

Creates a texture object from native d3d11 3D texture.

Parameters

  [in] | pd3d11Texture | - pointer to the native 3D texture
  [out] | ppTexture | - Address of the memory location where the pointer to the texture interface will be stored. The function calls AddRef(), so that the new object will contain one reference.

## ◆ GetD3D11Device()

virtual ID3D11Device* Diligent::IRenderDeviceD3D11::GetD3D11Device | ( |  | ) |
| pure virtual

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

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