2020-06-30 10:25:41 +02:00
|
|
|
#pragma once
|
|
|
|
#include <wrl/client.h>
|
|
|
|
#include <d3d11.h>
|
2021-08-30 18:03:21 +03:00
|
|
|
namespace TEN::Renderer {
|
2020-06-30 10:25:41 +02:00
|
|
|
using Microsoft::WRL::ComPtr;
|
|
|
|
using std::array;
|
|
|
|
class RenderTargetCube {
|
|
|
|
public:
|
2020-07-01 08:46:07 +02:00
|
|
|
static constexpr Vector3 forwardVectors[6] = {
|
2020-07-01 16:49:53 +02:00
|
|
|
//+X (right)
|
2020-07-01 08:46:07 +02:00
|
|
|
Vector3(-1,0,0),
|
2020-07-01 16:49:53 +02:00
|
|
|
//-X (left)
|
2020-07-01 08:46:07 +02:00
|
|
|
Vector3(1,0,0),
|
2020-07-01 16:49:53 +02:00
|
|
|
//-Y (up)
|
2020-07-01 08:46:07 +02:00
|
|
|
Vector3(0,-1,0),
|
2020-07-01 16:49:53 +02:00
|
|
|
//+Y (down)
|
2020-07-01 08:46:07 +02:00
|
|
|
Vector3(0,1,0),
|
2020-07-01 16:49:53 +02:00
|
|
|
//+Z (forward)
|
2020-07-01 08:46:07 +02:00
|
|
|
Vector3(0,0,-1),
|
2020-07-01 16:49:53 +02:00
|
|
|
//-Z (backward)
|
2020-07-01 08:46:07 +02:00
|
|
|
Vector3(0,0,1),
|
|
|
|
};
|
|
|
|
static constexpr Vector3 upVectors[6] = {
|
2020-07-01 16:49:53 +02:00
|
|
|
Vector3(0,-1,0),
|
|
|
|
Vector3(0,-1,0),
|
2020-07-01 08:46:07 +02:00
|
|
|
Vector3(0,0,1),
|
2020-07-01 16:49:53 +02:00
|
|
|
Vector3(0,0,-1),
|
|
|
|
Vector3(0,-1,0),
|
|
|
|
Vector3(0,-1,0),
|
2020-07-01 08:46:07 +02:00
|
|
|
};
|
2020-06-30 10:25:41 +02:00
|
|
|
array<ComPtr<ID3D11RenderTargetView>,6> RenderTargetView;
|
|
|
|
ComPtr<ID3D11ShaderResourceView> ShaderResourceView;
|
|
|
|
ComPtr<ID3D11Texture2D> Texture;
|
2020-07-01 08:46:07 +02:00
|
|
|
array<ComPtr<ID3D11DepthStencilView>,6> DepthStencilView;
|
2020-06-30 10:25:41 +02:00
|
|
|
ComPtr<ID3D11Texture2D> DepthStencilTexture;
|
2020-07-01 08:46:07 +02:00
|
|
|
int resolution;
|
2020-07-01 16:49:53 +02:00
|
|
|
D3D11_VIEWPORT viewport;
|
|
|
|
RenderTargetCube() : resolution(0), viewport({}) {};
|
2020-07-26 16:15:35 +02:00
|
|
|
RenderTargetCube(ID3D11Device* device, int resolution, DXGI_FORMAT format, DXGI_FORMAT depthFormat = DXGI_FORMAT_D32_FLOAT);
|
2020-06-30 10:25:41 +02:00
|
|
|
};
|
|
|
|
}
|