CmGLMultiRenderTexture.h 966 B

123456789101112131415161718192021222324252627282930313233343536
  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 setColorSurfaceImpl(UINT32 surfaceIdx, TexturePtr texture, UINT32 face = 0, UINT32 numFaces = 0, UINT32 mipLevel = 0);
  17. void setDepthStencilImpl(TexturePtr depthStencilSurface, UINT32 face = 0, UINT32 numFaces = 1, UINT32 mipLevel = 0);
  18. /**
  19. * @copydoc MultiRenderTexture::initialize_internal().
  20. */
  21. void initialize_internal();
  22. /**
  23. * @copydoc MultiRenderTexture::destroy_internal().
  24. */
  25. void destroy_internal();
  26. private:
  27. GLFrameBufferObject* mFB;
  28. };
  29. }