BsD3D9HardwareBufferManager.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #pragma once
  2. #include "BsD3D9Prerequisites.h"
  3. #include "BsHardwareBufferManager.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Manages creation of DX9 hardware buffers.
  8. */
  9. class BS_D3D9_EXPORT D3D9HardwareBufferCoreManager : public HardwareBufferCoreManager
  10. {
  11. protected:
  12. /**
  13. * @copydoc HardwareBufferCoreManager::createVertexBufferInternal
  14. */
  15. SPtr<VertexBufferCore> createVertexBufferInternal(UINT32 vertexSize, UINT32 numVerts, GpuBufferUsage usage, bool streamOut = false) override;
  16. /**
  17. * @copydoc HardwareBufferCoreManager::createIndexBufferInternal
  18. */
  19. SPtr<IndexBufferCore> createIndexBufferInternal(IndexType itype, UINT32 numIndexes, GpuBufferUsage usage) override;
  20. /**
  21. * @copydoc HardwareBufferCoreManager::createVertexDeclarationInternal
  22. */
  23. SPtr<VertexDeclarationCore> createVertexDeclarationInternal(const List<VertexElement>& elements) override;
  24. /**
  25. * @copydoc HardwareBufferCoreManager::createGpuParamBlockBufferInternal
  26. */
  27. SPtr<GpuParamBlockBufferCore> createGpuParamBlockBufferInternal(UINT32 size, GpuParamBlockUsage usage = GPBU_DYNAMIC) override;
  28. /**
  29. * @copydoc HardwareBufferCoreManager::createGenericBufferInternal
  30. */
  31. SPtr<GpuBufferCore> createGpuBufferInternal(UINT32 elementCount, UINT32 elementSize,
  32. GpuBufferType type, GpuBufferUsage usage, bool randomGpuWrite = false, bool useCounter = false) override;
  33. };
  34. }