|
Foundation
|
Public Member Functions | |
| ~MipGenerationApp () override | |
| void | OnDeviceSetup () override |
| Actions to take after device specific resources has been set up. | |
| void | OnRendererSetup () override |
| Set up the renderer by creating passes, resources, and other configurations. | |
| void | OnRendererPostSetup () override |
| Action to take after the renderer has been set up. | |
| void | OnBeforeFrame () override |
| Action to take before each frame is executed. | |
Public Member Functions inherited from Foundation::Rendering::RenderApplication | |
| template<typename Backend , typename... Args> | |
| void | Initialize (ApplicationInitDesc const &desc={}, Args &&... args) |
| Initialize the application with the specified RHI backend. | |
| RHIExtent2D | GetFramebufferSize () const |
| Retrieve the framebuffer size of the current window. | |
| FrameTiming | GetTiming () const |
| Retrieve the timing information of the last frame. | |
| Renderer * | GetRenderer () const |
| Retrieve the underlying Renderer instance. | |
| RHISwapchain * | GetSwapchain () const |
| Retrieve the current RHISwapchain instance. | |
| Native::NativeWindow * | GetNativeWindow () |
| Retrieve the current NativeWindow instance. | |
| Allocator * | GetAllocator () |
| Retrieve the allocator used for general application allocations. | |
| Allocator * | GetRendererAllocator () |
| Retrieve the allocator used for renderer allocations. | |
| void | RunForever () |
| Start the Render thread and run the application loop indefinitely, until the window is closed or the application is exited. | |
| void | WaitForFrame () |
| Wait for the render thread to start, or the next frame to be rendered. | |
| void | ResetRendererOnNextFrame () |
| Reset the renderer on the next frame, calling OnRendererSetup internally. | |
| void | Shutdown () |
| Flag the application to exit. | |
Public Member Functions inherited from Foundation::Native::NativeApplication | |
| template<typename T = float> | |
| T | GetApplicationTime () const |
| Returns a high-resolution time in seconds since the application started. | |
| size_t | GetApplicationCounter () const |
| Returns a high-resolution time in nanoseconds since the application started. | |
| NativeApplication () | |
| virtual | ~NativeApplication () |
Public Attributes | |
| UniquePtr< TexturePool > | mTexturePool |
| TexturePoolHandle | mSampleImage {kInvalidTexturePoolHandle} |
| ResourceHandle | mRenderedSRV {kInvalidHandle} |
| float | mBlur = 1.0f |
| ImTextureID | mRenderedImageID {0} |
|
inlineoverride |
|
inlineoverridevirtual |
Action to take before each frame is executed.
This is run on the Render thread.
This is invoked before the renderer executes the passes, but after the current frame is acquired from the swapchain.
Implementation may leave this empty if no action is needed.
Reimplemented from Foundation::Rendering::RenderApplication.
|
inlineoverridevirtual |
Actions to take after device specific resources has been set up.
This is run on the main thread, i.e. the calling thread of Initialize(), after the device and swapchain is created, but before the Renderer is created.
Implementation may leave this empty if no action is needed.
Reimplemented from Foundation::Rendering::RenderApplication.
|
inlineoverridevirtual |
Action to take after the renderer has been set up.
This is run on the Render thread, immediately after OnRendererSetup has been called, and before the first frame is rendered.
Implementation may leave this empty if no action is needed.
Reimplemented from Foundation::Rendering::RenderApplication.
|
inlineoverridevirtual |
Set up the renderer by creating passes, resources, and other configurations.
Implements Foundation::Rendering::RenderApplication.
| float Examples::MipGenerationApp::mBlur = 1.0f |
| ImTextureID Examples::MipGenerationApp::mRenderedImageID {0} |
| ResourceHandle Examples::MipGenerationApp::mRenderedSRV {kInvalidHandle} |
| TexturePoolHandle Examples::MipGenerationApp::mSampleImage {kInvalidTexturePoolHandle} |
| UniquePtr<TexturePool> Examples::MipGenerationApp::mTexturePool |