f1ced24f05
* multi swapchain draft * uwp fix * swapchain resize handling * swapchain buffercount * vsync toggle * tests fix * update * everything removed from graphicsdevice regarding global screen params, engine refactor * added GetSwapChainTexture() function to graphics device; screenshot() now requires swapChain * linux fix: vulkan device needs window handle for instance creation * refactor * removed unused includes * shader refactor and lensflare fix * swapchain clearcolor and other refactors * vulkan: no vector allocation in submit * tests fix * refactors * lens flare canvas size fix * gui refactor for canvas support * refactors * removed global canvas state * msaa fix * fixes * refactor to minimize interface changes * gui changes * checkbox fix * gui fixes * fixes * input system will accept window handle * editor fixes * refactor and removed resolution related system events * small editor update * refactor: renderpath inherits from canvas * fixed tests duh * image refactor * image fix * removed every using namespace std * pushconstant fix * editor: object picking only when necessary * removed include * dx12: copy fence waiting performed on CPU * dx12 copyallocator update * vulkan: copy allocator with timeline semaphores * missing include * dx12 copy allocator update * refactor * editor update * vulkan copy allocator fix * dx12 update * vulkan, dx12 fixes * version bump * vsync event helper * documentation update * updated vulkan, dx12, dxc
40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
#pragma once
|
|
#include "CommonInclude.h"
|
|
#include "wiGraphicsDevice.h"
|
|
#include "wiCanvas.h"
|
|
|
|
class RenderPath : public wiCanvas
|
|
{
|
|
private:
|
|
uint32_t layerMask = 0xFFFFFFFF;
|
|
|
|
public:
|
|
virtual ~RenderPath() = default;
|
|
|
|
// load resources in background (for example behind loading screen)
|
|
virtual void Load() {}
|
|
// called when RenderPath gets activated
|
|
virtual void Start() {}
|
|
// called when RenderPath gets deactivated (for example when switching to an other RenderPath)
|
|
virtual void Stop() {}
|
|
// executed before Update()
|
|
virtual void PreUpdate() {}
|
|
// update with fixed frequency
|
|
virtual void FixedUpdate() {}
|
|
// update once per frame
|
|
// dt : elapsed time since last call in seconds
|
|
virtual void Update(float dt) {}
|
|
// executed after Update()
|
|
virtual void PostUpdate() {}
|
|
// Render to layers, rendertargets, etc
|
|
// This will be rendered offscreen
|
|
virtual void Render() const {}
|
|
// Compose the rendered layers (for example blend the layers together as Images)
|
|
// This will be rendered to the backbuffer
|
|
virtual void Compose(wiGraphics::CommandList cmd) const {}
|
|
|
|
inline uint32_t getLayerMask() const { return layerMask; }
|
|
inline void setlayerMask(uint32_t value) { layerMask = value; }
|
|
};
|
|
|