VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
venom::common::GraphicsApplication Class Referenceabstract
+ Inheritance diagram for venom::common::GraphicsApplication:

Public Member Functions

Error Init ()
 
virtual Error __Init ()=0
 
virtual vc::Error __PostInit ()=0
 
Error Loop ()
 
virtual Error __Loop ()=0
 
virtual bool ShouldClose ()=0
 
virtual void WaitForDraws ()=0
 
- 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 ()
 

Static Public Member Functions

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 Attributes

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

static int _currentFrame = 0
 
static vcm::Vec2 _currentExtent = {0, 0}
 

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 }
 
- Protected Member Functions inherited from venom::common::GraphicsSettings
virtual vc::Error _OnGfxSettingsChange ()=0
 
virtual vc::Error _OnGfxConstantsChange ()=0
 
virtual vc::Error _SetMultiSampling (const MultiSamplingModeOption mode, const MultiSamplingCountOption samples)=0
 
virtual vc::Vector< MultiSamplingCountOption > _GetAvailableMultisamplingOptions ()=0
 
virtual vc::Error _SetHDR (bool enable)=0
 
- 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 ()
 

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