| 123456789101112131415161718192021222324252627282930313233343536 |
- #pragma once
- #include <DX12GraphicsApi.h>
- #include <DX12Shader.h>
- #include <World3D.h>
- class CustomDX12API : public Framework::DirectX12
- {
- private:
- int* sbtChunkTextureIdBufferOffset;
- int* sbtChunkIndexBufferOffset;
- int* sbtChunkDataBufferOffset;
- int* sbtSimpleBlocksTextureIdBufferOffset;
- int* sbtSimpleBlocksIndexBufferOffset;
- int* sbtSimpleBlocksVertexDataBufferOffset;
- int* sbtSimpleBlocksIndexOffsetBufferOffset;
- Framework::DX12ShaderHitGroup* chunkHitGroup;
- Framework::DX12ShaderHitGroup* simpleBlocksHitGroup;
- public:
- CustomDX12API();
- ~CustomDX12API();
- void initializePipeline() override;
- void initializeGlobalDescriptorHeap() override;
- void fillShaderBindingTable(
- Framework::DX12ShaderBindingTable* zShaderBindingTable,
- Framework::Model3D* zModel,
- int objectIndex,
- const Framework::DX12BLAS* zBLAS,
- int& lastHitGroupIndex) override;
- void renderWorld(Framework::World3D* zWorld,
- Framework::DX12TLAS* zTLAS,
- Framework::DX12ShaderBindingTable* zSBT,
- int& objectIndex) override;
- };
|