VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
venom::vulkan::VulkanApplication Class Reference
+ Inheritance diagram for venom::vulkan::VulkanApplication:

Public Member Functions

vc::Error __Init () override
 
vc::Error __PostInit () override
 
vc::Error __Loop () override
 
bool ShouldClose () override
 
const SwapChainGetSwapChain () const
 
const DescriptorPoolGetDescriptorPool () const
 
const CommandBufferGetCommandBuffer (const int index) const
 
const CommandBufferGetCurrentGraphicsCommandBuffer () const
 
void WaitForDraws () override
 
- Public Member Functions inherited from venom::common::GraphicsApplication
Error Init ()
 
Error Loop ()
 
- Public Member Functions inherited from venom::common::GraphicsPluginObject
virtual void Destroy () override
 /!\ THIS FUNCTION MUST BE CALLED FOR DESTRUCTION, DO NOT USE delete
 
- Public Member Functions inherited from venom::common::PluginObject
 PluginObject (const PluginType type)
 
PluginType GetType () const override
 
template<class T>
T * DAs ()
 
template<class T>
const T * DAs () const
 
- Public Member Functions inherited from venom::common::GraphicsSettings
bool HasCallbacksAfterDraws () const
 
void LaunchCallbacksAfterDraws ()
 
- Public Member Functions inherited from venom::vulkan::DebugApplication
vc::Error InitDebug ()
 
void DestroyDebug ()
 
template<>
void _SetCreateInfoValidationLayers (VkDeviceCreateInfo *createInfos)
 

Static Public Member Functions

static int IsBindlessSupported ()
 
- Static Public Member Functions inherited from venom::common::GraphicsApplication
static GraphicsApplicationGet ()
 
static GraphicsApplicationCreate (int argc, const char *argv[])
 
static int GetCurrentFrameInFlight ()
 
static int GetPreviousFrameInFlight ()
 
static vcm::Vec2 GetCurrentExtent ()
 
static RenderPassGetSkyboxRenderPass ()
 
static RenderPassGetGraphicsRenderPass ()
 
static RenderPassGetGuiRenderPass ()
 
static RenderPassGetShadowMapRenderPass ()
 
- Static Public Member Functions inherited from venom::common::GraphicsPluginObject
static bool HasCachedObject (const vc::String &path)
 Checks if an object is in the cache.
 
static SPtr< GraphicsCachedResourceGetCachedObject (const vc::String &path)
 Gets a cached object from the graphics cache.
 
static const vc::UMap< vc::String, vc::SPtr< GraphicsCachedResource > > & GetCachedObjects ()
 Gets all cached objects.
 
- Static Public Member Functions inherited from venom::common::GraphicsSettings
static vc::Error SetMultiSampling (const MultiSamplingModeOption mode, const MultiSamplingCountOption samples)
 
static MultiSamplingModeOption GetActiveMultisamplingMode ()
 
static MultiSamplingCountOption GetActiveMultisamplingCount ()
 
static int GetActiveMultisamplingCountIndex ()
 
static const vc::Vector< MultiSamplingCountOption > & GetAvailableMultisamplingCountOptions ()
 
static const vc::Vector< vc::String > & GetAvailableMultisamplingCountOptionsStrings ()
 
static int GetActiveSamplesMultisampling ()
 
static vc::Error SetHDR (bool enable)
 
static bool IsHDREnabled ()
 
static bool IsHDRSupported ()
 
static void StartGfxSettingsChange ()
 
static vc::Error EndGfxSettingsChange ()
 
static const GraphicsSettingsDataGetGfxSettingsDataPtr ()
 
static const vc::Vector< vc::String > & GetDebugVisualizerStrings ()
 
static void SetDebugVisualizationMode (DebugVisualizationMode mode)
 
static DebugVisualizationMode GetDebugVisualizationMode ()
 
static void SetWindowResolution (int width, int height)
 
static void SetWindowExtent (int width, int height)
 
static void ReloadGFXSettings ()
 
static void CallbackAfterDraws (const GraphicsCallback callback)
 

Protected Member Functions

vc::Error _OnGfxSettingsChange () override
 
vc::Error _OnGfxConstantsChange () override
 
vc::Error _SetMultiSampling (const MultiSamplingModeOption mode, const MultiSamplingCountOption samples) override
 
vc::Vector< MultiSamplingCountOption > _GetAvailableMultisamplingOptions () override
 
vc::Error _SetHDR (bool enable) override
 
- Protected Member Functions inherited from venom::vulkan::DebugApplication
void _SetInstanceCreateInfoValidationLayers (VkInstanceCreateInfo *createInfos)
 
template<typename CreateInfo>
void _SetCreateInfoValidationLayers (CreateInfo *createInfos)
 
vc::Error _PostInstance_SetDebugParameters ()
 
PFN_vkDebugUtilsMessengerCallbackEXT _GetDebugCallback ()
 
double _GetTheoreticalFPS (double fps)
 
void _UpdateTheoreticalFPS (uint32_t microsecondsWaitedOnVSync)
 

Friends

class VulkanShaderResourceTable
 
class VulkanLight
 

Additional Inherited Members

- Public Types inherited from venom::common::GraphicsSettings
enum class  MultiSamplingModeOption { None = 1 , MSAA = 2 }
 
enum class  MultiSamplingCountOption {
  None = 1 , Samples2 = 2 , Samples4 = 4 , Samples8 = 8 ,
  Samples16 = 16 , Samples32 = 32
}
 
enum class  DebugVisualizationMode {
  None = 0 , Depth = 1 , Normals = 2 , ForwardPlus = 3 ,
  ShadowMapping = 4 , Count
}
 
- Protected Types inherited from venom::common::GraphicsSettings
enum class  GfxSettingsChangeState { Ended , Started }
 
- Static Protected Member Functions inherited from venom::common::GraphicsPluginObject
static void _SetInCache (const vc::String &path, const SPtr< GraphicsCachedResource > &object)
 Sets an object in the cache.
 
static void _SetCacheSize (size_t size)
 Adds cache size to avoid unnecessary additional allocations.
 
static void _AddCacheSize (size_t size)
 Adds cache size to avoid unnecessary additional allocations.
 
- Static Protected Member Functions inherited from venom::common::GraphicsSettings
static bool _IsGfxSettingsDataDirty ()
 
static bool _IsGfxConstantsDataDirty ()
 
- Protected Attributes inherited from venom::common::GraphicsApplication
ShaderResourceTable_shaderResourceTable
 
GUI_gui
 
UPtr< vc::Texture_dummyTexture
 
RenderPass _skyboxRenderPass
 
RenderPass _graphicsRenderPass
 
RenderPass _guiRenderPass
 
RenderPass _shadowMapRenderPass
 
- Protected Attributes inherited from venom::common::GraphicsSettings
GfxSettingsChangeState _gfxSettingsChangeState
 
MultiSamplingModeOption _samplingMode
 
bool _multisamplingDirty
 
bool _hdrDirty
 
bool _windowSizeDirty
 
bool _isHdrSupported
 
bool _gfxSettingsChangeQueued
 
- Static Protected Attributes inherited from venom::common::GraphicsApplication
static int _currentFrame = 0
 
static vcm::Vec2 _currentExtent = {0, 0}
 

Member Function Documentation

◆ __Init()

vc::Error venom::vulkan::VulkanApplication::__Init ( )
overridevirtual

◆ __Loop()

vc::Error venom::vulkan::VulkanApplication::__Loop ( )
overridevirtual

◆ __PostInit()

vc::Error venom::vulkan::VulkanApplication::__PostInit ( )
overridevirtual

◆ _GetAvailableMultisamplingOptions()

vc::Vector< vc::GraphicsSettings::MultiSamplingCountOption > venom::vulkan::VulkanApplication::_GetAvailableMultisamplingOptions ( )
overrideprotectedvirtual

◆ _OnGfxConstantsChange()

vc::Error venom::vulkan::VulkanApplication::_OnGfxConstantsChange ( )
overrideprotectedvirtual

◆ _OnGfxSettingsChange()

vc::Error venom::vulkan::VulkanApplication::_OnGfxSettingsChange ( )
overrideprotectedvirtual

◆ _SetHDR()

vc::Error venom::vulkan::VulkanApplication::_SetHDR ( bool enable)
overrideprotectedvirtual

◆ _SetMultiSampling()

vc::Error venom::vulkan::VulkanApplication::_SetMultiSampling ( const MultiSamplingModeOption mode,
const MultiSamplingCountOption samples )
overrideprotectedvirtual

◆ ShouldClose()

bool venom::vulkan::VulkanApplication::ShouldClose ( )
overridevirtual

◆ WaitForDraws()

void venom::vulkan::VulkanApplication::WaitForDraws ( )
overridevirtual

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