|
Foundation
|
Classes | |
| struct | PushConstant |
Private Member Functions | |
| void | OnRendererSetup () override |
| Set up the renderer by creating passes, resources, and other configurations. | |
Additional Inherited Members | |
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 () |
Static Public Member Functions inherited from Foundation::Native::NativeApplication | |
| static NativeWindow | CreateNativeWindow (uint32_t width, uint32_t height, const char *title) |
| Creates a window with the specified width, height, and title. | |
Protected Member Functions inherited from Foundation::Rendering::RenderApplication | |
| virtual void | OnDeviceSetup () |
| Actions to take after device specific resources has been set up. | |
| virtual void | OnBeforeFrame () |
| Action to take before each frame is executed. | |
| virtual void | OnAfterFrame () |
| Action to take after each frame is executed. | |
| virtual void | OnRendererPostSetup () |
| Action to take after the renderer has been set up. | |
| virtual void | OnApplicationTick () |
| Action to take on every application tick. | |
Protected Attributes inherited from Foundation::Rendering::RenderApplication | |
| ApplicationInitDesc | mDesc |
| DefaultAllocator | mAlloc |
| DefaultAllocator | mAllocRenderer |
| Native::NativeWindow | mWindow |
| UniquePtr< RHIApplication > | mRHI |
| RHIApplicationScopedObjectHandle< RHIDevice > | mDevice |
| RHIDeviceScopedObjectHandle< RHISwapchain > | mSwapchain |
| UniquePtr< Renderer > | mRenderer |
| FrameTiming | mTiming {} |
| Async::Thread | mRenderThread |
| Async::Condition | mRenderFrame |
| Async::Mutex | mRenderMutex |
| bool | mRenderThreadReset {false} |
| bool | mRenderThreadStarted {false} |
| bool | mAppShouldClose {false} |
|
inlineoverrideprivatevirtual |
Set up the renderer by creating passes, resources, and other configurations.
Implements Foundation::Rendering::RenderApplication.