Cogs.Core
Public Member Functions | Private Attributes | List of all members
Cogs::ICapabilities Struct Reference

Provides capability query functionality. More...

#include <ICapabilities.h>

Inheritance diagram for Cogs::ICapabilities:
Cogs::CapabilitiesD3D11 Cogs::CapabilitiesD3D12 Cogs::CapabilitiesGL20 Cogs::CapabilitiesGLES30 Cogs::CapabilitiesNull Cogs::CapabilitiesVK Cogs::CapabilitiesWebGPU

Public Member Functions

virtual Vendors::EVendors getVendor () const
 Gets the known vendor of the initialized graphics device.
 
virtual Series::ESeries getSeries () const
 Gets the series of GPUs the currently initialized graphics device belongs to.
 
virtual int getModel () const
 Gets the model number of the initialized graphics device.
 
virtual bool supportsInstancing () const
 Check if the graphics device supports instancing.
 
virtual int getMaxTextureSlots () const
 Gets maximum number of supported texture slots.
 
virtual const GraphicsDeviceCapabilitiesgetDeviceCapabilities () const
 Gets the device capabilities in a structure.
 

Private Attributes

GraphicsDeviceCapabilities none
 

Detailed Description

Provides capability query functionality.

This can for example be used to select shader implementations or rendering paths based on GPU capabilities.

Definition at line 140 of file ICapabilities.h.

Member Function Documentation

◆ getDeviceCapabilities()

virtual const GraphicsDeviceCapabilities & Cogs::ICapabilities::getDeviceCapabilities ( ) const
inlinevirtual

◆ getMaxTextureSlots()

virtual int Cogs::ICapabilities::getMaxTextureSlots ( ) const
inlinevirtual

Gets maximum number of supported texture slots.

Returns
An integer containing the maximum supported texture image units that can be used to access texture maps from the fragment shader.

Reimplemented in Cogs::CapabilitiesGL20.

Definition at line 175 of file ICapabilities.h.

◆ getModel()

virtual int Cogs::ICapabilities::getModel ( ) const
inlinevirtual

Gets the model number of the initialized graphics device.

Returns
An integer containing the model number of the graphics device. E.g 5870 for an "AMD Radeon 5870" card.

Reimplemented in Cogs::CapabilitiesGL20, and Cogs::CapabilitiesWebGPU.

Definition at line 161 of file ICapabilities.h.

◆ getSeries()

virtual Series::ESeries Cogs::ICapabilities::getSeries ( ) const
inlinevirtual

Gets the series of GPUs the currently initialized graphics device belongs to.

Returns
A Series from the list of known Series.

Reimplemented in Cogs::CapabilitiesGL20, Cogs::CapabilitiesD3D11, Cogs::CapabilitiesNull, and Cogs::CapabilitiesWebGPU.

Definition at line 154 of file ICapabilities.h.

References Cogs::Series::Unknown.

◆ getVendor()

virtual Vendors::EVendors Cogs::ICapabilities::getVendor ( ) const
inlinevirtual

Gets the known vendor of the initialized graphics device.

Returns
A vendor from the list of known Vendors.

Reimplemented in Cogs::CapabilitiesGL20, Cogs::CapabilitiesD3D11, Cogs::CapabilitiesNull, and Cogs::CapabilitiesWebGPU.

Definition at line 147 of file ICapabilities.h.

References Cogs::Vendors::Unknown.

◆ supportsInstancing()

virtual bool Cogs::ICapabilities::supportsInstancing ( ) const
inlinevirtual

Check if the graphics device supports instancing.

Returns
A boolean indicating true if the graphics device supports instancing, false if not.

Reimplemented in Cogs::CapabilitiesD3D11, Cogs::CapabilitiesD3D12, Cogs::CapabilitiesNull, Cogs::CapabilitiesGLES30, and Cogs::CapabilitiesWebGPU.

Definition at line 168 of file ICapabilities.h.

Referenced by Cogs::Core::ShapeSystem::initialize().

Member Data Documentation

◆ none

GraphicsDeviceCapabilities Cogs::ICapabilities::none
private

Definition at line 185 of file ICapabilities.h.


The documentation for this struct was generated from the following file: