CmGLMultiRenderTexture.h 814 B

1234567891011121314151617181920212223242526272829
  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. void destroy_internal();
  20. private:
  21. GLFrameBufferObject* mFB;
  22. };
  23. }