#include #include #include #include #ifndef __D3D12_IMPL_H__ #define __D3D12_IMPL_H__ namespace impl { namespace d3d12 { void init(); } } #endif // __D3D12_IMPL_H__ typedef long(__fastcall* PresentD3D12) (IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags); extern PresentD3D12 oPresentD3D12; extern void(*oExecuteCommandListsD3D12)(ID3D12CommandQueue*, UINT, ID3D12CommandList*); typedef HRESULT(__stdcall* tResizeBuffers)(IDXGISwapChain* pThis, UINT BufferCount, UINT Width, UINT Height, DXGI_FORMAT NewFormat, UINT SwapChainFlags); extern tResizeBuffers oResizeBuffers; extern tResizeBuffers oResizeBuffers; typedef void(__fastcall* DrawInstancedD3D12)(ID3D12GraphicsCommandList* dCommandList, UINT VertexCountPerInstance, UINT InstanceCount, UINT StartVertexLocation, UINT StartInstanceLocation); extern DrawInstancedD3D12 oDrawInstancedD3D12; typedef void(__fastcall* DrawIndexedInstancedD3D12)(ID3D12GraphicsCommandList* dCommandList, UINT IndexCount, UINT InstanceCount, UINT StartIndex, INT BaseVertex); extern DrawIndexedInstancedD3D12 oDrawIndexedInstancedD3D12;