DX12BLAS.h 755 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "ReferenceCounter.h"
  3. struct ID3D12Device5;
  4. struct D3D12_RAYTRACING_GEOMETRY_DESC;
  5. namespace Framework
  6. {
  7. class DX12Buffer;
  8. class DX12DirectCommandQueue;
  9. class DX12BLAS : public ReferenceCounter
  10. {
  11. private:
  12. DX12Buffer* scratchBuffer;
  13. DX12Buffer* resultBuffer;
  14. ID3D12Device5* zDevice;
  15. DX12DirectCommandQueue* zDirectQueue;
  16. D3D12_RAYTRACING_GEOMETRY_DESC* geometryDesc;
  17. public:
  18. DX12BLAS(ID3D12Device5* zDevice, DX12DirectCommandQueue* zDirectQueue);
  19. ~DX12BLAS();
  20. void build(DX12Buffer* vertexBuffer, DX12Buffer* indexBuffer);
  21. DX12Buffer* zScratchBuffer() const;
  22. DX12Buffer* zResultBuffer() const;
  23. };
  24. } // namespace Framework