CmD3D11GpuBufferView.h 660 B

1234567891011121314151617181920212223
  1. #pragma once
  2. #include "CmD3D11Prerequisites.h"
  3. #include "CmGpuBufferView.h"
  4. namespace CamelotFramework
  5. {
  6. class CM_D3D11_EXPORT D3D11GpuBufferView : public GpuBufferView
  7. {
  8. public:
  9. D3D11GpuBufferView();
  10. virtual ~D3D11GpuBufferView();
  11. void initialize(GpuBufferPtr buffer, GPU_BUFFER_DESC& desc);
  12. private:
  13. ID3D11ShaderResourceView* mSRV;
  14. ID3D11UnorderedAccessView* mUAV;
  15. ID3D11ShaderResourceView* createSRV(D3D11GpuBuffer* buffer, UINT32 firstElement, UINT32 elementWidth, UINT32 numElements);
  16. ID3D11UnorderedAccessView* createUAV(D3D11GpuBuffer* buffer, UINT32 firstElement, UINT32 numElements, bool useCounter);
  17. };
  18. }