PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
pixelbullet::GraphicsState Class Reference

Classes

struct  PerSurfaceBuffers

Public Types

using CommandPoolKey = std::pair<std::thread::id, VkQueueFlagBits>

Public Member Functions

 GraphicsState (Graphics &owner, const ApplicationSpecification &specification, const ApplicationLaunchOptions &launch_options, Window &window)
Graphics::FrameOutcome Update ()
GraphicsFrameRuntimeAccess::PrepareFrameOutcome PrepareFrame ()
GraphicsFrameRuntimeAccess::RenderFrameOutcome RenderPreparedFrame ()
void WaitIdle () const
void CaptureScreenshot (const std::filesystem::path &filename, std::size_t id) const
void SetRenderer (std::unique_ptr< Renderer > &&renderer)
const Descriptor * GetAttachment (const std::string &name) const
const ImageDepth * GetDepthAttachment (std::string_view name) const
std::optional< RenderTargetViewGetRenderTarget (std::string_view name) const
void SetFramebufferResized (std::size_t id)
std::shared_ptr< CommandPool > GetCommandPool (VkQueueFlagBits queue_type=VK_QUEUE_GRAPHICS_BIT, const std::thread::id &thread_id=std::this_thread::get_id()) const
const PhysicalDeviceGetPhysicalDevice () const noexcept
const LogicalDeviceGetLogicalDevice () const noexcept
const VkPipelineCache & GetPipelineCache () const noexcept
const SurfaceGetSurface (std::size_t id) const noexcept
const Swapchain * GetSwapchain (std::size_t id) const noexcept
bool HasSwapchain (std::size_t id) const noexcept
bool HasPreparedFrame () const noexcept
uint32_t GetPreparedImageIndex (std::size_t id) const
const InstanceGetInstance () const noexcept

Public Attributes

Graphicsowner
application_internal::ResolvedLaunchGpuDefaults launch_gpu_defaults
const ApplicationSpecificationspecification
Windowwindow
RenderDevice render_device
std::unique_ptr< Rendererrenderer
std::map< std::string, const Descriptor * > attachments
std::map< std::string, std::unique_ptr< RenderTarget2D > > render_targets
std::vector< std::unique_ptr< RenderStageRuntime > > render_stage_runtimes
std::vector< std::unique_ptr< Swapchain > > swapchains
bool prepared_frame_ready = false
std::map< CommandPoolKey, std::shared_ptr< CommandPool > > command_pools
std::mutex command_pools_mutex
Elapsed elapsed_purge
std::vector< std::unique_ptr< PerSurfaceBuffers > > per_surface_buffers
std::unique_ptr< Instanceinstance
std::unique_ptr< PhysicalDevicephysical_device
std::unique_ptr< LogicalDevicelogical_device
VkPipelineCache pipeline_cache = VK_NULL_HANDLE
std::vector< std::unique_ptr< Surface > > surfaces

The documentation for this class was generated from the following files: