Cogs.Rendering
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions
Cogs Namespace Reference

Namespaces

namespace  Memory
 

Classes

struct  AccessMode
 Access mode to buffers after creation. More...
 
struct  BindFlags
 Bind flags describe how a resource can be used by the graphics pipeline. More...
 
struct  BlendFlags
 
struct  BlendState
 Encapsulates blend state for the graphics pipeline in a state object. More...
 
struct  CommandGroupAnnotation
 RAII-helper for pushCommandGroupAnnotation/pushCommandGroupAnnotation. More...
 
struct  DepthStencilState
 Encapsulates state for depth buffer usage and stencil buffer usage in a state object. More...
 
struct  DepthStencilViewDescription
 Describes a single depth stencil view and which resources to use from the underlying texture. More...
 
struct  EffectDescription
 Contains an effect description used to load a single effect. More...
 
struct  EffectFlags
 Flags used to describe effect source. More...
 
struct  Factory
 Graphics device construction factory. More...
 
struct  FormatInfo
 
struct  Framebuffer
 Framebuffers to select from when doing framebuffer operations. More...
 
struct  FrameStatistics
 
struct  GraphicsDeviceCapabilities
 Contains device capabilities. More...
 
struct  GraphicsDeviceSettings
 Settings for graphics device initialization. More...
 
struct  Handle_t
 Handle template class used to provide opaque, non-converting handles. More...
 
struct  IBuffers
 Provides buffer management functionality. More...
 
struct  ICapabilities
 Provides capability query functionality. More...
 
struct  IContext
 Represents a graphics device context which can receive rendering commands. More...
 
struct  IEffects
 Provides effects and shader management functionality. More...
 
class  IGraphicsDevice
 Represents a graphics device used to manage graphics resources and issue drawing commands. More...
 
struct  IIOHandler
 I/O handler. More...
 
struct  IPipelineStates
 
struct  IRenderTargets
 Provides render target management functionality. More...
 
class  ISwapChain
 
struct  ISyncObjects
 Provides sync object management. More...
 
struct  ITextures
 Provides texture management functionality. More...
 
struct  MapMode
 Mapping modes for resources managed by the graphics system. More...
 
struct  MappedBuffer
 Provides RAII style mapping of a buffer resource. More...
 
struct  MultiViewDescription
 Describes multiview framebuffer layout. More...
 
struct  PackedVertexElement
 
struct  PresentFlags
 Flags controlling presentation. More...
 
struct  PrimitiveType
 Primitive types for interpreting vertex data sent to the graphics pipeline. More...
 
struct  RasterizerState
 Encapsulates state for primitive rasterization in a state object. More...
 
struct  RenderingAllocatorInfo
 Allocation information. More...
 
struct  RenderPassInfo
 
struct  RenderTargetViewDescription
 Describes a single render target view and which resources to use from the underlying texture. More...
 
struct  ResourceStatistics
 
struct  SamplerState
 Encapsulates state for texture sampling in a state object. More...
 
struct  Series
 Known graphics device series. More...
 
struct  TextureData
 
struct  TextureDescription
 
struct  TextureExtent
 
struct  TextureFlags
 Texture flags describing valid usage for a texture object. More...
 
struct  TextureViewDescription
 Describes how to fetch data from a texture in shaders. More...
 
struct  UploadStatistics
 
struct  Usage
 Usage flags for buffers. More...
 
struct  Vendors
 Known graphics device vendors. More...
 
struct  VertexElement
 Vertex element structure used to describe a single data element in a vertex for the input assembler. More...
 
struct  VertexFormat
 Vertex format structure used to describe a single vertex for the input assembler. More...
 
struct  VertexFormats
 
struct  VertexFormatStorage
 

Typedefs

typedef Handle_t< struct RasterizerStateRasterizerStateHandle
 
typedef Handle_t< struct DepthStencilStateDepthStencilStateHandle
 
typedef Handle_t< struct BlendStateBlendStateHandle
 
typedef Handle_t< InputLayoutTag > InputLayoutHandle
 
typedef Handle_t< BufferTag > BufferHandle
 
typedef Handle_t< BufferTag, BufferHandleVertexBufferHandle
 
typedef Handle_t< BufferTag, BufferHandleIndexBufferHandle
 
typedef Handle_t< VertexFormatTag > VertexFormatHandle
 
typedef Handle_t< VertexArrayObjectTag > VertexArrayObjectHandle
 
typedef intptr_t TextureNativeHandle
 
typedef Handle_t< TextureTag > TextureHandle
 
typedef Handle_t< SamplerTag > SamplerStateHandle
 
typedef Handle_t< EffectTag > EffectHandle
 
typedef Handle_t< ShaderTag > ShaderHandle
 
typedef Handle_t< RenderPipelineTag > RenderPipelineHandle
 
typedef Handle_t< ComputePipelineTag > ComputePipelineHandle
 
typedef Handle_t< RenderTargetTag > RenderTargetHandle
 
typedef Handle_t< DepthStencilTag > DepthStencilHandle
 
typedef Handle_t< VariableBindingTag > EffectVariableHandle
 
typedef Handle_t< ConstantBufferBindingTag > ConstantBufferBindingHandle
 
typedef Handle_t< TextureBindingTag > TextureBindingHandle
 
typedef Handle_t< SamplerStateBindingTag > SamplerStateBindingHandle
 
typedef Handle_t< BufferBindingTag > BufferBindingHandle
 
typedef Handle_t< TextureViewTag > TextureViewHandle
 
typedef Handle_t< FenceTag > FenceHandle
 
using DataFormat = Format
 
using TextureFormat = Format
 
typedef std::pair< std::string, std::string > PreprocessorDefinition
 Preprocessor definition.
 
typedef std::vector< PreprocessorDefinitionPreprocessorDefinitions
 A set of preprocessor definitions.
 

Enumerations

enum class  GraphicsDeviceType {
  Unknown = 0 , Default = 0 , OpenGL20 , OpenGLES30 ,
  Direct3D11 , Direct3D12 , Vulkan , WebGPU ,
  Null
}
 Contains types of graphics devices that may be supported. More...
 
enum class  Axis {
  PositiveX , NegativeX , PositiveY , NegativeY ,
  PositiveZ , NegativeZ , Count , Unknown = -1
}
 Axis definitions. More...
 
enum struct  FormatFlags : uint32_t {
  None = 0 , Alpha = 1 << 0 , VertexFormat = 1 << 1 , Depth = 1 << 2 ,
  Typeless = 1 << 3 , Integer = 1 << 4 , Unsigned = 1 << 5
}
 
enum class  Format : uint16_t {
  Unknown = 0 , R8_UNORM , R8G8_UNORM , R8G8B8_UNORM ,
  R8G8B8A8_UNORM , R16_UNORM , R16G16_UNORM , R16G16B16_UNORM ,
  R16G16B16A16_UNORM , R8_SNORM , R8G8_SNORM , R8G8B8_SNORM ,
  R8G8B8A8_SNORM , R16_SNORM , R16G16_SNORM , R16G16B16_SNORM ,
  R16G16B16A16_SNORM , R8_UINT , R8G8_UINT , R8G8B8_UINT ,
  R8G8B8A8_UINT , R16_UINT , R16G16_UINT , R16G16B16_UINT ,
  R16G16B16A16_UINT , R32_UINT , R32G32_UINT , R32G32B32_UINT ,
  R32G32B32A32_UINT , R8_SINT , R8G8_SINT , R8G8B8_SINT ,
  R8G8B8A8_SINT , R16_SINT , R16G16_SINT , R16G16B16_SINT ,
  R16G16B16A16_SINT , R32_SINT , R32G32_SINT , R32G32B32_SINT ,
  R32G32B32A32_SINT , R16_FLOAT , R16G16_FLOAT , R16G16B16_FLOAT ,
  R16G16B16A16_FLOAT , R32_FLOAT , R32G32_FLOAT , R32G32B32_FLOAT ,
  R32G32B32A32_FLOAT , D16_UNORM , D24_UNORM , D24S8_UNORM ,
  D32_FLOAT , R32_TYPELESS , R16_TYPELESS , R8T ,
  R8G8T , R8G8B8T , R8G8B8A8T , B8G8R8 ,
  B8G8R8A8 , A8_UNORM , BC1_TYPELESS , BC1_UNORM ,
  BC1_UNORM_SRGB , BC2_TYPELESS , BC2_UNORM , BC2_UNORM_SRGB ,
  BC3_TYPELESS , BC3_UNORM , BC3_UNORM_SRGB , BC4_TYPELESS ,
  BC4_UNORM , BC4_SNORM , BC5_TYPELESS , BC5_UNORM ,
  BC5_SNORM , BC6H_SIGNED_FLOAT_RGB , BC6H_UNSIGNED_FLOAT_RGB , BC7_UNORM_RGBA ,
  BC7_UNORM_SRGBA , PVRTC1_2BPP_UNORM_RGB , PVRTC1_4BPP_UNORM_RGB , PVRTC1_2BPP_UNORM_RGBA ,
  PVRTC1_4BPP_UNORM_RGBA , EAC_BLOCK8_UNSIGNED_FLOAT_R , EAC_BLOCK8_SIGNED_FLOAT_R , EAC_BLOCK16_UNSIGNED_FLOAT_RG ,
  EAC_BLOCK16_SIGNED_FLOAT_RG , ETC2_BLOCK8_UNORM_RGB , ETC2_BLOCK8_UNORM_SRGB , ETC2_BLOCK16_UNORM_RGBA ,
  ETC2_BLOCK16_UNORM_SRGBA , ASTC_4x4_UNORM_RGBA , ASTC_5x4_UNORM_RGBA , ASTC_5x5_UNORM_RGBA ,
  ASTC_6x5_UNORM_RGBA , ASTC_6x6_UNORM_RGBA , ASTC_8x5_UNORM_RGBA , ASTC_8x6_UNORM_RGBA ,
  ASTC_8x8_UNORM_RGBA , ASTC_10x5_UNORM_RGBA , ASTC_10x6_UNORM_RGBA , ASTC_10x8_UNORM_RGBA ,
  ASTC_10x10_UNORM_RGBA , ASTC_12x10_UNORM_RGBA , ASTC_12x12_UNORM_RGBA , ASTC_4x4_UNORM_SRGBA ,
  ASTC_5x4_UNORM_SRGBA , ASTC_5x5_UNORM_SRGBA , ASTC_6x5_UNORM_SRGBA , ASTC_6x6_UNORM_SRGBA ,
  ASTC_8x5_UNORM_SRGBA , ASTC_8x6_UNORM_SRGBA , ASTC_8x8_UNORM_SRGBA , ASTC_10x5_UNORM_SRGBA ,
  ASTC_10x6_UNORM_SRGBA , ASTC_10x8_UNORM_SRGBA , ASTC_10x10_UNORM_SRGBA , ASTC_12x10_UNORM_SRGBA ,
  ASTC_12x12_UNORM_SRGBA , R8G8B8_UNORM_SRGB , R8G8B8A8_UNORM_SRGB , R10G10B10A2_TYPELESS ,
  R10G10B10A2_UNORM , R10G10B10A2_UINT , R11G11B10_FLOAT , R5G6B5_UNORM ,
  R5G5B5A1_UNORM , R4G4B4A4_UNORM , R9G9B9E5_FLOAT , MAT4X4_FLOAT ,
  Format_Size , TextureFormat_Size = Format_Size , X16_FLOAT = R16_FLOAT , X16Y16_FLOAT = R16G16_FLOAT ,
  X16Y16Z16_FLOAT = R16G16B16_FLOAT , X16Y16Z16W16_FLOAT = R16G16B16A16_FLOAT , X32_FLOAT = R32_FLOAT , X32Y32_FLOAT = R32G32_FLOAT ,
  X32Y32Z32_FLOAT = R32G32B32_FLOAT , X32Y32Z32W32_FLOAT = R32G32B32A32_FLOAT
}
 
enum class  LoadOp : uint32_t { Undefined , Clear , Load }
 
enum class  StoreOp : uint32_t { Undefined , Store , Discard }
 
enum class  EffectDescriptionType { File , Source }
 Type of contents in effect description. More...
 
enum  GraphicsDeviceFlags : int {
  None = 0x0000 , Debug = 1 << 0 , EnableDiagnostics = 1 << 1 , EnableShaderCache = 1 << 2 ,
  EnableTraceLogging = 1 << 3 , DumpShaderContents = 1 << 4 , ForceSoftwareRendering = 1 << 5 , UseSharedSurface = 1 << 6 ,
  UseESCompatibility = 1 << 7 , UseSwapEffectDiscard = 1 << 8 , UseOpenGLClipControl = 1<<9
}
 Flags controlling the behavior of a graphics device. More...
 
enum class  ResourceDimensions {
  Unknown = 0 , Buffer , Texture1D , Texture1DArray ,
  Texture2D , Texture2DArray , Texture2DMS , Texture2DMSArray ,
  Texture3D , Texture3DArray , TextureCube , TextureCubeArray ,
  RenderBuffer , ResourceDimensions_Size
}
 
enum class  ElementSemantic : uint16_t {
  Position , Normal , Color , TextureCoordinate ,
  Tangent , InstanceVector , InstanceMatrix , Semantic_Size
}
 Element semantics used to map data to the shader stage. More...
 
enum class  InputType : uint16_t { VertexData = 0 , InstanceData }
 Input types for the input assembler. More...
 

Functions

template<typename T >
bool HandleIsValid (const Handle_t< T > handle)
 
template<typename T , typename U >
bool HandleIsValid (const Handle_t< T, U > handle)
 
bool isDebug ()
 
 COGS_RENDERING_ENABLE_ENUM_FLAGS (FormatFlags)
 
COGSRENDERING_DLL_API const FormatInfogetFormatInfo (Format format)
 
COGSRENDERING_DLL_API DataFormat parseDataFormat (const StringView &format)
 
 COGS_RENDERING_ENABLE_ENUM_FLAGS (TextureFlags::ETextureFlags)
 
const char * getResourceDimensionsName (ResourceDimensions target)
 
size_t getBlockSize (TextureFormat format)
 
TextureExtent getBlockExtent (TextureFormat format)
 
size_t getComponents (TextureFormat format)
 
uint32_t getMipLevels (const uint32_t width, const uint32_t height)
 
uint32_t getMipSize (uint32_t size, uint32_t level)
 
VertexFormatStoragegetStorage ()
 
StringView COGSRENDERING_DLL_API getElementSemanticName (ElementSemantic semantic)
 
uint32_t COGSRENDERING_DLL_API getSize (const Cogs::VertexFormat &vertexFormat)
 
uint32_t COGSRENDERING_DLL_API getSize (VertexFormatHandle vertexFormatHandle)
 
size_t COGSRENDERING_DLL_API getHash (const Cogs::VertexFormat &vertexFormat)
 
size_t COGSRENDERING_DLL_API getHash (VertexFormatHandle vertexFormatHandle)
 
size_t hash (const VertexElement &element, size_t hashValue=Cogs::hash())
 Calculate a hash value for the specified vertex element.
 
size_t hash (const Cogs::VertexFormat &format, size_t hashValue=Cogs::hash())
 Calculate a hash value for the given vertex format.
 

Typedef Documentation

◆ BlendStateHandle

◆ BufferBindingHandle

typedef Handle_t<BufferBindingTag> Cogs::BufferBindingHandle

◆ BufferHandle

typedef Handle_t<BufferTag> Cogs::BufferHandle

◆ ComputePipelineHandle

typedef Handle_t<ComputePipelineTag> Cogs::ComputePipelineHandle

◆ ConstantBufferBindingHandle

typedef Handle_t<ConstantBufferBindingTag> Cogs::ConstantBufferBindingHandle

◆ DataFormat

using Cogs::DataFormat = typedef Format

◆ DepthStencilHandle

typedef Handle_t<DepthStencilTag> Cogs::DepthStencilHandle

◆ DepthStencilStateHandle

◆ EffectHandle

typedef Handle_t<EffectTag> Cogs::EffectHandle

◆ EffectVariableHandle

typedef Handle_t<VariableBindingTag> Cogs::EffectVariableHandle

◆ FenceHandle

typedef Handle_t<FenceTag> Cogs::FenceHandle

◆ IndexBufferHandle

◆ InputLayoutHandle

typedef Handle_t<InputLayoutTag> Cogs::InputLayoutHandle

◆ PreprocessorDefinition

typedef std::pair<std::string, std::string> Cogs::PreprocessorDefinition

Preprocessor definition.

◆ PreprocessorDefinitions

A set of preprocessor definitions.

◆ RasterizerStateHandle

◆ RenderPipelineHandle

typedef Handle_t<RenderPipelineTag> Cogs::RenderPipelineHandle

◆ RenderTargetHandle

typedef Handle_t<RenderTargetTag> Cogs::RenderTargetHandle

◆ SamplerStateBindingHandle

typedef Handle_t<SamplerStateBindingTag> Cogs::SamplerStateBindingHandle

◆ SamplerStateHandle

typedef Handle_t<SamplerTag> Cogs::SamplerStateHandle

◆ ShaderHandle

typedef Handle_t<ShaderTag> Cogs::ShaderHandle

◆ TextureBindingHandle

typedef Handle_t<TextureBindingTag> Cogs::TextureBindingHandle

◆ TextureFormat

using Cogs::TextureFormat = typedef Format

◆ TextureHandle

typedef Handle_t<TextureTag> Cogs::TextureHandle

◆ TextureNativeHandle

typedef intptr_t Cogs::TextureNativeHandle

◆ TextureViewHandle

typedef Handle_t<TextureViewTag> Cogs::TextureViewHandle

◆ VertexArrayObjectHandle

typedef Handle_t<VertexArrayObjectTag> Cogs::VertexArrayObjectHandle

◆ VertexBufferHandle

◆ VertexFormatHandle

typedef Handle_t<VertexFormatTag> Cogs::VertexFormatHandle

Enumeration Type Documentation

◆ Axis

enum class Cogs::Axis
strong

Axis definitions.

The order of these matches the face order for cube maps.

Enumerator
PositiveX 
NegativeX 
PositiveY 
NegativeY 
PositiveZ 
NegativeZ 
Count 
Unknown 

◆ EffectDescriptionType

enum class Cogs::EffectDescriptionType
strong

Type of contents in effect description.

Enumerator
File 

File names.

Source 

Shader source.

◆ ElementSemantic

enum class Cogs::ElementSemantic : uint16_t
strong

Element semantics used to map data to the shader stage.

Enumerator
Position 

Position semantic.

Normal 

Normal semantic.

Color 

Color semantic.

TextureCoordinate 

Texture coordinate semantic.

Tangent 

Tangent semantic.

InstanceVector 

Instance vector semantic.

InstanceMatrix 

Instance matrix semantic.

Semantic_Size 

◆ Format

enum class Cogs::Format : uint16_t
strong
Enumerator
Unknown 
R8_UNORM 
R8G8_UNORM 
R8G8B8_UNORM 
R8G8B8A8_UNORM 
R16_UNORM 
R16G16_UNORM 
R16G16B16_UNORM 
R16G16B16A16_UNORM 
R8_SNORM 
R8G8_SNORM 
R8G8B8_SNORM 
R8G8B8A8_SNORM 
R16_SNORM 
R16G16_SNORM 
R16G16B16_SNORM 
R16G16B16A16_SNORM 
R8_UINT 
R8G8_UINT 
R8G8B8_UINT 
R8G8B8A8_UINT 
R16_UINT 
R16G16_UINT 
R16G16B16_UINT 
R16G16B16A16_UINT 
R32_UINT 
R32G32_UINT 
R32G32B32_UINT 
R32G32B32A32_UINT 
R8_SINT 
R8G8_SINT 
R8G8B8_SINT 
R8G8B8A8_SINT 
R16_SINT 
R16G16_SINT 
R16G16B16_SINT 
R16G16B16A16_SINT 
R32_SINT 
R32G32_SINT 
R32G32B32_SINT 
R32G32B32A32_SINT 
R16_FLOAT 
R16G16_FLOAT 
R16G16B16_FLOAT 
R16G16B16A16_FLOAT 
R32_FLOAT 
R32G32_FLOAT 
R32G32B32_FLOAT 
R32G32B32A32_FLOAT 
D16_UNORM 
D24_UNORM 
D24S8_UNORM 
D32_FLOAT 
R32_TYPELESS 
R16_TYPELESS 
R8T 
R8G8T 
R8G8B8T 
R8G8B8A8T 
B8G8R8 
B8G8R8A8 
A8_UNORM 
BC1_TYPELESS 
BC1_UNORM 
BC1_UNORM_SRGB 
BC2_TYPELESS 
BC2_UNORM 
BC2_UNORM_SRGB 
BC3_TYPELESS 
BC3_UNORM 
BC3_UNORM_SRGB 
BC4_TYPELESS 
BC4_UNORM 
BC4_SNORM 
BC5_TYPELESS 
BC5_UNORM 
BC5_SNORM 
BC6H_SIGNED_FLOAT_RGB 
BC6H_UNSIGNED_FLOAT_RGB 
BC7_UNORM_RGBA 
BC7_UNORM_SRGBA 
PVRTC1_2BPP_UNORM_RGB 
PVRTC1_4BPP_UNORM_RGB 
PVRTC1_2BPP_UNORM_RGBA 
PVRTC1_4BPP_UNORM_RGBA 
EAC_BLOCK8_UNSIGNED_FLOAT_R 
EAC_BLOCK8_SIGNED_FLOAT_R 
EAC_BLOCK16_UNSIGNED_FLOAT_RG 
EAC_BLOCK16_SIGNED_FLOAT_RG 
ETC2_BLOCK8_UNORM_RGB 
ETC2_BLOCK8_UNORM_SRGB 
ETC2_BLOCK16_UNORM_RGBA 
ETC2_BLOCK16_UNORM_SRGBA 
ASTC_4x4_UNORM_RGBA 
ASTC_5x4_UNORM_RGBA 
ASTC_5x5_UNORM_RGBA 
ASTC_6x5_UNORM_RGBA 
ASTC_6x6_UNORM_RGBA 
ASTC_8x5_UNORM_RGBA 
ASTC_8x6_UNORM_RGBA 
ASTC_8x8_UNORM_RGBA 
ASTC_10x5_UNORM_RGBA 
ASTC_10x6_UNORM_RGBA 
ASTC_10x8_UNORM_RGBA 
ASTC_10x10_UNORM_RGBA 
ASTC_12x10_UNORM_RGBA 
ASTC_12x12_UNORM_RGBA 
ASTC_4x4_UNORM_SRGBA 
ASTC_5x4_UNORM_SRGBA 
ASTC_5x5_UNORM_SRGBA 
ASTC_6x5_UNORM_SRGBA 
ASTC_6x6_UNORM_SRGBA 
ASTC_8x5_UNORM_SRGBA 
ASTC_8x6_UNORM_SRGBA 
ASTC_8x8_UNORM_SRGBA 
ASTC_10x5_UNORM_SRGBA 
ASTC_10x6_UNORM_SRGBA 
ASTC_10x8_UNORM_SRGBA 
ASTC_10x10_UNORM_SRGBA 
ASTC_12x10_UNORM_SRGBA 
ASTC_12x12_UNORM_SRGBA 
R8G8B8_UNORM_SRGB 
R8G8B8A8_UNORM_SRGB 
R10G10B10A2_TYPELESS 
R10G10B10A2_UNORM 
R10G10B10A2_UINT 
R11G11B10_FLOAT 
R5G6B5_UNORM 
R5G5B5A1_UNORM 
R4G4B4A4_UNORM 
R9G9B9E5_FLOAT 
MAT4X4_FLOAT 
Format_Size 
TextureFormat_Size 
X16_FLOAT 
X16Y16_FLOAT 
X16Y16Z16_FLOAT 
X16Y16Z16W16_FLOAT 
X32_FLOAT 
X32Y32_FLOAT 
X32Y32Z32_FLOAT 
X32Y32Z32W32_FLOAT 

◆ FormatFlags

enum struct Cogs::FormatFlags : uint32_t
strong
Enumerator
None 
Alpha 
VertexFormat 
Depth 
Typeless 
Integer 
Unsigned 

◆ GraphicsDeviceFlags

Flags controlling the behavior of a graphics device.

Enumerator
None 

Default flags.

Debug 

If available, the device will operate in debug mode, performing additional validation of input data, state changes etc.

When compiling in debug mode, a debug device is always created.

EnableDiagnostics 

If available, the device will print diagnostic information to the log.

The information printed is usually more extensive when this flag is combined with the

See also
Debug flag.

When compiling in debug mode, diagnostic output is always enabled.

EnableShaderCache 

Enables using a shader cache to avoid recompiling previously seen shaders.

EnableTraceLogging 

Enables trace logging.

May impact performance negatively.

DumpShaderContents 

Dump shader contents for debugging.

ForceSoftwareRendering 

Force software rendering.

UseSharedSurface 

Use shared surface for D3D9 interop.

UseESCompatibility 

Instead of creating an ES2 context via WGL, create a full GL context and check for ARB_ES2_compatibilty.

UseSwapEffectDiscard 

Under DX11 the default swap effect is FLIP_DISCARD, however there are some systems where this does not work.

This flag forces the engine to fall back to using DISCARD on these machines.

UseOpenGLClipControl 

For OpenGL / OpenGLES backends.

Enable clip_control when available.

◆ GraphicsDeviceType

enum class Cogs::GraphicsDeviceType
strong

Contains types of graphics devices that may be supported.

Enumerator
Unknown 

Unknown type of graphics device.

Default 

Default type of graphics device, same as unknown.

OpenGL20 

Graphics device using OpenGL, supporting at least OpenGL 2.0.

OpenGLES30 

Graphics device using the OpenGLES 3.0 API.

Direct3D11 

Graphics device using the Direct3D 11 API.

Direct3D12 

Graphics device using the Direct3D 12 API.

Vulkan 

Graphics device using the Vulkan API.

WebGPU 

Graphics device using the WebGPU API Backend.

Null 

Null device that implements no rendering functionality.

◆ InputType

enum class Cogs::InputType : uint16_t
strong

Input types for the input assembler.

Enumerator
VertexData 

Per vertex data.

InstanceData 

Per instance data.

◆ LoadOp

enum class Cogs::LoadOp : uint32_t
strong
Enumerator
Undefined 
Clear 
Load 

◆ ResourceDimensions

enum class Cogs::ResourceDimensions
strong
Enumerator
Unknown 
Buffer 
Texture1D 
Texture1DArray 
Texture2D 
Texture2DArray 
Texture2DMS 
Texture2DMSArray 
Texture3D 
Texture3DArray 
TextureCube 
TextureCubeArray 
RenderBuffer 
ResourceDimensions_Size 

◆ StoreOp

enum class Cogs::StoreOp : uint32_t
strong
Enumerator
Undefined 
Store 
Discard 

Function Documentation

◆ COGS_RENDERING_ENABLE_ENUM_FLAGS() [1/2]

Cogs::COGS_RENDERING_ENABLE_ENUM_FLAGS ( FormatFlags  )

◆ COGS_RENDERING_ENABLE_ENUM_FLAGS() [2/2]

Cogs::COGS_RENDERING_ENABLE_ENUM_FLAGS ( TextureFlags::ETextureFlags  )

◆ getBlockExtent()

TextureExtent COGSRENDERING_DLL_API Cogs::getBlockExtent ( TextureFormat  format)

◆ getBlockSize()

size_t COGSRENDERING_DLL_API Cogs::getBlockSize ( TextureFormat  format)

◆ getComponents()

size_t COGSRENDERING_DLL_API Cogs::getComponents ( TextureFormat  format)

◆ getElementSemanticName()

Cogs::StringView Cogs::getElementSemanticName ( ElementSemantic  semantic)

◆ getFormatInfo()

const Cogs::FormatInfo * Cogs::getFormatInfo ( Format  format)

◆ getHash() [1/2]

size_t COGSRENDERING_DLL_API Cogs::getHash ( const Cogs::VertexFormat vertexFormat)
inline

References Cogs::VertexFormat::hash.

Referenced by getHash().

◆ getHash() [2/2]

size_t COGSRENDERING_DLL_API Cogs::getHash ( VertexFormatHandle  vertexFormatHandle)
inline

◆ getMipLevels()

uint32_t COGSRENDERING_DLL_API Cogs::getMipLevels ( const uint32_t  width,
const uint32_t  height 
)

◆ getMipSize()

uint32_t COGSRENDERING_DLL_API Cogs::getMipSize ( uint32_t  size,
uint32_t  level 
)

◆ getResourceDimensionsName()

COGSRENDERING_DLL_API const char * Cogs::getResourceDimensionsName ( ResourceDimensions  target)

◆ getSize() [1/2]

uint32_t COGSRENDERING_DLL_API Cogs::getSize ( const Cogs::VertexFormat vertexFormat)
inline

References Cogs::VertexFormat::size.

Referenced by getSize().

◆ getSize() [2/2]

uint32_t COGSRENDERING_DLL_API Cogs::getSize ( VertexFormatHandle  vertexFormatHandle)
inline

◆ getStorage()

VertexFormatStorage & Cogs::getStorage ( )

◆ HandleIsValid() [1/2]

template<typename T >
bool Cogs::HandleIsValid ( const Handle_t< T >  handle)
inline

◆ HandleIsValid() [2/2]

template<typename T , typename U >
bool Cogs::HandleIsValid ( const Handle_t< T, U >  handle)
inline

◆ hash() [1/2]

size_t Cogs::hash ( const Cogs::VertexFormat format,
size_t  hashValue = Cogs::hash() 
)
inline

Calculate a hash value for the given vertex format.

References Cogs::VertexFormat::elements, and hash().

◆ hash() [2/2]

size_t Cogs::hash ( const VertexElement element,
size_t  hashValue = Cogs::hash() 
)
inline

◆ isDebug()

bool Cogs::isDebug ( )
inline

◆ parseDataFormat()

Cogs::DataFormat Cogs::parseDataFormat ( const StringView &  format)

References hash().