SPARK
0.1.0
A general purpose game engine written in C++.
|
Interface for a graphics device. More...
#include <GraphicsDevice.h>
Public Member Functions | |
virtual DeviceState & | state () noexcept=0 |
Gets the device state used to manage the device resources. | |
virtual const ISurface & | surface () const noexcept=0 |
Gets the surface the device is rendering to. | |
virtual const IGraphicsFactory & | factory () const noexcept=0 |
Gets the graphics factory used to create buffers, textures, samplers from the device. | |
virtual const IGraphicsAdapter & | graphicsAdapter () const noexcept=0 |
Gets the graphics adapter the device uses for drawing. | |
virtual const ISwapChain & | swapChain () const noexcept=0 |
Gets the graphics adapter that contains the front and back buffers used for presentation. | |
virtual ISwapChain & | swapChain () noexcept=0 |
Gets the graphics adapter that contains the front and back buffers used for presentation. | |
virtual const ICommandQueue & | graphicsQueue () const noexcept=0 |
Gets the queue instance used to process draw calls. | |
virtual const ICommandQueue & | transferQueue () const noexcept=0 |
Gets the queue instance used for device-device transfers (e.g. between render-passes). | |
virtual const ICommandQueue & | bufferQueue () const noexcept=0 |
Gets the queue instance used for buffer transfers (e.g. between CPU and GPU). | |
virtual const ICommandQueue & | computeQueue () const noexcept=0 |
Gets the queue instance used for compute operations. | |
virtual MultiSamplingLevel | maximumMultiSamplingLevel (Format format) const noexcept=0 |
Gets the maximum number of multi-sampling levels supported for the given format. | |
virtual double | ticksPerMillisecond () const noexcept=0 |
Gets the number of GPU ticks per millisecond. | |
virtual void | wait () const =0 |
Waits until the device is idle. | |
Interface for a graphics device.
|
nodiscardpure virtualnoexcept |
Gets the queue instance used for buffer transfers (e.g. between CPU and GPU).
Implemented in spark::render::GraphicsDevice< FactoryType, SurfaceType, GraphicsAdapterType, SwapChainType, CommandQueueType, RenderPassType >, spark::render::GraphicsDevice< VulkanFactory, VulkanSurface, VulkanGraphicsAdapter, VulkanSwapChain, VulkanQueue, VulkanRenderPass >, and spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the queue instance used for compute operations.
Implemented in spark::render::GraphicsDevice< FactoryType, SurfaceType, GraphicsAdapterType, SwapChainType, CommandQueueType, RenderPassType >, spark::render::GraphicsDevice< VulkanFactory, VulkanSurface, VulkanGraphicsAdapter, VulkanSwapChain, VulkanQueue, VulkanRenderPass >, and spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the graphics factory used to create buffers, textures, samplers from the device.
Implemented in spark::render::GraphicsDevice< FactoryType, SurfaceType, GraphicsAdapterType, SwapChainType, CommandQueueType, RenderPassType >, spark::render::GraphicsDevice< VulkanFactory, VulkanSurface, VulkanGraphicsAdapter, VulkanSwapChain, VulkanQueue, VulkanRenderPass >, and spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the graphics adapter the device uses for drawing.
Implemented in spark::render::GraphicsDevice< FactoryType, SurfaceType, GraphicsAdapterType, SwapChainType, CommandQueueType, RenderPassType >, spark::render::GraphicsDevice< VulkanFactory, VulkanSurface, VulkanGraphicsAdapter, VulkanSwapChain, VulkanQueue, VulkanRenderPass >, and spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the queue instance used to process draw calls.
Implemented in spark::render::GraphicsDevice< FactoryType, SurfaceType, GraphicsAdapterType, SwapChainType, CommandQueueType, RenderPassType >, spark::render::GraphicsDevice< VulkanFactory, VulkanSurface, VulkanGraphicsAdapter, VulkanSwapChain, VulkanQueue, VulkanRenderPass >, and spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the maximum number of multi-sampling levels supported for the given format.
format | The Format of the target (i.e. back buffer). |
Implemented in spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the device state used to manage the device resources.
Implemented in spark::render::GraphicsDevice< FactoryType, SurfaceType, GraphicsAdapterType, SwapChainType, CommandQueueType, RenderPassType >, spark::render::GraphicsDevice< VulkanFactory, VulkanSurface, VulkanGraphicsAdapter, VulkanSwapChain, VulkanQueue, VulkanRenderPass >, and spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the surface the device is rendering to.
Implemented in spark::render::GraphicsDevice< FactoryType, SurfaceType, GraphicsAdapterType, SwapChainType, CommandQueueType, RenderPassType >, spark::render::GraphicsDevice< VulkanFactory, VulkanSurface, VulkanGraphicsAdapter, VulkanSwapChain, VulkanQueue, VulkanRenderPass >, and spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the graphics adapter that contains the front and back buffers used for presentation.
Implemented in spark::render::GraphicsDevice< FactoryType, SurfaceType, GraphicsAdapterType, SwapChainType, CommandQueueType, RenderPassType >, spark::render::GraphicsDevice< VulkanFactory, VulkanSurface, VulkanGraphicsAdapter, VulkanSwapChain, VulkanQueue, VulkanRenderPass >, and spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the graphics adapter that contains the front and back buffers used for presentation.
Implemented in spark::render::GraphicsDevice< FactoryType, SurfaceType, GraphicsAdapterType, SwapChainType, CommandQueueType, RenderPassType >, spark::render::GraphicsDevice< VulkanFactory, VulkanSurface, VulkanGraphicsAdapter, VulkanSwapChain, VulkanQueue, VulkanRenderPass >, and spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the number of GPU ticks per millisecond.
Implemented in spark::render::vk::VulkanDevice.
|
nodiscardpure virtualnoexcept |
Gets the queue instance used for device-device transfers (e.g. between render-passes).
Implemented in spark::render::GraphicsDevice< FactoryType, SurfaceType, GraphicsAdapterType, SwapChainType, CommandQueueType, RenderPassType >, spark::render::GraphicsDevice< VulkanFactory, VulkanSurface, VulkanGraphicsAdapter, VulkanSwapChain, VulkanQueue, VulkanRenderPass >, and spark::render::vk::VulkanDevice.
|
pure virtual |
Waits until the device is idle.
The complexity of this operation may depend on the graphics API that implements this method. Calling this method guarantees, that the device resources are in an unused state and may safely be released.
Implemented in spark::render::vk::VulkanDevice.