5 #include <tbb\concurrent_unordered_set.h> 7 #include <ModelManager/Model.h> 20 static void EraseAll() noexcept;
22 static Model& LoadModel(
const char* modelFilename,
23 ID3D12GraphicsCommandList& commandList,
24 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadVertexBuffer,
25 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadIndexBuffer) noexcept;
28 static Model& CreateBox(
const float width,
31 const std::uint32_t numSubdivisions,
32 ID3D12GraphicsCommandList& commandList,
33 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadVertexBuffer,
34 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadIndexBuffer) noexcept;
37 static Model& CreateSphere(
const float radius,
38 const std::uint32_t sliceCount,
39 const std::uint32_t stackCount,
40 ID3D12GraphicsCommandList& commandList,
41 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadVertexBuffer,
42 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadIndexBuffer) noexcept;
45 static Model& CreateGeosphere(
const float radius,
46 const std::uint32_t numSubdivisions,
47 ID3D12GraphicsCommandList& commandList,
48 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadVertexBuffer,
49 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadIndexBuffer) noexcept;
52 static Model& CreateCylinder(
const float bottomRadius,
53 const float topRadius,
55 const std::uint32_t sliceCount,
56 const std::uint32_t stackCount,
57 ID3D12GraphicsCommandList& commandList,
58 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadVertexBuffer,
59 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadIndexBuffer) noexcept;
63 static Model& CreateGrid(
const float width,
65 const std::uint32_t rows,
66 const std::uint32_t columns,
67 ID3D12GraphicsCommandList& commandList,
68 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadVertexBuffer,
69 Microsoft::WRL::ComPtr<ID3D12Resource>& uploadIndexBuffer) noexcept;
75 static std::mutex mMutex;
Definition: ModelManager.h:11
Definition: concurrent_unordered_set.h:58