virtual void setPresentFinshSemaphore(RHI::Semaphore *semaphore)=0
virtual ImageRenderTarget * target() const =0
获取交换链对应的target
virtual uint32_t getImageCount() const =0
void clearRenderFinshSemaphores()
uint32_t m_width
创建交换链后得到的实际大小
void nativeHandle(void *handle)
传递 surface
void * m_nativeHandle
交换链对应的surface
void addRenderFinshSemaphore(RHI::Semaphore *semaphore)
渲染完毕以后发出的 信号,是present命令所必须的
virtual RHI::Semaphore * getImageAvailableSemaphore()=0
用于渲染命令同步的,获取到 图像,gpu可以执行渲染命令
virtual void needRecreate(int width, int height)=0
用于窗口通知需要 recreate
uint32_t m_height
创建交换链后得到的实际大小
bool m_hasRecreatedInThisFrame
void size(int width, int height)
void clearRenderFinshFences()
virtual void present()=0
提交present命令
void addRenderFinshFence(RHI::Fence *fence)
virtual FCT::Image * image() const =0
bool hasRecreatedInThisFrame() const
在syncGraph里 的判断是否要recreate节点是否进行了重建交换链, 可持续一帧
virtual Samples getSampleCount() const =0
virtual void enableDepthBuffer(Format format)=0
启用深度模板 缓存
std::vector< RHI::Semaphore * > m_renderFinshSemaphores
virtual Format getFormat() const =0
std::vector< RHI::Fence * > m_renderFinshFences
virtual bool acquireFirstImage()=0
virtual ~Swapchain()=default
virtual Samples getSamples() const =0