|
Diligent Engine API Reference
|
Namespace for the OpenGL implementation of the graphics engine. More...
Classes | |
| class | BasicFileStream |
| Basic file stream implementation. More... | |
| struct | BlendStateDesc |
| Blend state description. More... | |
| struct | Box |
| Box. More... | |
| class | BufferBase |
| Template class implementing base functionality for a buffer object. More... | |
| class | BufferD3D11Impl |
| Implementation of the Diligent::IBufferD3D11 interface. More... | |
| class | BufferD3D12Impl |
| Implementation of the Diligent::IBufferD3D12 interface. More... | |
| struct | BufferData |
| Describes the buffer initial data. More... | |
| struct | BufferDesc |
| Buffer description. More... | |
| class | BufferGLImpl |
| Implementation of the Diligent::IBufferGL interface. More... | |
| class | BufferViewBase |
| Template class implementing base functionality for a buffer view object. More... | |
| class | BufferViewD3D11Impl |
| Implementation of the Diligent::IBufferViewD3D11 interface. More... | |
| class | BufferViewD3D12Impl |
| Implementation of the Diligent::IBufferViewD3D12 interface. More... | |
| struct | BufferViewDesc |
| Buffer view description. More... | |
| class | BufferViewGLImpl |
| Implementation of the Diligent::IBufferViewGL interface. More... | |
| class | CommandListBase |
| Template class implementing base functionality for a command list object. More... | |
| class | CommandListD3D11Impl |
| Implementation of the Diligent::ICommandListD3D11 interface. More... | |
| class | CommandListD3D12Impl |
| Implementation of the Diligent::ICommandList interface. More... | |
| class | CommandQueueD3D12Impl |
| Implementation of the Diligent::ICommandQueueD3D12 interface. More... | |
| struct | ComputePipelineDesc |
| Compute pipeline state description. More... | |
| class | D3D12ResourceBase |
| Base implementation of a D3D12 resource. More... | |
| class | DataBlobImpl |
| Base interface for a file stream. More... | |
| struct | DepthStencilClearValue |
| Defines optimized depth-stencil clear value. More... | |
| struct | DepthStencilStateDesc |
| Depth stencil state description. More... | |
| struct | DeviceCaps |
| Device capabilities. More... | |
| class | DeviceContextBase |
| Base implementation of the device context. More... | |
| class | DeviceContextD3D11Impl |
| Implementation of the Diligent::IDeviceContextD3D11 interface. More... | |
| class | DeviceContextD3D12Impl |
| Implementation of the Diligent::IDeviceContext interface. More... | |
| class | DeviceContextGLImpl |
| Implementation of the Diligent::IDeviceContextGL interface. More... | |
| struct | DeviceObjectAttribs |
| Describes common device object attributes. More... | |
| class | DeviceObjectBase |
| Template class implementing base functionality for a device object. More... | |
| struct | DispatchComputeAttribs |
| Describes dispatch command arguments. More... | |
| struct | DrawAttribs |
| Defines the draw command attributes. More... | |
| struct | DummyShaderVariable |
| Implementation of a dummy shader variable that silently ignores all operations. More... | |
| struct | EngineCreationAttribs |
| Engine creation attibutes. More... | |
| struct | EngineD3D11Attribs |
| Attributes of the Direct3D11-based engine implementation. More... | |
| struct | EngineD3D12Attribs |
| Attributes specific to D3D12 engine. More... | |
| class | FixedBlockMemoryAllocator |
| Memory allocator that allocates memory in a fixed-size chunks. More... | |
| struct | GraphicsPipelineDesc |
| Graphics pipeline state description. More... | |
| struct | HashMapStringKey |
| This helper structure is intended to facilitate using strings as a hash table key. It provides constructors that can make a copy of the source string or just keep pointer to it, which enables searching in the hash using raw const Char* pointers. More... | |
| class | HLSL2GLSLConverterObject |
| Implementation of the Diligent::IHLSL2GLSLConverter interface. More... | |
| class | IBuffer |
| Buffer interface. More... | |
| class | IBufferD3D11 |
| Interface to the buffer object implemented in D3D11. More... | |
| class | IBufferD3D12 |
| Interface to the buffer object implemented in D3D12. More... | |
| class | IBufferGL |
| Interface to the buffer object implemented in OpenGL. More... | |
| class | IBufferView |
| Buffer view interface. More... | |
| class | IBufferViewD3D11 |
| Interface to the buffer view object implemented in D3D11. More... | |
| class | IBufferViewD3D12 |
| Interface to the buffer view object implemented in D3D12. More... | |
| class | IBufferViewGL |
| Interface to the buffer view object implemented in OpenGL. More... | |
| class | ICommandList |
| Command list interface. More... | |
| class | ICommandQueueD3D12 |
| Command queue interface. More... | |
| class | IDeviceContext |
| Device context interface. More... | |
| class | IDeviceContextD3D11 |
| Interface to the device context object implemented in D3D11. More... | |
| class | IDeviceContextD3D12 |
| Interface to the device context object implemented in D3D12. More... | |
| class | IDeviceContextGL |
| Interface to the device context object implemented in OpenGL. More... | |
| class | IDeviceObject |
| Base interface for all objects created by the render device Diligent::IRenderDevice. More... | |
| class | IHLSL2GLSLConverter |
| Interface to the buffer object implemented in OpenGL. More... | |
| struct | InputLayoutDesc |
| Layout description. More... | |
| class | IPipelineState |
| class | IPipelineStateD3D11 |
| Interface to the blend state object implemented in D3D11. More... | |
| class | IPipelineStateD3D12 |
| Interface to the blend state object implemented in D3D12. More... | |
| class | IPipelineStateGL |
| Interface to the PipelineState object implemented in OpenGL. More... | |
| class | IRenderDevice |
| Render device interface. More... | |
| class | IRenderDeviceD3D11 |
| Interface to the render device object implemented in D3D11. More... | |
| class | IRenderDeviceD3D12 |
| Interface to the render device object implemented in D3D12. More... | |
| class | IRenderDeviceGL |
| Interface to the render device object implemented in OpenGL. More... | |
| class | IRenderDeviceGLES |
| Interface to the render device object implemented in OpenGLES. More... | |
| class | IResourceMapping |
| Resouce mapping. More... | |
| class | ISampler |
| Texture sampler interface. More... | |
| class | ISamplerD3D11 |
| Interface to the sampler object implemented in D3D11. More... | |
| class | ISamplerD3D12 |
| Interface to the sampler object implemented in D3D12. More... | |
| class | ISamplerGL |
| Interface to the sampler object object implemented in OpenGL. More... | |
| class | IShader |
| Shader interface. More... | |
| class | IShaderD3D11 |
| Interface to the shader object implemented in D3D11. More... | |
| class | IShaderD3D12 |
| Interface to the shader object implemented in D3D12. More... | |
| class | IShaderGL |
| Interface to the shader object implemented in OpenGL. More... | |
| class | IShaderResourceBinding |
| Shader resource binding interface. More... | |
| class | IShaderResourceBindingD3D11 |
| Shader resource binding interface. More... | |
| class | IShaderResourceBindingD3D12 |
| Shader resource binding interface. More... | |
| class | IShaderResourceBindingGL |
| Shader resource binding interface. More... | |
| class | IShaderSourceInputStreamFactory |
| Shader source stream factory interface. More... | |
| class | IShaderVariable |
| Shader resource variable. More... | |
| class | ISwapChain |
| Swap chain interface. More... | |
| class | ISwapChainD3D11 |
| Interface to the swap chain object implemented in D3D11. More... | |
| class | ISwapChainD3D12 |
| Interface to the swap chain object implemented in D3D12. More... | |
| class | ISwapChainGL |
| Interface to the swap chain object implemented in OpenGL. More... | |
| class | ITexture |
| Texture inteface. More... | |
| class | ITextureD3D11 |
| Interface to the texture object implemented in D3D11. More... | |
| class | ITextureD3D12 |
| Interface to the texture object implemented in D3D11. More... | |
| class | ITextureGL |
| Interface to the texture object implemented in OpenGL. More... | |
| class | ITextureView |
| Texture view interface. More... | |
| class | ITextureViewD3D11 |
| Interface to the texture view object implemented in D3D11. More... | |
| class | ITextureViewD3D12 |
| Interface to the texture view object implemented in D3D11. More... | |
| class | ITextureViewGL |
| Interface to the texture view object implemented in OpenGL. More... | |
| struct | LayoutElement |
| Description of a single element of the input layout. More... | |
| class | MapHelper |
| Facilitates resource mapping. More... | |
| class | ObjectBase |
| Template class implementing base functionality for an object. More... | |
| struct | OptimizedClearValue |
| Defines optimized clear value. More... | |
| class | PipelineStateBase |
| Template class implementing base functionality for a pipeline state object. More... | |
| class | PipelineStateD3D11Impl |
| Implementation of the Diligent::IPipelineStateD3D11 interface. More... | |
| class | PipelineStateD3D12Impl |
| Implementation of the Diligent::IRenderDeviceD3D12 interface. More... | |
| struct | PipelineStateDesc |
| Pipeline state description. More... | |
| class | PipelineStateGLImpl |
| Implementation of the Diligent::IPipelineStateGL interface. More... | |
| struct | RasterizerStateDesc |
| Rasterizer state description. More... | |
| struct | Rect |
| Describes the rectangle. More... | |
| class | RefCntAutoPtr |
| Template class that implements reference counting. More... | |
| class | RefCntWeakPtr |
| Implementation of weak pointers. More... | |
| class | RefCountedObject |
| Base class for all reference counting objects. More... | |
| class | RenderDeviceBase |
| Base implementation of a render device. More... | |
| class | RenderDeviceD3D11Impl |
| Implementation of the Diligent::IRenderDeviceD3D11 interface. More... | |
| class | RenderDeviceD3D12Impl |
| Implementation of the Diligent::IRenderDeviceD3D12 interface. More... | |
| class | RenderDeviceGLImpl |
| Implementation of the render device interface in OpenGL. More... | |
| struct | RenderTargetBlendDesc |
| Describes a blend state for a single render target. More... | |
| struct | ResourceMappingDesc |
| Resource mapping description. More... | |
| struct | ResourceMappingEntry |
| Describes the resourse mapping object entry. More... | |
| class | ResourceMappingImpl |
| Implementation of the resource mapping. More... | |
| class | RootSignature |
| Implementation of the Diligent::RootSignature class. More... | |
| struct | SampleDesc |
| Sample description. More... | |
| class | SamplerBase |
| Template class implementing base functionality for a sampler object. More... | |
| struct | SamplerCaps |
| Texture sampler capabilities. More... | |
| class | SamplerD3D11Impl |
| Implementation of the Diligent::ISamplerD3D11 interface. More... | |
| class | SamplerD3D12Impl |
| Implementation of the Diligent::ISamplerD3D12 interface. More... | |
| struct | SamplerDesc |
| Sampler description. More... | |
| class | SamplerGLImpl |
| Implementation of the Diligent::ISamplerGL interface. More... | |
| class | ShaderBase |
| Template class implementing base functionality for a shader object. More... | |
| struct | ShaderCreationAttribs |
| Shader creation attributes. More... | |
| class | ShaderD3D11Impl |
| Implementation of the Diligent::IShaderD3D11 interface. More... | |
| class | ShaderD3D12Impl |
| Implementation of the Diligent::IShaderD3D12 interface. More... | |
| struct | ShaderDesc |
| Shader description. More... | |
| class | ShaderGLImpl |
| Implementation of the Diligent::IShaderGL interface. More... | |
| class | ShaderResourceBindingBase |
| Template class implementing base functionality for a shader resource binding. More... | |
| class | ShaderResourceBindingD3D11Impl |
| Implementation of the Diligent::IShaderResourceBindingD3D11 interface. More... | |
| class | ShaderResourceBindingD3D12Impl |
| Implementation of the Diligent::IShaderResourceBindingD3D12 interface. More... | |
| class | ShaderResourceBindingGLImpl |
| Implementation of the Diligent::IShaderResourceBindingGL interface. More... | |
| class | ShaderResourceCacheD3D11 |
| The class implements a cache that holds resources bound to a specific shader stage. More... | |
| class | ShaderResourceLayoutD3D11 |
| Diligent::ShaderResourceLayoutD3D11 class http://diligentgraphics.com/diligent-engine/architecture/d3d11/shader-resource-layout/. More... | |
| class | ShaderResourceLayoutD3D12 |
| Diligent::ShaderResourceLayoutD3D12 class. More... | |
| class | ShaderResourcesD3D11 |
| Diligent::ShaderResources class. More... | |
| class | ShaderResourcesD3D12 |
| Diligent::ShaderResources class. More... | |
| struct | ShaderVariableBase |
| Base implementation of a shader variable. More... | |
| struct | ShaderVariableDesc |
| Describes shader variable. More... | |
| class | StateObjectsRegistry |
| Template class implementing state object registry. More... | |
| struct | StaticSamplerDesc |
| Static sampler description. More... | |
| struct | StencilOpDesc |
| Describes stencil operations that are performed based on the results of depth test. More... | |
| class | StringDataBlobImpl |
| Base interface for a file stream. More... | |
| class | SwapChainBase |
| Base implementation of the swap chain. More... | |
| class | SwapChainD3D11Impl |
| Implementation of the Diligent::ISwapChainD3D11 interface. More... | |
| class | SwapChainD3D12Impl |
| Implementation of the Diligent::ISwapChainD3D12 interface. More... | |
| struct | SwapChainDesc |
| Swap chain description. More... | |
| class | SwapChainGLImpl |
| Implementation of the Diligent::ISwapChainGL interface. More... | |
| class | Texture1D_D3D11 |
| Implementation of a 1D texture. More... | |
| class | Texture2D_D3D11 |
| Implementation of a 2D texture. More... | |
| class | Texture3D_D3D11 |
| Implementation of a 3D texture. More... | |
| class | TextureBase |
| Base implementation of the ITexture interface. More... | |
| class | TextureBaseD3D11 |
| Base implementation of the Diligent::ITextureD3D11 interface. More... | |
| class | TextureBaseGL |
| Base implementation of the Diligent::ITextureGL interface. More... | |
| struct | TextureCaps |
| Texture capabilities. More... | |
| class | TextureD3D12Impl |
| Base implementation of the Diligent::ITextureD3D12 interface. More... | |
| struct | TextureData |
| Describes the initial data to store in the texture. More... | |
| struct | TextureDesc |
| Texture description. More... | |
| struct | TextureFormatAttribs |
| Describes invariant texture format attributes. These attributes are intrinsic to the texture format itself and do not depend on the format support. More... | |
| struct | TextureFormatInfo |
| Basic texture format description. More... | |
| struct | TextureFormatInfoExt |
| Extended texture format description. More... | |
| struct | TextureSubResData |
| Describes data for one subresource. More... | |
| class | TextureViewBase |
| Template class implementing base functionality for a texture view interface. More... | |
| class | TextureViewD3D11Impl |
| Implementation of the Diligent::ITextureViewD3D11 interface. More... | |
| class | TextureViewD3D12Impl |
| Implementation of the Diligent::ITextureViewD3D12 interface. More... | |
| struct | TextureViewDesc |
| Texture view description. More... | |
| class | TextureViewGLImpl |
| Implementation of the Diligent::ITextureViewGL interface. More... | |
| struct | VertexStreamInfo |
| Describes input vertex stream. More... | |
| struct | Viewport |
| Describes the viewport. More... | |
Functions | |
| void | LoadGraphicsEngineD3D11 (GetEngineFactoryD3D11Type &GetFactoryFunc) |
| Loads Direct3D11-based engine implementation and exports factory functions. More... | |
| void | LoadGraphicsEngineOpenGL (GetEngineFactoryOpenGLType &GetFactoryFunc) |
| Loads OpenGL-based engine implementation and exports factory functions. More... | |
| IMemoryAllocator & | GetRawAllocator () |
| Returns raw memory allocator. | |
| void | LoadGraphicsEngineD3D12 (GetEngineFactoryD3D12Type &GetFactoryFunc) |
| Loads Direct3D12-based engine implementation and exports factory functions. More... | |
| void | SetRawAllocator (IMemoryAllocator *pRawAllocator) |
| Sets raw memory allocator. This function must be called before any memory allocation/deallocation function is called. | |
Variables | |
| static constexpr Uint32 | MaxBufferSlots = 32 |
| Maximum number of input buffer slots. D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT == 32. | |
| static constexpr Uint32 | MaxRenderTargets = 8 |
| Maximum number of simultaneous render targets. | |
Namespace for the OpenGL implementation of the graphics engine.
Graphics engine namespace.
Namespace for the Direct3D11 implementation of the graphics engine.
| enum Diligent::BIND_FLAGS : Int32 |
Resource binding flags.
This enumeration describes which parts of the pipeline a resource can be bound to. It generally mirrors D3D11_BIND_FLAG enumeration. It is used by
| enum Diligent::BIND_SHADER_RESOURCES_FLAGS : Int32 |
Describes flags that can be supplied to IShader::BindResources() and IDeviceContext::BindShaderResources().
| enum Diligent::BLEND_FACTOR : Int8 |
Blend factors.
This enumeration defines blend factors for alpha-blending. It generatlly mirrors D3D11_BLEND and D3D12_BLEND enumerations and is used by RenderTargetBlendDesc structure to define source and destination blend factors for color and alpha channels.
| Enumerator | |
|---|---|
| BLEND_FACTOR_UNDEFINED | Undefined blend factor. |
| BLEND_FACTOR_ZERO | The blend factor is zero. |
| BLEND_FACTOR_ONE | The blend factor is one. |
| BLEND_FACTOR_SRC_COLOR | The blend factor is RGB data from a pixel shader. |
| BLEND_FACTOR_INV_SRC_COLOR | The blend factor is 1-RGB, where RGB is the data from a pixel shader. |
| BLEND_FACTOR_SRC_ALPHA | The blend factor is alpha (A) data from a pixel shader. |
| BLEND_FACTOR_INV_SRC_ALPHA | The blend factor is 1-A, where A is alpha data from a pixel shader. |
| BLEND_FACTOR_DEST_ALPHA | The blend factor is alpha (A) data from a render target. |
| BLEND_FACTOR_INV_DEST_ALPHA | The blend factor is 1-A, where A is alpha data from a render target. |
| BLEND_FACTOR_DEST_COLOR | The blend factor is RGB data from a render target. |
| BLEND_FACTOR_INV_DEST_COLOR | The blend factor is 1-RGB, where RGB is the data from a render target. |
| BLEND_FACTOR_SRC_ALPHA_SAT | The blend factor is (f,f,f,1), where f = min(As, 1-Ad), As is alpha data from a pixel shader, and Ad is alpha data from a render target. |
| BLEND_FACTOR_BLEND_FACTOR | The blend factor is the constant blend factor set with IDeviceContext::SetBlendFactors(). |
| BLEND_FACTOR_INV_BLEND_FACTOR | The blend factor is one minus constant blend factor set with IDeviceContext::SetBlendFactors(). |
| BLEND_FACTOR_SRC1_COLOR | The blend factor is the second RGB data output from a pixel shader. |
| BLEND_FACTOR_INV_SRC1_COLOR | The blend factor is 1-RGB, where RGB is the second RGB data output from a pixel shader. |
| BLEND_FACTOR_SRC1_ALPHA | The blend factor is the second alpha (A) data output from a pixel shader. |
| BLEND_FACTOR_INV_SRC1_ALPHA | The blend factor is 1-A, where A is the second alpha data output from a pixel shader. |
| BLEND_FACTOR_NUM_FACTORS | Helper value that stores the total number of blend factors in the enumeration. |
| enum Diligent::BLEND_OPERATION : Int8 |
Blending operation.
This enumeration describes blending operation for RGB or Alpha channels and generally mirrors D3D11_BLEND_OP and D3D12_BLEND_OP enums. It is used by RenderTargetBlendDesc structure to define RGB and Alpha blending operations
| enum Diligent::BUFFER_MODE : Int32 |
Describes the buffer access mode.
This enumeration is used by BufferDesc structure.
| enum Diligent::BUFFER_VIEW_TYPE : Int32 |
Buffer view type.
This enumeration describes allowed view types for a buffer view. It is used by BufferViewDesc structure.
| enum Diligent::CLEAR_DEPTH_STENCIL_FLAGS : Int32 |
Defines which parts of the depth-stencil buffer to clear.
These flags are used by IDeviceContext::ClearDepthStencil().
| Enumerator | |
|---|---|
| CLEAR_DEPTH_FLAG | Clear depth part of the buffer. |
| CLEAR_STENCIL_FLAG | Clear stencil part of the buffer. |
| enum Diligent::COLOR_MASK : Int32 |
Color component write flags.
These flags are used by RenderTargetBlendDesc structure to define writable components of the render target
Defines allowed flags for IDeviceContext::CommitShaderResources() function.
| Enumerator | |
|---|---|
| COMMIT_SHADER_RESOURCES_FLAG_TRANSITION_RESOURCES | Transition resources being committed. If this flag is specified when IDeviceContext::CommitShaderResources() is called, the engine will transition all shader resources to the correct state. |
| enum Diligent::COMPARISON_FUNCTION : Int32 |
Comparison function.
This enumeartion defines a comparison function. It generally mirrors D3D11_COMPARISON_FUNC/D3D12_COMPARISON_FUNC enum and is used by
| enum Diligent::COMPONENT_TYPE : Int32 |
Describes texture format component type.
| enum Diligent::CPU_ACCESS_FLAG : Int32 |
Allowed CPU access mode flags when mapping a resource.
The enumeration is used by
| Enumerator | |
|---|---|
| CPU_ACCESS_READ | A resource can be mapped for reading. |
| CPU_ACCESS_WRITE | A resource can be mapped for writing. |
| enum Diligent::CULL_MODE : Int32 |
Cull mode.
This enumeration defines which triangles are not drawn during the rasterization and mirrors D3D11_CULL_MODE/D3D12_CULL_MODE enum. It is used by RasterizerStateDesc structure to define the polygon cull mode.
| Enumerator | |
|---|---|
| CULL_MODE_UNDEFINED | Undefined cull mode. |
| CULL_MODE_NONE | Draw all triangles. |
| CULL_MODE_FRONT | Do not draw triangles that are front-facing. Front- and back-facing triangles are determined by the RasterizerStateDesc::FrontCounterClockwise member. |
| CULL_MODE_BACK | Do not draw triangles that are back-facing. Front- and back-facing triangles are determined by the RasterizerStateDesc::FrontCounterClockwise member. |
| CULL_MODE_NUM_MODES | Helper value that stores the total number of cull modes in the enumeration. |
|
strong |
|
strong |
Debug flags that can be specified when creating Direct3D11-based engine implementation.
| enum Diligent::FILL_MODE : Int32 |
Fill mode.
This enumeration determines the fill mode to use when rendering triangles and mirrors the D3D11_FILL_MODE/D3D12_FILL_MODE enum. It is used by RasterizerStateDesc structure to define the fill mode.
| enum Diligent::FILTER_TYPE : Int32 |
Filter type.
This enumeration defines filter type. It is used by SamplerDesc structure to define min, mag and mip filters.
| enum Diligent::LOGIC_OPERATION : Int8 |
Logic operation.
This enumeration describes logic operation and generally mirrors D3D12_LOGIC_OP enum. It is used by RenderTargetBlendDesc structure to define logic operation. Only available on D3D12 engine
| enum Diligent::MAP_FLAGS : Int32 |
Special map flags.
Describes special arguments for a map operation. This enumeration is used by
| enum Diligent::MAP_TYPE : Int32 |
Resource mapping type.
Describes how a mapped resource will be accessed. This enumeration generally mirrors D3D11_MAP enumeration. It is used by
Miscellaneous texture flags.
The enumeration is used by TextureDesc to describe misc texture flags
| Enumerator | |
|---|---|
| MISC_TEXTURE_FLAG_GENERATE_MIPS | Allow automatic mipmap generation with ITextureView::GenerateMips()
|
| enum Diligent::PRIMITIVE_TOPOLOGY : Int32 |
Input primitive topology.
This enumeration is used by DrawAttribs structure to define input primitive topology.
| enum Diligent::PRIMITIVE_TOPOLOGY_TYPE : Int32 |
Primitive topology type.
This enumeration describes primitive topology type. It generally mirrors D3D12_PRIMITIVE_TOPOLOGY_TYPE enumeration. The enumeration is used by GraphicsPipelineDesc to describe how the pipeline interprets geometry or hull shader input primitives
| enum Diligent::RESOURCE_DIMENSION : Int32 |
Describes resource dimension.
This enumeration is used by
| enum Diligent::SET_VERTEX_BUFFERS_FLAGS : Int32 |
Defines allowed flags for IDeviceContext::SetVertexBuffers() function.
| Enumerator | |
|---|---|
| SET_VERTEX_BUFFERS_FLAG_RESET | Reset the vertex buffers to only the buffers specified in this call. All buffers previously bound to the pipeline will be unbound. |
| enum Diligent::SHADER_SOURCE_LANGUAGE : Int32 |
| enum Diligent::SHADER_TYPE : Int32 |
Describes the shader type.
| enum Diligent::SHADER_VARIABLE_TYPE : Int32 |
Describes shader variable type that is used by ShaderVariableDesc.
| Enumerator | |
|---|---|
| SHADER_VARIABLE_TYPE_STATIC | Shader variable is constant across all shader instances. It must be set once directly through IShader::BindResources() or through the shader variable. |
| SHADER_VARIABLE_TYPE_MUTABLE | Shader variable is constant across shader resource bindings instance (see IShaderResourceBinding). It must be set once through IShaderResourceBinding::BindResources() or through the shader variable. It cannot be set through IShader interface. |
| SHADER_VARIABLE_TYPE_DYNAMIC | Shader variable is dynamic. It can be set multiple times for every instance of shader resource bindings (see IShaderResourceBinding). It cannot be set through IShader interface. |
| SHADER_VARIABLE_TYPE_NUM_TYPES | Total number of shader variable types. |
| enum Diligent::STENCIL_OP : Int32 |
Stencil operation.
This enumeration describes the stencil operation and generally mirrors D3D11_STENCIL_OP/D3D12_STENCIL_OP enumeration. It is used by Diligent::StencilOpDesc structure to describe the stencil fail, depth fail and stencil pass operations
| Enumerator | |
|---|---|
| STENCIL_OP_UNDEFINED | Undefined operation. |
| STENCIL_OP_KEEP | Keep the existing stencil data. |
| STENCIL_OP_ZERO | Set the stencil data to 0. |
| STENCIL_OP_REPLACE | Set the stencil data to the reference value set by calling IDeviceContext::SetStencilRef(). |
| STENCIL_OP_INCR_SAT | Increment the current stencil value, and clamp to the maximum representable unsigned value. |
| STENCIL_OP_DECR_SAT | Decrement the current stencil value, and clamp to 0. |
| STENCIL_OP_INVERT | Bitwise invert the current stencil buffer value. |
| STENCIL_OP_INCR_WRAP | Increment the current stencil value, and wrap the value to zero when incrementing the maximum representable unsigned value. |
| STENCIL_OP_DECR_WRAP | Decrement the current stencil value, and wrap the value to the maximum representable unsigned value when decrementing a value of zero. |
| STENCIL_OP_NUM_OPS | Helper value that stores the total number of stencil operations in the enumeration. |
| enum Diligent::TEXTURE_ADDRESS_MODE : Int32 |
Texture address mode.
Defines a technique for resolving texture coordinates that are outside of the boundaries of a texture. The enumeration generally mirrors D3D11_TEXTURE_ADDRESS_MODE/D3D12_TEXTURE_ADDRESS_MODE enumeration. It is used by SamplerDesc structure to define the address mode for U,V and W texture coordinates.
| Enumerator | |
|---|---|
| TEXTURE_ADDRESS_UNKNOWN | Unknown mode. |
| TEXTURE_ADDRESS_WRAP | Tile the texture at every integer junction. |
| TEXTURE_ADDRESS_MIRROR | Flip the texture at every integer junction. |
| TEXTURE_ADDRESS_CLAMP | Texture coordinates outside the range [0.0, 1.0] are set to the texture color at 0.0 or 1.0, respectively. |
| TEXTURE_ADDRESS_BORDER | Texture coordinates outside the range [0.0, 1.0] are set to the border color specified specified in SamplerDesc structure. |
| TEXTURE_ADDRESS_MIRROR_ONCE | Similar to TEXTURE_ADDRESS_MIRROR and TEXTURE_ADDRESS_CLAMP. Takes the absolute value of the texture coordinate (thus, mirroring around 0), and then clamps to the maximum value.
|
| TEXTURE_ADDRESS_NUM_MODES | Helper value that stores the total number of texture address modes in the enumeration. |
| enum Diligent::TEXTURE_FORMAT : Int32 |
Texture formats.
This enumeration describes available texture formats and generally mirrors DXGI_FORMAT enumeration. The table below provides detailed information on each format. Most of the formats are widely supported by all modern APIs (DX10+, OpenGL3.3+ and OpenGLES3.0+). Specific requirements are additionally indicated.
| Enumerator | |
|---|---|
| TEX_FORMAT_UNKNOWN | Unknown format. |
| TEX_FORMAT_RGBA32_TYPELESS | Four-component 128-bit typeless format with 32-bit channels. |
| TEX_FORMAT_RGBA32_FLOAT | Four-component 128-bit floating-point format with 32-bit channels. |
| TEX_FORMAT_RGBA32_UINT | Four-component 128-bit unsigned-integer format with 32-bit channels. |
| TEX_FORMAT_RGBA32_SINT | Four-component 128-bit signed-integer format with 32-bit channels. |
| TEX_FORMAT_RGB32_TYPELESS | Three-component 96-bit typeless format with 32-bit channels.
|
| TEX_FORMAT_RGB32_FLOAT | Three-component 96-bit floating-point format with 32-bit channels.
|
| TEX_FORMAT_RGB32_UINT | Three-component 96-bit unsigned-integer format with 32-bit channels.
|
| TEX_FORMAT_RGB32_SINT | Three-component 96-bit signed-integer format with 32-bit channels.
|
| TEX_FORMAT_RGBA16_TYPELESS | Four-component 64-bit typeless format with 16-bit channels. |
| TEX_FORMAT_RGBA16_FLOAT | Four-component 64-bit half-precision floating-point format with 16-bit channels. |
| TEX_FORMAT_RGBA16_UNORM | Four-component 64-bit unsigned-normalized-integer format with 16-bit channels. |
| TEX_FORMAT_RGBA16_UINT | Four-component 64-bit unsigned-integer format with 16-bit channels. |
| TEX_FORMAT_RGBA16_SNORM | Four-component 64-bit signed-normalized-integer format with 16-bit channels. |
| TEX_FORMAT_RGBA16_SINT | Four-component 64-bit signed-integer format with 16-bit channels. |
| TEX_FORMAT_RG32_TYPELESS | Two-component 64-bit typeless format with 32-bit channels. |
| TEX_FORMAT_RG32_FLOAT | Two-component 64-bit floating-point format with 32-bit channels. |
| TEX_FORMAT_RG32_UINT | Two-component 64-bit unsigned-integer format with 32-bit channels. |
| TEX_FORMAT_RG32_SINT | Two-component 64-bit signed-integer format with 32-bit channels. |
| TEX_FORMAT_R32G8X24_TYPELESS | Two-component 64-bit typeless format with 32-bits for R channel and 8 bits for G channel. |
| TEX_FORMAT_D32_FLOAT_S8X24_UINT | Two-component 64-bit format with 32-bit floating-point depth channel and 8-bit stencil channel. |
| TEX_FORMAT_R32_FLOAT_X8X24_TYPELESS | Two-component 64-bit format with 32-bit floating-point R channel and 8+24-bits of typeless data. |
| TEX_FORMAT_X32_TYPELESS_G8X24_UINT | Two-component 64-bit format with 32-bit typeless data and 8-bit G channel.
|
| TEX_FORMAT_RGB10A2_TYPELESS | Four-component 32-bit typeless format with 10 bits for RGB and 2 bits for alpha channel. |
| TEX_FORMAT_RGB10A2_UNORM | Four-component 32-bit unsigned-normalized-integer format with 10 bits for each color and 2 bits for alpha channel. |
| TEX_FORMAT_RGB10A2_UINT | Four-component 32-bit unsigned-integer format with 10 bits for each color and 2 bits for alpha channel. |
| TEX_FORMAT_R11G11B10_FLOAT | Three-component 32-bit format encoding three partial precision channels using 11 bits for red and green and 10 bits for blue channel. |
| TEX_FORMAT_RGBA8_TYPELESS | Four-component 32-bit typeless format with 8-bit channels. |
| TEX_FORMAT_RGBA8_UNORM | Four-component 32-bit unsigned-normalized-integer format with 8-bit channels. |
| TEX_FORMAT_RGBA8_UNORM_SRGB | Four-component 32-bit unsigned-normalized-integer sRGB format with 8-bit channels. |
| TEX_FORMAT_RGBA8_UINT | Four-component 32-bit unsigned-integer format with 8-bit channels. |
| TEX_FORMAT_RGBA8_SNORM | Four-component 32-bit signed-normalized-integer format with 8-bit channels. |
| TEX_FORMAT_RGBA8_SINT | Four-component 32-bit signed-integer format with 8-bit channels. |
| TEX_FORMAT_RG16_TYPELESS | Two-component 32-bit typeless format with 16-bit channels. |
| TEX_FORMAT_RG16_FLOAT | Two-component 32-bit half-precision floating-point format with 16-bit channels. |
| TEX_FORMAT_RG16_UNORM | Two-component 32-bit unsigned-normalized-integer format with 16-bit channels. |
| TEX_FORMAT_RG16_UINT | Two-component 32-bit unsigned-integer format with 16-bit channels. |
| TEX_FORMAT_RG16_SNORM | Two-component 32-bit signed-normalized-integer format with 16-bit channels. |
| TEX_FORMAT_RG16_SINT | Two-component 32-bit signed-integer format with 16-bit channels. |
| TEX_FORMAT_R32_TYPELESS | Single-component 32-bit typeless format. |
| TEX_FORMAT_D32_FLOAT | Single-component 32-bit floating-point depth format. |
| TEX_FORMAT_R32_FLOAT | Single-component 32-bit floating-point format. |
| TEX_FORMAT_R32_UINT | Single-component 32-bit unsigned-integer format. |
| TEX_FORMAT_R32_SINT | Single-component 32-bit signed-integer format. |
| TEX_FORMAT_R24G8_TYPELESS | Two-component 32-bit typeless format with 24 bits for R and 8 bits for G channel. |
| TEX_FORMAT_D24_UNORM_S8_UINT | Two-component 32-bit format with 24 bits for unsigned-normalized-integer depth and 8 bits for stencil. |
| TEX_FORMAT_R24_UNORM_X8_TYPELESS | Two-component 32-bit format with 24 bits for unsigned-normalized-integer data and 8 bits of unreferenced data. |
| TEX_FORMAT_X24_TYPELESS_G8_UINT | Two-component 32-bit format with 24 bits of unreferenced data and 8 bits of unsigned-integer data.
|
| TEX_FORMAT_RG8_TYPELESS | Two-component 16-bit typeless format with 8-bit channels. |
| TEX_FORMAT_RG8_UNORM | Two-component 16-bit unsigned-normalized-integer format with 8-bit channels. |
| TEX_FORMAT_RG8_UINT | Two-component 16-bit unsigned-integer format with 8-bit channels. |
| TEX_FORMAT_RG8_SNORM | Two-component 16-bit signed-normalized-integer format with 8-bit channels. |
| TEX_FORMAT_RG8_SINT | Two-component 16-bit signed-integer format with 8-bit channels. |
| TEX_FORMAT_R16_TYPELESS | Single-component 16-bit typeless format. |
| TEX_FORMAT_R16_FLOAT | Single-component 16-bit half-precisoin floating-point format. |
| TEX_FORMAT_D16_UNORM | Single-component 16-bit unsigned-normalized-integer depth format. |
| TEX_FORMAT_R16_UNORM | Single-component 16-bit unsigned-normalized-integer format. OpenGLES: GL_EXT_texture_norm16 extension is required. |
| TEX_FORMAT_R16_UINT | Single-component 16-bit unsigned-integer format. |
| TEX_FORMAT_R16_SNORM | Single-component 16-bit signed-normalized-integer format. |
| TEX_FORMAT_R16_SINT | Single-component 16-bit signed-integer format. |
| TEX_FORMAT_R8_TYPELESS | Single-component 8-bit typeless format. |
| TEX_FORMAT_R8_UNORM | Single-component 8-bit unsigned-normalized-integer format. |
| TEX_FORMAT_R8_UINT | Single-component 8-bit unsigned-integer format. |
| TEX_FORMAT_R8_SNORM | Single-component 8-bit signed-normalized-integer format. |
| TEX_FORMAT_R8_SINT | Single-component 8-bit signed-integer format. |
| TEX_FORMAT_A8_UNORM | Single-component 8-bit unsigned-normalized-integer format for alpha only.
|
| TEX_FORMAT_R1_UNORM | Single-component 1-bit format.
|
| TEX_FORMAT_RGB9E5_SHAREDEXP | Three partial-precision floating pointer numbers sharing single exponent encoded into a 32-bit value. |
| TEX_FORMAT_RG8_B8G8_UNORM | Four-component unsigned-normalized integer format analogous to UYVY encoding.
|
| TEX_FORMAT_G8R8_G8B8_UNORM | Four-component unsigned-normalized integer format analogous to YUY2 encoding.
|
| TEX_FORMAT_BC1_TYPELESS | Four-component typeless block-compression format with 1:8 compression ratio.
|
| TEX_FORMAT_BC1_UNORM | Four-component unsigned-normalized-integer block-compression format with 5 bits for R, 6 bits for G, 5 bits for B, and 0 or 1 bit for A channel. The pixel data is encoded using 8 bytes per 4x4 block (4 bits per pixel) providing 1:8 compression ratio against RGBA8 format.
|
| TEX_FORMAT_BC1_UNORM_SRGB | Four-component unsigned-normalized-integer block-compression sRGB format with 5 bits for R, 6 bits for G, 5 bits for B, and 0 or 1 bit for A channel.
|
| TEX_FORMAT_BC2_TYPELESS | Four component typeless block-compression format with 1:4 compression ratio. OpenGL & OpenGLES: GL_EXT_texture_compression_s3tc extension is required.
|
| TEX_FORMAT_BC2_UNORM | Four-component unsigned-normalized-integer block-compression format with 5 bits for R, 6 bits for G, 5 bits for B, and 4 bits for low-coherent separate A channel. The pixel data is encoded using 16 bytes per 4x4 block (8 bits per pixel) providing 1:4 compression ratio against RGBA8 format.
|
| TEX_FORMAT_BC2_UNORM_SRGB | Four-component signed-normalized-integer block-compression sRGB format with 5 bits for R, 6 bits for G, 5 bits for B, and 4 bits for low-coherent separate A channel. The pixel data is encoded using 16 bytes per 4x4 block (8 bits per pixel) providing 1:4 compression ratio against RGBA8 format.
|
| TEX_FORMAT_BC3_TYPELESS | Four-component typeless block-compression format with 1:4 compression ratio.
|
| TEX_FORMAT_BC3_UNORM | Four-component unsigned-normalized-integer block-compression format with 5 bits for R, 6 bits for G, 5 bits for B, and 8 bits for highly-coherent A channel. The pixel data is encoded using 16 bytes per 4x4 block (8 bits per pixel) providing 1:4 compression ratio against RGBA8 format.
|
| TEX_FORMAT_BC3_UNORM_SRGB | Four-component unsigned-normalized-integer block-compression sRGB format with 5 bits for R, 6 bits for G, 5 bits for B, and 8 bits for highly-coherent A channel. The pixel data is encoded using 16 bytes per 4x4 block (8 bits per pixel) providing 1:4 compression ratio against RGBA8 format.
|
| TEX_FORMAT_BC4_TYPELESS | One-component typeless block-compression format with 1:2 compression ratio.
|
| TEX_FORMAT_BC4_UNORM | One-component unsigned-normalized-integer block-compression format with 8 bits for R channel. The pixel data is encoded using 8 bytes per 4x4 block (4 bits per pixel) providing 1:2 compression ratio against R8 format.
|
| TEX_FORMAT_BC4_SNORM | One-component signed-normalized-integer block-compression format with 8 bits for R channel. The pixel data is encoded using 8 bytes per 4x4 block (4 bits per pixel) providing 1:2 compression ratio against R8 format.
|
| TEX_FORMAT_BC5_TYPELESS | Two-component typeless block-compression format with 1:2 compression ratio.
|
| TEX_FORMAT_BC5_UNORM | Two-component unsigned-normalized-integer block-compression format with 8 bits for R and 8 bits for G channel. The pixel data is encoded using 16 bytes per 4x4 block (8 bits per pixel) providing 1:2 compression ratio against RG8 format.
|
| TEX_FORMAT_BC5_SNORM | Two-component signed-normalized-integer block-compression format with 8 bits for R and 8 bits for G channel. The pixel data is encoded using 16 bytes per 4x4 block (8 bits per pixel) providing 1:2 compression ratio against RG8 format.
|
| TEX_FORMAT_B5G6R5_UNORM | Three-component 16-bit unsigned-normalized-integer format with 5 bits for blue, 6 bits for green, and 5 bits for red channel.
|
| TEX_FORMAT_B5G5R5A1_UNORM | Four-component 16-bit unsigned-normalized-integer format with 5 bits for each color channel and 1-bit alpha.
|
| TEX_FORMAT_BGRA8_UNORM | Four-component 32-bit unsigned-normalized-integer format with 8 bits for each channel.
|
| TEX_FORMAT_BGRX8_UNORM | Four-component 32-bit unsigned-normalized-integer format with 8 bits for each color channel and 8 bits unused.
|
| TEX_FORMAT_R10G10B10_XR_BIAS_A2_UNORM | Four-component 32-bit 2.8-biased fixed-point format with 10 bits for each color channel and 2-bit alpha.
|
| TEX_FORMAT_BGRA8_TYPELESS | Four-component 32-bit typeless format with 8 bits for each channel.
|
| TEX_FORMAT_BGRA8_UNORM_SRGB | Four-component 32-bit unsigned-normalized sRGB format with 8 bits for each channel.
|
| TEX_FORMAT_BGRX8_TYPELESS | Four-component 32-bit typeless format that with 8 bits for each color channel, and 8 bits are unused.
|
| TEX_FORMAT_BGRX8_UNORM_SRGB | Four-component 32-bit unsigned-normalized sRGB format with 8 bits for each color channel, and 8 bits are unused.
|
| TEX_FORMAT_BC6H_TYPELESS | Three-component typeless block-compression format. |
| TEX_FORMAT_BC6H_UF16 | Three-component unsigned half-precision floating-point format with 16 bits for each channel. |
| TEX_FORMAT_BC6H_SF16 | Three-channel signed half-precision floating-point format with 16 bits per each channel. |
| TEX_FORMAT_BC7_TYPELESS | Three-component typeless block-compression format. |
| TEX_FORMAT_BC7_UNORM | Three-component block-compression unsigned-normalized-integer format with 4 to 7 bits per color channel and 0 to 8 bits of alpha. |
| TEX_FORMAT_BC7_UNORM_SRGB | Three-component block-compression unsigned-normalized-integer sRGB format with 4 to 7 bits per color channel and 0 to 8 bits of alpha. |
| TEX_FORMAT_NUM_FORMATS | Helper member containing the total number of texture formats in the enumeration. |
| enum Diligent::TEXTURE_VIEW_TYPE : Int32 |
Texture view type.
This enumeration describes allowed view types for a texture view. It is used by TextureViewDesc structure.
| enum Diligent::UAV_ACCESS_FLAG : Int32 |
| enum Diligent::USAGE : Int32 |
Resource usage.
This enumeration describes expected resource usage. It generally mirrors D3D11_USAGE enumeration. The enumeration is used by
| enum Diligent::VALUE_TYPE : Int32 |
Value type.
This enumeration describes value type. It is used by
| void Diligent::LoadGraphicsEngineD3D11 | ( | GetEngineFactoryD3D11Type & | GetFactoryFunc | ) |
Loads Direct3D11-based engine implementation and exports factory functions.
| [out] | GetFactoryFunc | - Pointer to the function that returns factory for D3D11 engine implementation See EngineFactoryD3D11Impl. |
| Platform\Configuration | Debug | Release ---------— |
|---|---|---|
| x86 | GraphicsEngineD3D11_32d.dll | GraphicsEngineD3D11_32r.dll |
| x64 | GraphicsEngineD3D11_64d.dll | GraphicsEngineD3D11_64r.dll |
| void Diligent::LoadGraphicsEngineD3D12 | ( | GetEngineFactoryD3D12Type & | GetFactoryFunc | ) |
Loads Direct3D12-based engine implementation and exports factory functions.
| [out] | GetFactoryFunc | - Pointer to the function that returns factory for D3D12 engine implementation. See EngineFactoryD3D12Impl. |
| Platform\Configuration | Debug | Release ---------— |
|---|---|---|
| x86 | GraphicsEngineD3D12_32d.dll | GraphicsEngineD3D12_32r.dll |
| x64 | GraphicsEngineD3D12_64d.dll | GraphicsEngineD3D12_64r.dll |
| void Diligent::LoadGraphicsEngineOpenGL | ( | GetEngineFactoryOpenGLType & | GetFactoryFunc | ) |
Loads OpenGL-based engine implementation and exports factory functions.
| [out] | GetFactoryFunc | - Pointer to the function that returns pointer to the factory for the OpenGL engine implementation See EngineFactoryOpenGLImpl::CreateDeviceAndSwapChainGL(). |
| Platform\Configuration | Debug | Release -------— |
|---|---|---|
| Win32/x86 | GraphicsEngineOpenGL_32d.dll | GraphicsEngineOpenGL_32r.dll |
| Win32/x64 | GraphicsEngineOpenGL_64d.dll | GraphicsEngineOpenGL_64r.dll |
To load the library on Android, it is necessary to call System.loadLibrary("GraphicsEngineOpenGL") from Java.