CmGLMultiRenderTexture.h 784 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include "CmGLPrerequisites.h"
  3. #include "CmMultiRenderTexture.h"
  4. #include "CmGLFrameBufferObject.h"
  5. namespace CamelotEngine
  6. {
  7. class CM_RSGL_EXPORT GLMultiRenderTexture : public MultiRenderTexture
  8. {
  9. public:
  10. virtual ~GLMultiRenderTexture();
  11. bool requiresTextureFlipping() const { return true; }
  12. void getCustomAttribute(const String& name, void* pData);
  13. protected:
  14. friend class GLTextureManager;
  15. GLMultiRenderTexture();
  16. void initialize();
  17. void setColorSurfaceImpl(UINT32 surfaceIdx, TexturePtr texture, UINT32 face = 0, UINT32 numFaces = 0, UINT32 mipLevel = 0);
  18. void setDepthStencilImpl(TexturePtr depthStencilSurface, UINT32 face = 0, UINT32 numFaces = 1, UINT32 mipLevel = 0);
  19. private:
  20. GLFrameBufferObject* mFB;
  21. };
  22. }