LiteFX 0.4.1.2025
Computer Graphics Engine
|
Represents a swap chain, i.e. a chain of multiple IImage instances, that can be presented to a ISurface. More...
#include <rendering.hpp>
Inherits LiteFX::Rendering::ISwapChain.
Public Types | |
using | image_interface_type = TImageInterface |
Public Member Functions | |
~SwapChain () noexcept override=default | |
virtual const Array< SharedPtr< image_interface_type > > & | images () const noexcept=0 |
![]() | |
virtual | ~ISwapChain () noexcept=default |
SharedPtr< const TimingEvent > | registerTimingEvent (StringView name="") |
Creates a new instance of a TimingEvent. | |
virtual const Array< SharedPtr< const TimingEvent > > & | timingEvents () const =0 |
Returns all registered timing events. | |
virtual SharedPtr< const TimingEvent > | timingEvent (UInt32 queryId) const =0 |
Returns the timing event registered for queryId . | |
virtual UInt64 | readTimingEvent (SharedPtr< const TimingEvent > timingEvent) const =0 |
Reads the current time stamp value (in ticks) of a timing event. | |
virtual UInt32 | resolveQueryId (SharedPtr< const TimingEvent > timingEvent) const =0 |
Returns the query ID for the timing event. | |
virtual const IGraphicsDevice & | device () const =0 |
Returns the swap chain's parent device instance. | |
virtual Format | surfaceFormat () const noexcept=0 |
Returns the swap chain image format. | |
virtual UInt32 | buffers () const noexcept=0 |
Returns the number of images in the swap chain. | |
virtual const Size2d & | renderArea () const noexcept=0 |
Returns the size of the render area. | |
virtual bool | verticalSynchronization () const noexcept=0 |
Returns true , if vertical synchronization should be used, otherwise false . | |
virtual IImage * | image (UInt32 backBuffer) const =0 |
Returns the swap chain present image for backBuffer . | |
virtual const IImage & | image () const noexcept=0 |
Returns the current swap chain back buffer image. | |
Enumerable< IImage & > | images () const |
Returns an array of the swap chain present images. | |
virtual void | present (UInt64 fence) const =0 |
Queues a present that gets executed after fence has been signaled on the default graphics queue. | |
virtual Enumerable< Format > | getSurfaceFormats () const =0 |
Returns an array of supported formats, that can be drawn to the surface. | |
virtual void | reset (Format surfaceFormat, const Size2d &renderArea, UInt32 buffers, bool enableVsync=false)=0 |
Causes the swap chain to be re-created. All frame and command buffers will be invalidated and rebuilt. | |
virtual UInt32 | swapBackBuffer () const =0 |
Swaps the front buffer with the next back buffer in order. | |
Protected Member Functions | |
SwapChain () noexcept=default | |
SwapChain (SwapChain &&) noexcept=default | |
SwapChain (const SwapChain &)=default | |
SwapChain & | operator= (SwapChain &&) noexcept=default |
SwapChain & | operator= (const SwapChain &)=default |
![]() | |
ISwapChain () noexcept=default | |
ISwapChain (ISwapChain &&) noexcept=default | |
ISwapChain (const ISwapChain &)=default | |
ISwapChain & | operator= (const ISwapChain &)=default |
ISwapChain & | operator= (ISwapChain &&) noexcept=default |
Additional Inherited Members | |
![]() | |
Event< EventArgs > | swapped |
Invoked, when the swap chain has swapped the back buffers. | |
Event< ResetEventArgs > | reseted |
Invoked, after the swap chain has been reseted. | |
Represents a swap chain, i.e. a chain of multiple IImage instances, that can be presented to a ISurface.
TImageInterface | The type of the image interface. Must inherit from IImage. |
using LiteFX::Rendering::SwapChain< TImageInterface >::image_interface_type = TImageInterface |
|
protecteddefaultnoexcept |
|
protecteddefaultnoexcept |
|
protecteddefault |
|
overridedefaultnoexcept |
|
pure virtualnoexcept |
|
protecteddefault |
|
protecteddefaultnoexcept |