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.