BsD3D9MultiRenderTexture.h 863 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include "BsD3D9Prerequisites.h"
  3. #include "BsMultiRenderTexture.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief DirectX 9 implementation of a render texture with multiple color surfaces.
  8. */
  9. class BS_D3D9_EXPORT D3D9MultiRenderTexture : public MultiRenderTexture
  10. {
  11. public:
  12. virtual ~D3D9MultiRenderTexture();
  13. /**
  14. * @copydoc MultiRenderTexture::requiresTextureFlipping
  15. */
  16. bool requiresTextureFlipping() const { return false; }
  17. /**
  18. * @copydoc MultiRenderTexture::getCustomAttribute
  19. */
  20. void getCustomAttribute(const String& name, void* pData) const;
  21. protected:
  22. friend class D3D9TextureManager;
  23. D3D9MultiRenderTexture();
  24. /**
  25. * @copydoc MultiRenderTexture::initialize_internal().
  26. */
  27. void initialize_internal();
  28. Vector<IDirect3DSurface9*> mDX9ColorSurfaces;
  29. IDirect3DSurface9* mDX9DepthStencilSurface;
  30. };
  31. }