CFBO.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include "WallpaperEngine/Core/Objects/Effects/CFBO.h"
  3. #include "WallpaperEngine/Core/Objects/CImage.h"
  4. #include "WallpaperEngine/Assets/ITexture.h"
  5. using namespace WallpaperEngine::Assets;
  6. namespace WallpaperEngine::Render
  7. {
  8. class CFBO : public ITexture
  9. {
  10. public:
  11. CFBO (std::string name, ITexture::TextureFormat format, float scale, uint32_t realWidth, uint32_t realHeight, uint32_t textureWidth, uint32_t textureHeight);
  12. const std::string& getName () const;
  13. const float& getScale () const;
  14. const ITexture::TextureFormat getFormat () const override;
  15. GLuint getFramebuffer () const;
  16. GLuint getDepthbuffer () const;
  17. const GLuint getTextureID () const override;
  18. const uint32_t getTextureWidth () const override;
  19. const uint32_t getTextureHeight () const override;
  20. const uint32_t getRealWidth () const override;
  21. const uint32_t getRealHeight () const override;
  22. const glm::vec4* getResolution () const override;
  23. private:
  24. GLuint m_framebuffer;
  25. GLuint m_depthbuffer;
  26. GLuint m_texture;
  27. glm::vec4 m_resolution;
  28. float m_scale;
  29. std::string m_name;
  30. ITexture::TextureFormat m_format;
  31. };
  32. };