CustomDX12API.h 870 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include <DX12GraphicsApi.h>
  3. #include <DX12Shader.h>
  4. #include <World3D.h>
  5. class CustomDX12API : public Framework::DirectX12
  6. {
  7. private:
  8. int* sbtChunkTextureIdBufferOffset;
  9. int* sbtChunkIndexBufferOffset;
  10. int* sbtChunkDataBufferOffset;
  11. Framework::DX12ShaderHitGroup* chunkHitGroup;
  12. public:
  13. CustomDX12API();
  14. ~CustomDX12API();
  15. void initializePipeline() override;
  16. void initializeGlobalDescriptorHeap() override;
  17. void fillShaderBindingTable(
  18. Framework::DX12ShaderBindingTable* zShaderBindingTable,
  19. Framework::Model3D* zModel,
  20. int objectIndex,
  21. const Framework::DX12BLAS* zBLAS,
  22. int& lastHitGroupIndex) override;
  23. void renderWorld(Framework::World3D* zWorld,
  24. Framework::DX12TLAS* zTLAS,
  25. Framework::DX12ShaderBindingTable* zSBT,
  26. int& objectIndex) override;
  27. };