#pragma once #include #include #include namespace TEN::Renderer { using Microsoft::WRL::ComPtr; using std::array; using std::vector; class RenderTargetCubeArray { private: static constexpr D3D11_VIEWPORT CreateViewport(size_t resolution) { return { 0, 0, static_cast(resolution), static_cast(resolution), 0, 1 }; } public: size_t numCubes; size_t resolution; D3D11_VIEWPORT viewport; vector, 6>> RenderTargetView; ComPtr ShaderResourceView; ComPtr Texture; vector, 6>> DepthStencilView; ComPtr DepthStencilTexture; RenderTargetCubeArray(); RenderTargetCubeArray(ID3D11Device* device, size_t resolution,size_t arraySize, DXGI_FORMAT format, DXGI_FORMAT depthFormat = DXGI_FORMAT_D32_FLOAT); }; }