BsD3D11HardwareBufferManager.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include "BsD3D11Prerequisites.h"
  3. #include "BsHardwareBufferManager.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Handles creation of DirectX 11 hardware buffers.
  8. */
  9. class BS_D3D11_EXPORT D3D11HardwareBufferManager : public HardwareBufferManager
  10. {
  11. public:
  12. D3D11HardwareBufferManager(D3D11Device& device);
  13. ~D3D11HardwareBufferManager();
  14. protected:
  15. /**
  16. * @copydoc HardwareBufferManager::createVertexBufferImpl
  17. */
  18. VertexBufferPtr createVertexBufferImpl(UINT32 vertexSize, UINT32 numVerts, GpuBufferUsage usage, bool streamOut = false);
  19. /**
  20. * @copydoc HardwareBufferManager::createIndexBufferImpl
  21. */
  22. IndexBufferPtr createIndexBufferImpl(IndexBuffer::IndexType itype, UINT32 numIndexes, GpuBufferUsage usage);
  23. /**
  24. * @copydoc HardwareBufferManager::createGpuParamBlockBufferImpl
  25. */
  26. GpuParamBlockBufferPtr createGpuParamBlockBufferImpl();
  27. /**
  28. * @copydoc HardwareBufferManager::createGenericBufferImpl
  29. */
  30. GpuBufferPtr createGpuBufferImpl(UINT32 elementCount, UINT32 elementSize,
  31. GpuBufferType type, GpuBufferUsage usage, bool randomGpuWrite = false, bool useCounter = false);
  32. D3D11Device& mDevice;
  33. };
  34. }