CmD3D11HardwareBufferManager.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include "CmD3D11Prerequisites.h"
  3. #include "CmHardwareBufferManager.h"
  4. namespace CamelotFramework
  5. {
  6. class CM_D3D11_EXPORT D3D11HardwareBufferManager : public HardwareBufferManager
  7. {
  8. public:
  9. D3D11HardwareBufferManager(D3D11Device& device);
  10. ~D3D11HardwareBufferManager();
  11. protected:
  12. D3D11Device& mDevice;
  13. /**
  14. * @copydoc HardwareBufferManager::createVertexBufferImpl
  15. */
  16. VertexBufferPtr createVertexBufferImpl(UINT32 vertexSize, UINT32 numVerts, GpuBufferUsage usage, bool streamOut = false);
  17. /**
  18. * @copydoc HardwareBufferManager::createIndexBufferImpl
  19. */
  20. IndexBufferPtr createIndexBufferImpl(IndexBuffer::IndexType itype, UINT32 numIndexes, GpuBufferUsage usage);
  21. /** @copydoc HardwareBufferManager::createGpuParamBlockBufferImpl */
  22. GpuParamBlockBufferPtr createGpuParamBlockBufferImpl();
  23. /**
  24. * @copydoc HardwareBufferManager::createGenericBufferImpl
  25. *
  26. * DirectX 9 does not support generic buffers so this method will return a dummy instance.
  27. */
  28. GpuBufferPtr createGpuBufferImpl(UINT32 elementCount, UINT32 elementSize,
  29. GpuBufferType type, GpuBufferUsage usage, bool randomGpuWrite = false, bool useCounter = false);
  30. };
  31. }