2
0

BsD3D9HardwareBufferManager.h 1.7 KB

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