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

Application base providing bare minimum of functionality (app lifetime, event handling, vulkan instance management) More...

#include <foray_minimalappbase.hpp>

Public Member Functions

 MinimalAppBase (bool printStateChanges=true)
 
virtual ~MinimalAppBase ()=default
 
int32_t Run ()
 Runs through the entire lifetime of the app.
 

Protected Member Functions

virtual void Init ()
 Inits the applications basic vulkan objects.
 
virtual void PollEvents ()
 Polls and distributes events from the SDL subsystem.
 
virtual void Destroy ()
 Destroys the vulkan instance.
 
virtual void ApiBeforeInstanceCreate (vkb::InstanceBuilder &instanceBuilder)
 Override this method to alter vulkan instance creation parameters via the instance builder.
 
virtual bool ApiCanRenderNextFrame ()
 Override this method to init your application.
 
virtual void ApiRender (RenderLoop::RenderInfo &renderInfo)
 Override this method to render your application.
 
virtual void ApiOnEvent (const osi::Event *event)
 Override this method to react to events.
 
virtual void ApiDestroy ()
 Override this method to cleanup your application.
 

Protected Attributes

RenderLoop mRenderLoop
 
osi::OsManager mOsManager
 
VulkanInstance mInstance
 
core::Context mContext
 

Detailed Description

Application base providing bare minimum of functionality (app lifetime, event handling, vulkan instance management)

Constructor & Destructor Documentation

◆ MinimalAppBase()

foray::base::MinimalAppBase::MinimalAppBase ( bool  printStateChanges = true)

◆ ~MinimalAppBase()

virtual foray::base::MinimalAppBase::~MinimalAppBase ( )
virtualdefault

Member Function Documentation

◆ ApiBeforeInstanceCreate()

virtual void foray::base::MinimalAppBase::ApiBeforeInstanceCreate ( vkb::InstanceBuilder &  instanceBuilder)
inlineprotectedvirtual

Override this method to alter vulkan instance creation parameters via the instance builder.

◆ ApiCanRenderNextFrame()

virtual bool foray::base::MinimalAppBase::ApiCanRenderNextFrame ( )
inlineprotectedvirtual

Override this method to init your application.

◆ ApiDestroy()

virtual void foray::base::MinimalAppBase::ApiDestroy ( )
inlineprotectedvirtual

Override this method to cleanup your application.

◆ ApiOnEvent()

virtual void foray::base::MinimalAppBase::ApiOnEvent ( const osi::Event event)
inlineprotectedvirtual

Override this method to react to events.

◆ ApiRender()

virtual void foray::base::MinimalAppBase::ApiRender ( RenderLoop::RenderInfo renderInfo)
inlineprotectedvirtual

Override this method to render your application.

◆ Destroy()

virtual void foray::base::MinimalAppBase::Destroy ( )
protectedvirtual

Destroys the vulkan instance.

◆ Init()

virtual void foray::base::MinimalAppBase::Init ( )
protectedvirtual

Inits the applications basic vulkan objects.

◆ PollEvents()

virtual void foray::base::MinimalAppBase::PollEvents ( )
protectedvirtual

Polls and distributes events from the SDL subsystem.

◆ Run()

int32_t foray::base::MinimalAppBase::Run ( )

Runs through the entire lifetime of the app.

Member Data Documentation

◆ mContext

core::Context foray::base::MinimalAppBase::mContext
protected

◆ mInstance

VulkanInstance foray::base::MinimalAppBase::mInstance
protected

◆ mOsManager

osi::OsManager foray::base::MinimalAppBase::mOsManager
protected

◆ mRenderLoop

RenderLoop foray::base::MinimalAppBase::mRenderLoop
protected

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