Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
foray::core::Context Struct Reference

Non owning context object. More...

#include <foray_context.hpp>

Public Member Functions

 operator VkInstance () const
 
 operator VkPhysicalDevice () const
 
 operator VkDevice () const
 
 operator VkQueue () const
 
VkInstance Instance () const
 
VkPhysicalDevice PhysicalDevice () const
 
VkDevice Device () const
 
VkExtent2D GetSwapchainSize () const
 

Public Attributes

osi::OsManagerOsManager = nullptr
 The OsManager can be used to access windows, events, input devices.
 
osi::WindowWindow = nullptr
 A window.
 
vkb::Instance * VkbInstance = nullptr
 A Vkb Instance.
 
vkb::PhysicalDevice * VkbPhysicalDevice = nullptr
 A Vkb PhysicalDevice.
 
vkb::Device * VkbDevice = nullptr
 A Vkb Device.
 
vkb::DispatchTable * VkbDispatchTable = nullptr
 A Vkb DispatchTable.
 
vkb::Swapchain * Swapchain = nullptr
 A Vkb Swapchain.
 
std::vector< SwapchainImageInfoSwapchainImages = {}
 Swapchain image infos (VkImage, VkImageView, Name, ...)
 
VmaAllocator Allocator = nullptr
 Vma Allocator.
 
VkQueue Queue = nullptr
 Queue (in default setups used for all commands)
 
uint32_t QueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED
 Queue Family Index.
 
VkCommandPool CommandPool = nullptr
 Command Pool.
 
VkPipelineCache PipelineCache = nullptr
 Pipeline Cache.
 
SamplerCollectionSamplerCol = nullptr
 Sampler Collection.
 
ShaderManagerShaderMan = nullptr
 Shader Manager.
 

Detailed Description

Non owning context object.

Remarks
For many purposes, using a single Context object for an entire project would work out fine. Where it is is not, being trivially copyable allows the programmer to maintain multiple context objects with ease. Individual fields can be shared between many context objects, and changed at will

Member Function Documentation

◆ Device()

VkDevice foray::core::Context::Device ( ) const
inline

◆ GetSwapchainSize()

VkExtent2D foray::core::Context::GetSwapchainSize ( ) const
inline

◆ Instance()

VkInstance foray::core::Context::Instance ( ) const
inline

◆ operator VkDevice()

foray::core::Context::operator VkDevice ( ) const
inline

◆ operator VkInstance()

foray::core::Context::operator VkInstance ( ) const
inline

◆ operator VkPhysicalDevice()

foray::core::Context::operator VkPhysicalDevice ( ) const
inline

◆ operator VkQueue()

foray::core::Context::operator VkQueue ( ) const
inline

◆ PhysicalDevice()

VkPhysicalDevice foray::core::Context::PhysicalDevice ( ) const
inline

Member Data Documentation

◆ Allocator

VmaAllocator foray::core::Context::Allocator = nullptr

Vma Allocator.

◆ CommandPool

VkCommandPool foray::core::Context::CommandPool = nullptr

Command Pool.

◆ OsManager

osi::OsManager* foray::core::Context::OsManager = nullptr

The OsManager can be used to access windows, events, input devices.

◆ PipelineCache

VkPipelineCache foray::core::Context::PipelineCache = nullptr

Pipeline Cache.

◆ Queue

VkQueue foray::core::Context::Queue = nullptr

Queue (in default setups used for all commands)

◆ QueueFamilyIndex

uint32_t foray::core::Context::QueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED

Queue Family Index.

◆ SamplerCol

SamplerCollection* foray::core::Context::SamplerCol = nullptr

Sampler Collection.

◆ ShaderMan

ShaderManager* foray::core::Context::ShaderMan = nullptr

Shader Manager.

◆ Swapchain

vkb::Swapchain* foray::core::Context::Swapchain = nullptr

A Vkb Swapchain.

◆ SwapchainImages

std::vector<SwapchainImageInfo> foray::core::Context::SwapchainImages = {}

Swapchain image infos (VkImage, VkImageView, Name, ...)

◆ VkbDevice

vkb::Device* foray::core::Context::VkbDevice = nullptr

A Vkb Device.

◆ VkbDispatchTable

vkb::DispatchTable* foray::core::Context::VkbDispatchTable = nullptr

A Vkb DispatchTable.

◆ VkbInstance

vkb::Instance* foray::core::Context::VkbInstance = nullptr

A Vkb Instance.

◆ VkbPhysicalDevice

vkb::PhysicalDevice* foray::core::Context::VkbPhysicalDevice = nullptr

A Vkb PhysicalDevice.

◆ Window

osi::Window* foray::core::Context::Window = nullptr

A window.


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