Extra2D/include/renderer/rhi/rhi_framebuffer.h

77 lines
1.5 KiB
C
Raw Normal View History

#pragma once
#include <renderer/rhi/rhi_types.h>
namespace extra2d {
/**
* @brief RHI
*
* GPU (FBO)
*/
class RHIFramebuffer {
public:
virtual ~RHIFramebuffer() = default;
/**
* @brief
*/
virtual void bind() = 0;
/**
* @brief
*/
virtual void unbind() = 0;
/**
* @brief
* @return
*/
virtual uint32_t getColorAttachmentCount() const = 0;
/**
* @brief
* @param index
* @return
*/
virtual TextureHandle getColorAttachment(uint32_t index) const = 0;
/**
* @brief /
* @return
*/
virtual TextureHandle getDepthStencilAttachment() const = 0;
/**
* @brief
* @return
*/
virtual uint32_t getWidth() const = 0;
/**
* @brief
* @return
*/
virtual uint32_t getHeight() const = 0;
/**
* @brief /
* @return /
*/
virtual bool hasDepthStencil() const = 0;
/**
* @brief
* @return
*/
virtual bool isValid() const = 0;
/**
* @brief
* @return
*/
virtual bool isDefault() const = 0;
};
} // namespace extra2d